This Article 
 Bibliographic References 
 Add to: 
Constructing Meta-CASE Workbenches by Exploiting Visual Language Generators
March 2006 (vol. 32 no. 3)
pp. 156-175
In this paper, we propose an approach for the construction of meta-CASE workbenches, which suitably integrates the technology of visual language generation systems, UML metamodeling, and interoperability techniques based on the GXL (Graph eXchange Language) format. The proposed system consists of two major components. Environments for single visual languages are generated by using the Modeling Language Environment Generator (MEG), which follows a metamodel/grammar-approach. The abstract syntax of a visual language is defined by UML class diagrams, which serve as a base for the grammar specification of the language. The Workbench Generator (WoG) allows designers to specify the target workbench by means of a process model given in terms of a suitable activity diagram. Starting from the supplied specification WoG generates the customized workbench by integrating the required environments.

[1] A.V. Aho, R. Sethi, and J.D. Ullman, Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1985.
[2] E. Astesiano and G. Reggio, “An Algebraic Proposal for Handling UML Consistency,” Proc. Workshop Consistency Problems in UML-Based Software Development II, 2003.
[3] M. Baldi, S. Gai, M.L. Jaccheri, and P. Lago, “Object Oriented Software Process Design in E3,” Software Process Modelling and Technology, pp. 279-292, 1994.
[4] S. Bandinelli, A. Fuggetta, C. Ghezzi, and L. Lavazza, “SPADE: An Environment for Software Process Analysis, Design and Enactment,” Software Process Modelling and Technology, 1994.
[5] R. Bardohl, “A Visual Environment for Visual Languages,” Science of Computer Programming, vol. 44, no. 2, pp. 181-203, 2002.
[6] N.S. Barghouti, “Supporting Cooperation in the Marvel Process-Centred SDE,” Proc. ACM Symp. Software Development Environments, pp. 21-31, 1992.
[7] I.Z. Ben-Shaul and G.E. Kaiser, “A Paradigm for Decentralized Process Modeling and Its Realization in the Oz Environment,” Proc. Sixth Int'l Conf. Software Eng., pp. 179-188, May 1994.
[8] BitKeeper homepage, http:/, 2006.
[9] P. Bottoni, M.F. Costabile, and P. Mussio, “Specification and Dialogue Control through Visual Rewriting Systems,” ACM Trans. Programming Languages and Systems, vol. 21, no. 6, pp. 1077-1136, 1999.
[10] P. Bottoni and G. Costagliola, “On the Definition of Visual Languages and Their Editors,” Proc. Second Int'l Conf. Theory and Application of Diagrams (Diagrams 2002), pp. 305-319, Apr. 2002.
[11] P. Bottoni, M. Koch, F. Parisi-Presicce, and G. Taentzer, “A Visualization of OCL Using Collaborations,” Proc. Fourth Int'l Conf. the Unified Modeling Language (UML 2001), 2001.
[12] B. Bruegge and A.H. Dutoit, Object-Oriented Software Engineering, second ed. Pearson Prentice Hall, 2004.
[13] J. Conallen, Building Web Applications with UML. Addison-Wesley Object Technology Series, 1999.
[14] S. Chok and K. Marriott, “Automatic Generation of Intelligent Diagram Editors,” ACM Trans. Computer-Human Interaction, vol. 10, no. 3, pp. 244-276, 2003.
[15] ClearCase homepage, clearcase/, 2006.
[16] G. Costagliola, A. DeLucia, S. Orefice, and G. Tortora, “A Parsing Methodology for the Implementation of Visual Systems,” IEEE Trans. Software Eng., vol. 23, no. 12, pp. 777-799, Dec. 1997.
[17] G. Costagliola, V. Deufemia, F. Ferrucci, and C. Gravino, “The Use of the GXL Approach for Supporting Visual Language Specification and Interchanging,” Proc. IEEE Int'l Symp. Human-Centric Computing Languages and Environments (HCC '02), pp. 131-138, Sept. 2002.
[18] G. Costagliola, V. Deufemia, F. Ferrucci, and C. Gravino, “Using Extended Positional Grammars to Develop Visual Modeling Languages,” Proc. 14th Int'l Conf. Software Eng. and Knowledge Eng. (SEKE '02), pp. 201-208, July 2002.
[19] G. Costagliola, V. Deufemia, and G. Polese, “A Framework for Modeling and Implementing Visual Notations with Applications to Software Engineering,” ACM Trans. Software Eng. and Methodology (TOSEM), vol. 13, no. 4, pp. 431-487, 2004.
[20] J.C. Cruellas, A. Canals, J.P. Bodeveix, and T. Millan, “The NEPTUNE Technology to Verify and to Document Software Components,” Business Component-Based Software Eng., vol. 705, pp. 101-118, 2002.
[21] J.C. Derniame, B.A. Kaba, and D. Wastell, “Software Process: Principles, Methodology, and Technology,” Lecture Notes in Computer Science, vol. 1500, Springer-Verlag, 1999.
[22] D. Dui, W. Emmerich, C. Nentwich, and B. Thal, “Consistency Checking of Financial Derivative Transactions,” Objects, Components, Architectures, Services, and Applications for a Networked World, 2003.
[23] J. Ebert and A. Franzke, “A Declarative Approach to Graph Based Modeling,” Graphtheoretic Concepts in Computer Science, E. Mayr, G. Schmidt, and G. Tinhofer, eds., 1995.
[24] J. Ebert, R. Suttenbach, and I. Uhe, “Meta-CASE in Practice: A Case for KOGGE,” Proc. Ninth Conf. Advanced Information Systems Eng. (CaiSE '97), June 1997.
[25] W. Emmerich, J. Arlow, J. Madec, and M. Phoenix, “Tool Construction for the British Airways SEE with the O2 ODBMS,” Theory and Practice of Object Systems, vol. 3, no. 3, pp. 213-231, 1997.
[26] R.I. Ferguson, “The Beginner's Guide to IPSYS TBK,” Occasional Paper 93/3, Univ. of Sounderland, uk/rif/metacase, 1993.
[27] R.I. Ferguson, A. Hunter, and C. Hardy, “MetaBuilder: The Diagrammer's Diagrammer,” Proc. First Int'l Conf. Theory and Application of Diagrams (Diagrams 2000), Sept. 2000.
[28] F. Ferrucci, G. Tortora, M. Tucci, and G. Vitiello, “VLPEG: A System for Rapid Prototyping of Visual Language Environments,” Proc. IEEE Int'l Symp. Visua/Multimedia Approaches to Programming and Software Eng., pp. 382-389, Sept. 2001.
[29] F. Ferrucci, G. Tortora, and G. Vitiello, “Visual Programming,” Encyclopedia of Software Eng., second ed., John Wiley and Sons, 2001.
[30] P. Findeisen, “The Metaview System,” technical report, Dept. of Computing Science, Univ. of Alberta, 1994.
[31] A. Fuggetta, “A Classification of CASE Technology,” Computer, vol. 26, no. 12, pp. 25-38, Dec. 1993.
[32] J. Grundy and J. Hosking, “Software Tools,” Encyclopedia of Software Eng., second ed., John Wiley and Sons, 2001.
[33] GXL, http://www.gupro.deGXL, 2006.
[34] W. Harrison, H. Ossher, and P. Tarr, “Software Engineering Tools and Environments: A Roadmap,” Future of Software Eng., June 2000.
[35] R. Helm and K. Marriott, “Declarative Specification of Visual Languages,” Proc. IEEE Workshop Visual Languages, pp. 98-103, 1990.
[36] R.C. Holt, A. Winter, and A. Schuerr, “GXL: Toward a Standard Exchange Format,” Proc. Seventh Working Conf. Reverse Eng., pp. 162-171, 2000.
[37] P.B. Kruchten, “The 4+1 View Model of Architecture,” IEEE Software, vol. 12, no. 6, pp. 42-50, 1995.
[38] P.B. Kruchten, The Rational Unified Process: An Introduction, second ed. Addison-Wesley, 2000.
[39] L. Kuzniarz, Z. Huzar, G. Reggio, and J.L. Sourrouille, “Consistency Problems in UML-Based Software Development,” Blekinge Inst. of Technology Research Report 2002:06, 2002.
[40] L. Kuzniarz, Z. Huzar, G. Reggio, J.L. Sourrouille, and M. Staron, “Consistency Problems in UML-Based Software Development II,” Blekinge Inst. of Technology Research Report 2003:06, Oct. 2003.
[41] J. Ilvari, “Why Are CASE Tools Not Used?” Comm. ACM, vol. 39, no. 10, pp. 94-103, 1996.
[42] S. Jarzabek and R. Huang, “The Case for User-Centered CASE Tools,” Comm. ACM, vol. 41, no. 8, pp. 93-99, 1998.
[43] S. Jackson, I. Schechter, and I. Shlyakhter, “Alcoa: The Alloy Constraint Analyzer,” Proc. Int'l Conf. Software Eng., pp. 730-733, June 2000.
[44] S.C. Johnson, YACC: Yet Another Compiler Compiler. Murry Hills, N.J.: Bell Laboratories, 1978.
[45] J. de Lara and H. Vangheluwe, “Using ${\rm{AtoM}}^3$ as a Meta-CASE Tool,” Proc. Fourth Int'l Conf. Enterprise Information Systems (ICEIS '02), pp. 642-649, Apr. 2002.
[46] W. Liu, S. Easterbrook, and J. Mylopoulos, “Rule Based Detection of Inconsistency in UML Models,” Proc. Workshop Consistency Problems in UML-Based Software Development (UML '02), pp. 106-123, 2002.
[47] R.J. Machado, J.M. Fernandes, P.A. Monteiro, and H.C. Rodrigues, “Transformation of UML Models for Service-Oriented Software Architectures,” Proc. 12th IEEE Int'l Conf. Eng. of Computer-Based Systems (ECBS '05), pp. 173-182, Apr. 2005.
[48] P. Mangan and S. Sadiq, “On Building Workflow Models for Flexible Processes,” Proc. 13th Australasian Database Conf., pp. 103-109, 2002.
[49] Visual Language Theory, K. Marriott and B. Meyer, eds. Springer-Verlag, 1998.
[50] R. Medina-Mora, T. Winograd, and R. Flores, “The Action Workflow Approach to Workflow Management Technology,” Proc. Conf. Computer-Supported Cooperative Work (CSCW '92), pp. 281-288, 1992.
[51] MetaCase Consulting, Metaedit+,, 2001.
[52] S. Meyers, “Difficulties in Integrating Multiview Editing Environments,” IEEE Software, vol. 8, no. 1, pp. 49-57, Jan. 1991.
[53] M. Minas, “Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation,” Science of Computer Programming, vol. 44, no. 2, pp. 157-180, 2002.
[54] C. Nentwich, L. Capra, W. Emmerich, and A. Finkelstein, “xlinkit: A Consistency Checking and Smart Link Generation Service,” ACM Trans. Internet Technology, vol. 2, no. 2, pp. 151-185, 2002.
[55] M.A. Najork and S.M. Kaplan, “Specifying Visual Languages with Conditional Set Rewrite Systems,” Proc. IEEE Symp. Visual Languages, pp. 12-18, 1993.
[56] OMG, Object Constraint Language (OCL) Specification, version 2.0, formaluml.htm, June 2005.
[57] OMG, “Software Process Engineering Metamodel (SPEM) Specification,” version 1.1, technical report, formalspem.htm, Jan. 2005.
[58] OMG, “XML Metadata Interchange (XMI) Specification,” version 2.1, technical report, formalxmi.htm, Sept. 2005.
[59] Perforce homepage, http:/, 2006.
[60] J.M. Ribó and X. Franch, “Building Expressive and Flexible Process Models Using a UML-Based Approach,” Software Process Technology, 2001.
[61] J. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Language Reference Manual. Addison Wesley, 1999.
[62] A. Schuerr, A. Winter, and A. Zundorf, “Graph Grammar Engineering with PROGRES,” Proc. Fifth European Software Eng. Conf. (ESEC '95), 1995.
[63] J.L. Sourrouille and G. Caplat, “Constraint Checking in UML Modeling,” Proc. 14th Int'l Conf. Software Eng. and Knowledge Eng. (SEKE '02), pp. 217-224, July 2002.
[64] P.G. Sorenson, J.P. Tremblay, and A.J. McAllister, “The Metaview System for Many Specification Environments,” IEEE Software, vol. 5, no. 2, pp. 30-38, Mar. 1988.
[65] J.M. Spivey, The Z Notation: A Reference Manual. Prentice Hall, Int'l Series in Computer Science, 2001.
[66] K.D. Swenson, K. Irwin, R.J. Maxwell, T. Matsumoto, and B. Saghari, “A Business Process Environment Supporting Collaborative Planning,” J. Collaborative Computing, vol. 1, no. 1, pp. 15-34, Mar. 1994.
[67] S.M. Uskudarli and T.B. Dinesh, “Towards a Visual Programming Environment Generator for Algebraic Specifications,” Proc. IEEE Symp. Visual Languages, pp. 234-241, 1995.
[68] Xlinkit, http:/, 2006.
[69] XSL, Extensible Stylesheet Language (XSL) Version 1.0, Oct. 2001,
[70] J. Whittle, R. Kwan, and J. Saboo, “From Scenarios to Code: An Air Traffic Control Case Study,” Software and Systems Modeling, vol. 4, no. 1, pp. 71-93, Feb. 2005.
[71] A. Winter, “Exchanging Graphs with GXL,” Proc. Ninth Int'l Symp. Graph Drawing (GD '01), pp. 485-500, Sept. 2001.
[72] A. Winter, B. Kullbach, and V. Riediger, “An Overview of the GXL Graph Exchange Language,” Software Visualization, 2002.
[73] K. Zhang, D.Q. Zhang, and J. Cao, “Design, Construction, and Application of a Generic Visual Language Generation Environment,” IEEE Trans. Software Eng., vol. 27, no. 4, pp. 289-307, Apr. 2001.

Index Terms:
Meta-CASE tools, metamodeling techniques, visual languages, visual programming environment generators.
Gennaro Costagliola, Vincenzo Deufemia, Filomena Ferrucci, Carmine Gravino, "Constructing Meta-CASE Workbenches by Exploiting Visual Language Generators," IEEE Transactions on Software Engineering, vol. 32, no. 3, pp. 156-175, March 2006, doi:10.1109/TSE.2006.23
Usage of this product signifies your acceptance of the Terms of Use.