automatically generated case workbenches: a preliminary ... - CiteSeerX

3 downloads 2541 Views 2MB Size Report
Key Words. CASE Workbench, software development, visual modelling environ- .... diagram modelling the customized software process. In ..... disadvantages.
International Journal of Computers and Applications, Vol. 31, No. 3, 2009

AUTOMATICALLY GENERATED CASE WORKBENCHES: A PRELIMINARY CASE STUDY V. Deufemia,∗ C. Gravino,∗ and M. Risi∗

ated by using the visual-oriented meta-CASE presented in [4]. This tool profitably exploits UML metamodelling and process modelling to visually specify the target workbench, and adopts a ‘compiler–compiler’ approach for the generation of visual modelling environments (VMEs) composing the target workbench. The generated workbenches consist of a visual environment which includes knowledge about software process and mechanisms to check the consistency between different models. To assess and analyse the main features of the generated workbenches, we focus on a workbench supporting Conallen’s approach for the analysis and design of web applications [5]. In particular, we first describe the workbench automatically generated with our meta-CASE and then we present the results of a survey carried out to collect information on the user experience with the generated workbench. The subjects participating in the study were seven Computer Science Master students of University of Salerno working on their Laurea thesis. The rest of the paper is organized as follows. Section 2 provides an outline of the software architecture of the metaCASE workbench together with the process of workbench specification and generation. Section 3 presents the case study we have carried out. Finally, the related work and conclusions are provided in Section 4.

Abstract In this article we analyse a workbench for the analysis and design of web applications automatically generated from a visual-oriented meta-CASE. This tool suitably exploits UML metamodelling and process modelling to visually specify the target workbench, and employs visual language generation systems for their deployment. The generated workbench consists of a visual environment which includes knowledge about software process and mechanisms to check the consistency between the developed models.

We present the

results of a preliminary case study we have carried out to collect information on the user experience with the generated workbench.

Key Words CASE Workbench, software development, visual modelling environments, usability study

1. Introduction CASE tools are recognized as useful means for supporting designers in the different phases of the software development. Of special interest are workbenches and environments, which are able to support a whole process phase and a considerable part of the software process, respectively [1]. However, one of the main factors preventing their large employment derives from their method inflexibility [2]. Indeed, software development organizations dynamically change the adopted methodologies by tailoring methods to their own requirements. Nevertheless, modifying supporting tools is usually impossible or too expensive. In the recent years, the use of meta-CASE technology for generating CASE tools has been proposed as a solution to this problem [3]. However, the development of metaCASE systems is not easy as several complex issues should be addressed. The main difficulties are concerned with the generation of suitable modelling environments and their integration. In this paper we present the results of a preliminary case study performed to analyse the workbenches gener-

2. The Visual Oriented Meta-CASE Workbench The meta-CASE workbench introduced in [4] employs automatic verification of model consistency and visual language generation systems for constructing VMEs. The latter are suitably integrated in agreement with a process model, visually expressed through an activity diagram, to obtain the target workbench. In particular, the metaCASE workbench is developed by exploiting the VLDesk system. VLDesk is a visual environment generation system. This tool generates a visual environment specific for a visual language starting from a syntax and semantic specification of the language, based on eXtended Positional Grammars (XPGs) [6]. The VLDesk system assists the language designer by supporting him/her in the specification of the symbols, the syntax, and the semantics of the language and automatically generates a visual environment starting from



Dipartimento di Matematica e Informatica, Universit` a di Salerno, 84084, Fisciano (SA), Italy; e-mail: {deufemia, gravino, mrisi}@unisa.it (paper no. 202-2965)

173

the supplied language specification. Once the XPG has been defined, the VLDesk produces the editor and the LR-based parser of the defined visual language. Thus, the proposed approach is based on the use of grammar-based visual environment generators to build the component of the meta-CASE system meant to create the VMEs, which will compose the target workbench. In particular, the VLDesk has been configured to properly implement the different tools of the meta-CASE workbench and used to generate the process model as an activity diagram and the VMEs of the defined workbench. The different tools composing the workbench are able to share the models produced during the analysis and design by representing the diagrams with an XML sublanguage, namely GXL, in a shared repository. Moreover, consistency constraints among different diagrams are specified in terms of a rule language based on a first-order logic that has been adapted to work on GXL and checked by the xlinkit framework [7], which is able to automatically generate rule-based links and to check the consistency of XML documents. The meta-CASE workbench is composed of two main modules: MEG (Modelling language Environment Generator ) and WoG (Workbench Generator ), as shown in Fig. 1.

Figure 2. The architecture of the WoG module.

der of the system models, and it is able to verify that the created models are compliant with the guidelines defined for the considered development process. Observe that the workbench users can ignore the precedence information specified by the transition edges. As shown in Fig. 2, the main component of the WoG module is the Process Modelling Environment. It consists of the Activity Diagram Editor, which allows designers to define a process model and the WoG Compiler, which generates the specified workbenches. The constraints are defined by using the Constraint Rule Editor and are stored in the Constraint Repository. Fig. 3 shows the Process Modelling Environment with an activity diagram specifying a simple workbench consisting of the environments for UML class diagrams and data flow diagrams. When an activity is added to the diagram, a pop-up window allows designers to associate it a VME from the repository, as shown in Fig. 3, whereas when a constraint arrow is drawn the Constraint Rule Editor is activated. The bold arrow in Fig. 3, which represents a transition, indicates that a data flow diagram can be edited after the definition of a class diagram. Moreover, the presence of the dashed arrow labelled r1, which represents a constraint, shows that suitable consistency constraints must hold between class diagrams and the data flow diagrams. The dashed self-arrow labelled r2 indicates that constraints must be verified also on data flow diagram models. It is worth noting that the constraint formula is concerned with elements of the visual models expressed in terms of XPath expressions over the GXL schemas [8]. As the workbench designer could be a different individual from the language designer, the WoG module assists a workbench designer during constraint specification providing him/her with the capability of visualizing both the abstract syntax and the GXL schema of the visual languages involved in the constraint [4]. Once the workbench designer has completed the specification of the process model by enriching the activity diagram with the required consistency constraints, the compiler module of WoG parses the activity diagram by checking its syntactic correctness and by verifying the existence of the annotated VME and the correctness of the consistency rules. If this is the case, it generates the target workbench whose structure is shown in Fig. 4. In particular, the WoG compiler stores the xlinkit rules in XML files, which are kept in the Constraint Repository, and generates the components to customize the Workbench

Figure 1. The architecture of the meta-CASE workbench.

The first generates VMEs starting from a high-level specification given in terms of a UML class diagram. Such a diagram specifying the abstract syntax of the visual modelling language is automatically translated into a grammar for generating the corresponding VME [4]. The models created with the VME are stored as GXL instance graphs. The WoG creates a customized workbench by integrating the generated VMEs, in agreement with the constraints and the dependencies expressed in the activity diagram modelling the customized software process. In particular, the WoG module allows workbench designers to visually specify the target workbench through an activity diagram. This notation is able to coordinate the activities (represented by the visual environments used to perform them) through transition edges and synchronization/concurrency control symbols. Moreover, the activity diagram allows us to specify constraint rules between software models by means of dependency edges between activities. These rules can embed the knowledge of the guidelines and recommendations of the process that the workbench supports. As an example, the customized workbench is able to advise developers on the specification or174

Figure 3. An activity diagram specifying a process model. applications that has been) generated by integrating some of the VMEs generated with the MEG module and we present the results of a case study that involved seven subjects who experienced the workbench. 3.1 A Workbench for the Analysis and Design of Web Applications The Conallen’s approach for the analysis and design of web applications is based on suitable diagrammatic notations and a specific development process [5]. As for the notation, Conallen defines a UML extension by exploiting the mechanism of stereotypes, tagged values, and constraints. In particular, a stereotyped class, named server page (client page, respectively), is used to represent web pages to be processed on a server (by the client browser, respectively). Moreover, additional stereotypes have been introduced to represent other HTML elements such as forms, scripts, and so on. To generate the workbench for the analysis and design supporting Conallen’s approach, we specified the required process model providing the activity diagram as shown in Fig. 5. In particular, in the diagram, the activities are annotated by selecting from the repository the following VMEs : the use case diagram environment for the activity labelled with UCD, the analysis diagram environment for the activity labelled with AD, the analysis collaboration diagram environment for the activity labeled with ACD, the class diagram environment for the activity labeled with CD, and the design collaboration diagram environment for the activity labeled with DCD. As indicated by the initial state symbol in the process model, the use case diagram is the first model

Figure 4. The architecture of the generated workbench. Interface with the elements (visual environments and constraints) specified in the process model. Thus, the Workbench Interface of the generated workbench will display the activity diagram allowing users to visually select the required visual environment for the creation/modification of diagrams. Each visual environment allows a user to edit models and produce GXL documents, which are stored in the shared GXL Repository. The GXL documents and the corresponding constraints rules are submitted to the checker xlinkit [7] that verifies the consistency constraints and returns a diagnostic report. The Workbench Interface also drives the software designer and coordinates the use of VME by highlighting the completed activities and the ones that should be carried out. 3. The Case Study In this section, we describe a workbench (supporting Conallen’s approach for the analysis and design of web 175

Figure 5. The activity diagram defining the Conallen’s process model and the Constraint Rule Editor defining the consistency constraints associated to label r3.

Figure 6. The workbench for the analysis and design of web applications.

engineers should specify. Successively, it is possible to specify analysis diagram and collaboration diagram models, and then engineers can provide class diagram and collaboration diagram models. The dashed arrows labeled r1, . . . , r8 represent the consistency constraints to be verified on the developed models. The pop-up window in Fig. 5 shows the Constraint Rule Editor with the constraint rules associated to label r3.

Fig. 6 illustrates the workbench generated from the activity diagram depicted in Fig. 5 and an analysis collaboration diagram for a glossary web application, which we have considered for testing the workbench. The model shown in Fig. 7 violates the second rule of the inter-consistency constraints specified in r7, which involves design collaboration diagram models and class diagrams models. This rule states that “For each client page in a design collabora176

Figure 7. A diagnostic report generated by the workbench for the analysis and design of web applications.

Figure 8. A class diagram with a code template automatically generated from a server page class. tion diagram there exists a client page with the same name in the class diagram model.” Indeed, the boundary object Glossary Home in the collaboration diagram had not been defined in the class diagram model.

3.2 User Experience with the Workbench for the Analysis and Design of Web Applications: A Preliminary Case Study We have performed a case study to assess the usefulness and the usability of the workbenches generated with the metaCASE we proposed in [4]. In particular, we have carried out a survey to collect information on the preferences and reactions of some subjects who have experienced the workbench for the analysis and design of web applications described in the previous section. In the following subsections, we first present the study

Whenever the class diagram models are syntactically correct and consistent with the other diagrams, the class diagram VME generates code templates for each class of the edited diagram. As an example, Fig. 8 shows a class diagram for the glossary web application and the code template generated from the SearchGlossary server page class. 177

that each question does not influence the response to subsequent questions and they should be presented in the same order to the subjects. In our study, we have used a survey questionnaire composed of four categories: Perceived usefulness, Perceived ease of use, Perceived compatibility, and Future use intention. The questionnaire has been designed taking into account previous research in technology acceptance, such as [14], empirically studies on software developer acceptance of development methodologies [15] and development process guides [16]. The definition of Perceived usefulness, Perceived ease of use, Perceived compatibility, and Future use intention, as provided in [14, 16, 17], are reported in Table 1. The questions of the four categories are also shown in Table 1 and the subjects could specify their judgement within a range. Indeed, these questions expect closed answers according to a Likert scale [18]: from 1 (Strongly disagree ) to 5 (Strongly agree ).

context and the design of the survey as well as the users’ subjective satisfaction and then the results we have achieved. 3.2.1 The Study Context The subjects participating in the study were seven Computer Science Master students of University of Salerno working on their Laurea thesis. All the students were characterized by the same academic curriculum and have a comparable level of background. In particular the selected students had knowledge of both software (including web applications) development and software documentation. During their academic carrier, they attended, and passed, courses on software engineering, software project management, web development technologies, and advanced course on database management. All subjects had a fairly good knowledge of both UML diagrams and UML notation for the web proposed by Conallen [5]. Furthermore, during the courses of software engineering and web development technologies they also developed web applications (mainly web portals, e-commerce sites, etc.) by employing other CASE tools, such as ARGO UML, for the analysis and design phases. Even if the scientific literature has often debated on the industrial relevance of results coming from studies with students (see e.g., [9]), in the context of web development it is recognized that professional developers are usually young programmers, coming straight from University [10]. Moreover, studies involving students can be used as basis for deciding whether a tool or a methodology or a technique is worth investigating further in an industrial case study [11]. Our investigation goes in this direction. We have performed a preliminary case study with students to obtain indications and suggestions that can allow us to design further empirical study and/or case study and/or survey to be conducted with one of our industrial partners. The study has been organized in steps using the thinkaloud technique, an approach with origins in cognitive psychology [12]. All the subjects first undertook an introductory course of about 30 min on the workbench for the analysis and design of web applications and the VMEs composing it. After that, they were asked to use the workbench for 30 min without invoking any kind of tutor support. Then the subjects performed a task consisting of designing a web application. In particular, they were asked to design a set of functionalities of a web application for e-commerce (an online shop for selling books and CD) having a secure area guaranteeing a restricted access to data stored in a database.

3.2.3 Survey Results Table 2 summarizes the answers of the subjects involved in our study. This table also reports the mean values (MEAN) of the provided answers for each category of the adopted questionnaire. In the case of a typical usability study, the adoption of mean value as descriptive statistic can be considered appropriate to discover as many usability problems as possible. Thus, we have decided to adopt such a descriptive statistic. We present the feedbacks obtained by analysing the answers according to the questionnaire categories. The answers of the Perceived usefulness category show that in general the subjects find the analysed workbench useful (about 76% of the students selected Agree or Strongly agree for questions PU1–PU6). In particular, it is worth noting that all the subjects declared that using the workbench improves their productivity and the 85% of them claimed that the use of the workbench makes it easier to perform analysis and design of web applications. Furthermore, the 73% of the subjects also think that the advantages of using workbench outweigh the disadvantages. The questions of the Perceived ease of use category reveal that in general the subjects have manifested a good feeling with the workbench (about the 54% of the students selected Agree or Strongly agree and the 32.49% selected Neither agree nor disagree for questions PEU1–PEU10). Indeed, the majority of the subjects has found the activity diagram defining the process model clear and the steps to perform a task appropriate (85% of them selected Agree or Strongly agree) and all the subjects claimed that the workbench proposes clear diagnostic report. These represent important results as specific aspects of our proposal, such as the use of activity diagram for modelling the process model and the diagnostic on the assessment of the constraints, are appreciated by the subjects. Furthermore, only 14% of the subjects (i.e., 1 out of 7) think that the workbench is not easy (PEU1), is not clear and understandable (PEU2), is not easy to use (PEU4), and takes too much time from their normal duties (PEU6). Also, none of the subjects declared that the workbench is cumbersome

3.2.2 Design of the Survey Surveys can be used to collect information on the preferences and reactions of some selected subjects [13]. Typically, questionnaires are used to capture the user point of view assess aspects of usability, validity, and/or reliability of visual notations, methodologies, techniques, and tools. Questionnaires are usually structured and standardized to reduce bias. Questions should be ordered in such a way 178

Table 1 Survey Questionnaire Category Perceived usefulness

Question Construct Defined as the degree to which a PU1 person believes that using a particular system would enhance PU2 his or her job performance [14]

I find the Workbench useful to perform the analysis and design of web applications Using the Workbench improves my job performance to perform the analysis and design of web applications

PU3

Using the Workbench increases my productivity to perform the analysis and design of web applications

PU4

Using the Workbench enhances the quality of my work to perform the analysis and design of web applications

PU5

Using the Workbench makes it easier to perform the analysis and design of web applications

PU6

The advantages of using the Workbench outweighs the disadvantages

PEU1

Learning to use the Workbench was easy for me

PEU2

I think the Workbench is clear and understandable

PEU3

Using the Workbench does not require a lot of mental effort

PEU4

I find the Workbench easy to use

PEU5

The Workbench is not cumbersome to use

PEU6

Using the Workbench does not take too much time from my normal duties

PEU7

Each set of operations produces a predictable result

PEU8

The Workbench proposes clear diagnostic report

PEU9

The activity diagram defining the process model is clear

PEU10

The number of steps to perform a task is appropriate

Perceived Defined in [17] as the degree to compatibility which an innovation is perceived as being consistent with the existing values, needs, and past experience of potential adopters

PC1

The Workbench is compatible with the way I develop software

PC2

Using the Workbench is compatible with all aspects of my work

PC3

Using the Workbench fits well with the way I work

PC4

The Workbench is compatible with the way I organize my work

Future use intention

FUI1

I intend to increase my use of the Workbench for work in the future

FUI2

I intend to use the Workbench in the future for my work

FUI3

Given a choice, I would prefer not to use the Workbench in any future work

FUI4

I would like to use the Workbench in the future

Perceived ease of use

Refers to the degree to which a person believes that using a particular system would be free of effort [14]

Intention reflects the possibility that a system/methodology/ technique will be used in the future and it is defined as done in [16]

not surprising for us as this kind of tools (including many functionality and features) is seen “complex” by students having few experiences with them. However, we intend to investigate this aspect in more details in the future to verify whether it is related to some features or components of the workbenches we propose.

to use (PEU5). The majority of subjects also thought that each set of operations produces a predictable result (71% of them have selected Agree or Strongly agree for PEU7 while no one has chosen Disagree or Strongly disagree ). It is also worth noting that for the 43% of subjects the workbench requires a lot of mental effort (PEU3). This is 179

Table 2 Survey Questionnaire Results Question

Strongly Disagree (%) Neither Agree Agree (%) Strongly Disagree (%) nor Disagree (%) Agree (%)

PU1

0

0

0

57

43

PU2

0

0

43

57

0

PU3

0

0

0

86

14

PU4

0

0

57

29

14

PU5

0

14

0

71

14

PU6

0

0

29

14

57

Perceived usefulness (MEAN)

0

2.38

21.43

52.38

23.81

PEU1

0

14

57

14

14

PEU2

0

14

29

43

14

PEU3

14

29

43

14

0

PEU4

0

14

29

57

0

PEU5

0

0

71

14

14

PEU6

0

14

57

29

0

PEU7

0

0

29

57

14

PEU8

0

0

0

71

29

PEU9

0

0

14

71

14

PEU10

0

0

14

43

43

Perceived ease of use (MEAN)

1.43

10

34.29

41.43

12.86

PC1

0

14

29

57

0

PC2

0

57

43

0

0

PC3

0

0

71

29

0

PC4

0

14

43

43

0

Perceived compatibility (MEAN)

0

17.86

46.43

32.14

3.57

FUI1

0

0

29

29

43

FUI2

0

0

29

71

0

FUI3

0

71

29

0

0

FUI4

0

0

0

100

0

Future use intention (MEAN)

0

17.86

21.43

50

10.71

they work (PC3). Good results have been achieved for the question of the Future use intention category because all the subjects do not exclude to use the workbench in the future (no one selected Agree or Strongly agree for question FUI3). Furthermore, 71% of the subjects declared they intend to use the workbench in the future (FUI2) and 100% of the subjects would like to use the workbench in the future (FUI4).

Regarding the Perceived compatibility category only 14% of the subjects (i.e., 1 out of 7) think that the workbench is not compatible with the way they develop software (PC1) and organize their work (PC4). The only negative point concerning compatibility comes from the answers to question PC2, as none of the subjects think that the workbench is compatible with all aspects of their work. However, it is worth noting that none of the subjects think that the workbench does not fit well with the way 180

Table 3 Related Work Tool Name

Modelling Language Constraint Language Model Integration

Metaview [19]

EARA/GE

ECL



Tool Builder [20] EER





MetaEdit + [3]

GOPRR

GOPRR

OO Repository

KOGGE [21]

EER

GRAL



Atom3 [22]

ER

OCL/Python

Triple Graph Grammars

Marama [23]

EER

OCL

Kaitiaki (event/data flow-based visual specification mechanism)

Moflon [1]

MOF 2.0

OCL

Triple Graph Grammars

Our approach [4] UML class diagram First-order logic

xlinkit

4. Related Work and Conclusions

References

In this paper, we have reported on an empirical study carried out to collect information on the user experience with the workbench generated with our visual-oriented meta-CASE workbench [4]. The customized workbenches are generated by integrating VMEs in agreement with a process model, and with suitable constraints defining rules/guidelines of the method the workbench is supposed to support. Such a process model is expressed through an activity diagram showing the essential dependencies among models. Moreover, consistency constraints are specified in terms of a rule language based on a first-order logic, and checked by the xlinkit framework. In the literature, several solutions have been proposed for CASE tool generation. Table 3 shows some commercial and research meta-CASE tools by reporting their specification languages and how they support model integration. More details on these solutions can be found in [4]. We have analysed some features of the workbenches generated with our approach by focusing on a workbench for the analysis and design of web applications [5]. In particular, we carried out a survey to assess the usefulness and the usability of the generated workbenches. The achieved results clearly show that, over all, the subjects have appreciated very much the functionalities of the workbench we proposed to them and they have also expressed the intention to use the system in the future. Thus, as future work, we intend to extend the case study by investigating more specific aspects of the generated workbenches, and also of the meta-CASE system. In particular, we intend to investigate whether the use of a single metamodel for all the visual modelling environments can provide benefits in verifying the constraints between different types of diagrams. In this way the relationships and/or dependencies between elements appearing in different diagrams could be captured in the metamodel itself.

[1] A. Fuggetta, A classification of CASE technology, IEEE Computer, 26(12), 1993, 25–38. [2] J. Ilvari, Why are CASE tools not used?, Communication of the ACM, 39(10), 1996, 94–103. [3] MetaCase Consulting, Metaedit+, www.metacase.com, (2001). [4] G. Costagliola, V. Deufemia, F. Ferrucci, & C. Gravino, Constructing Meta-CASE workbenches by exploiting visual language generators, IEEE Transactions on Software Engineering, 32(3), 2006, 156–175. [5] J. Conallen, Building web applications with UML (Boston, MA: Addison-Wesley Object Technology Series, 1999). [6] G. Costagliola, V. Deufemia, & G. Polese, A framework for modelling and implementing visual notations with applications to software engineering, ACM Transactions on Software Engineering and Methodology, 13(4), 2004, 431–487. [7] C. Nentwich, L. Capra, W. Emmerich, & A. Finkelstein, xlinkit: a consistency checking and smart link generation service, ACM Transactions on Internet Technology, 2(2), 2002, 151–185. [8] A. Winter, B. Kullbach, & V. Riediger, An overview of the GXL graph exchange language, Lecture Notes in Computer Science, 2269(Springer), 2002, 324–336. [9] J. Carver, L. Jaccheri, S. Morasca, & F. Shull, Issues in using students in empirical studies in software engineering education, Proc. of METRICS’03, 2003, 239–249. [10] D. Reifer, Ten deadly risks in internet and intranet software development, IEEE Software, 18(2), 2002, 12–14. [11] L.C. Briand, C. Bunse, J.W. Daly, & C. Differding, Technical communication: An experimental comparison of the maintainability of object-oriented and structured design documents, Empirical Software Engineering, 2(3), 1997, 291–312. [12] K.L. Norman & E. Panizzi, Levels of automation and user participation in usability testing, Interacting with Computers, 18(2), 2006, 246–264. [13] C. Wohlin, P. Runeson, M. Host, B. Ohlsson, B. Regnel, & A. Wesslen, Experimentation in software engineering – An introduction (Amsterdam: Kluwer, 2000). [14] F. Davis, Perceived usefulness, perceived ease of use, and user acceptance of information technology, Management Information Systems Quarterly, 13(3), 1989, 318–339. [15] C.K. Riemenschneider, B.C. Hardgrave, & F.D. Davis, Explaining software developer acceptance of methodologies: A comparison of five theoretical models, IEEE Transactions on Software Engineering, 28(12), 2002, 1135–1145. [16] T. Dyb˚ a, N.B. Moe, & E.M. Mikkelsen, An empirical Investigation on factors affecting software developer acceptance and utilization of electronic process guides, Proc. of METRICS’04, 2004, 220–231. [17] E.M. Rogers, Diffusion of innovations, Fourth Edition (New York: The Free Press, 1995).

5. Acknowledgements The authors gratefully acknowledge Prof. Filomena Ferrucci for her support and suggestions to this research. 181

Carmine Gravino received his Laurea degree in Computer Science (cum laude) in 1999, and his Ph.D. in Computer Science from the University of Salerno (Italy) in 2003. Since March 2006 he is assistant professor in the Department of Mathematics and Informatics at the University of Salerno. His research interests include software metrics to estimate web application development effort, softwaredevelopment environments, and design pattern recovery from object-oriented code.

[18] A.N. Oppenheim, Questionnaire design, interviewing and attitude measurement (London: Pinter Publishers, 1992). [19] P.G. Sorenson, J.P. Tremblay, & A.J. McAllister, The metaview system for many specification environments, IEEE Software, 5(2), 1988, 30–38. [20] R.I. Ferguson, The beginner’s guide to IPSYS TBK, Occasional Paper 93/3, University of Sounderland, http://osiris. sunderland.ac.uk/rif/metacase/metacase.tools.html (1993). [21] J. Ebert, R. Suttenbach, & I. Uhe, Meta-CASE in practice: A case for KOGGE, Proc. International Conference CaiSE’97, LNCS, 1250(Springer), 1997, 203–216. [22] J. de Lara & H. Vangheluwe, Using AToM3 as a meta-CASE tool, Proc. ICEIS’02, 2002, 642–649. [23] J. Grundy, J. Hosking, J. Huh, & K. N.-L. Li, Marama: an eclipse meta-toolset for generating multi-view environments, Proc. of ICSE’08, 2008, 819–822. [24] C. Amelunxen, A. Konigs, T. Rotschke, & A. Schurr, MOFLON: A standard-compliant metamodelling framework with graph transformations, Proc. of ECMDA-FA’06, LNCS, 4066(Springer), 2006, 361–375.

Michele Risi received his Laurea degree in Computer Science in 2001 and his Ph.D. degree in Computer Science from the University of Salerno, Italy, in 2005. He is currently a research fellow in the Department of Mathematics and Informatics at the University of Salerno. His research interests include grammar formalisms and parsing techniques for visual languages, sketch understanding, design pattern recovery from object-oriented code, reverse engineering of web applications and human–computer interaction in 3D visualization.

Biographies Vincenzo Deufemia graduated in Computer Science (cum laude) in 1999. He received his Ph.D. degree in Computer Science from the University of Salerno in 2003. Since March 2006 he is assistant professor in the Department of Mathematics and Informatics at Salerno University. His main research focuses on software engineering, sketch understanding, visual languages, parsing technologies, and multimedia databases. He published several peer-reviewed articles on these topics in international journals, books, conference and workshop proceedings. He has served as programme committee member for several international conferences.

182