Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

A framework for modeling and implementing visual notations with applications to software engineering

Published: 01 October 2004 Publication History
  • Get Citation Alerts
  • Abstract

    We present a framework for modeling visual notations and for generating the corresponding visual programming environments. The framework can be used for modeling the diagrammatic notations of software development methodologies, and to generate visual programming environments with CASE tools functionalities. This is accomplished through an underlying modeling process based on the visual notation syntactic model of eXtended Positional Grammars (XPG, for short), and the associated parsing methodology, XpLR. In particular, the process requires the modeling of the basic elements (visual symbols) of a visual notation, their syntactic properties, the relations between them, the syntactic rules to formally define the set of feasible visual sentences, and a set of semantic routines performing additional checks and translation tasks. Such a process is completely supported by the VLDesk system, which enables the automatic generation of an editor for drawing visual sentences, as well as a processor for their recognition, parsing, and translation into other notations.The proposed framework also provides the basis for the definition of a meta-CASE technology. In fact, we can customize the generated visual programming environment in terms of the supported visual notation, its syntactic properties, and the translation rules. We have used this framework to model several diagrammatic notations used in software development methodologies, including those of the Unified Modeling Language.

    References

    [1]
    Aho, A., Sethi, R., and Ullman, J. 1987. Compilers Principles, Techniques, and Tools (Series in Computer Science). Addison-Wesley.]]
    [2]
    Alderson, A. 1991. Meta-CASE technology. In Software Development Environments and CASE Technology. Lecture Notes in Computer Science, vol. 509. Springer-Verlag, 81--91.]]
    [3]
    Bardohl, R. 2002. A visual environment for visual languages. Sci. Comput. Program. 44, 2 (Aug.), 181--203.]]
    [4]
    Bardohl, R., Ermel, C., and Weinhold, I. 2002. AGG and GenGED: Graph transformation-based specification and analysis techniques for visual languages. In Proceedings of Graph Transformation-Based Tools (GraBaTs'02) (Barcelona, Spain), T. Mens, A. Schürr, and G. Taentzer, Eds. ENTCS 72. Elsevier.]]
    [5]
    Bell, R. and Sharon, D. 1995. Creating integrated environments. IEEE Softw. 12, 2 (March), 76--85.]]
    [6]
    Bottoni, P., Schürr, A., and Taentzer, G. 2000. Efficient parsing of visual languages based on critical pair analysis and contextual layered graph transformation. In Proceedings of 16th IEEE Symposium on Visual Languages. IEEE Computer Society Press, Seattle, WA, 59--60.]]
    [7]
    Chang, S. 2000. Multimedia Software Engineering. Kluwer Academic Publishers.]]
    [8]
    Chang, S. K., Polese, G., Thomas, R., and Cibelli, M. 2003. Visual authorization modeling with applications to electronic commerce. IEEE Multimedia Magazine 10, 1 (March), 44--54.]]
    [9]
    Chen, P. 1985. Database design based on entity and relationship. In Principles of Database Design, S. B. Yao, Ed. Prentice-Hall, NJ, 174--210.]]
    [10]
    Chmura, A. and Crockett, H. D. 1995. Point counterpoint: What's the proper role for CASE tools. IEEE Softw. 12, 2 (March), 18--20.]]
    [11]
    Chok, S. and Marriot, K. 1995. Parsing visual languages. In Proceedings of the 18th Australian Computer Science Conference. Australian Computer Science Communication, vol. 17. 90--98.]]
    [12]
    Chok, S. and Marriot, K. 2003. Automatic generation of intelligent diagram editors. ACM Trans. Comput.-Hum. Interact. 10, 3 (Sept.), 244--276.]]
    [13]
    Coad, P. and Yourdon, E. 1991. Object Oriented Analysis. Yourdon Press Computing.]]
    [14]
    Conallen, J. 1999. Modeling web application architectures with UML. Comm. ACM 42, 10 (Oct.), 63--70.]]
    [15]
    Costagliola, G., De Lucia, A., Orefice, S., and Polese, G. 2002. A classification framework to support the design of visual languages. J. Vis. Lang. Comput. 13, 6 (Dec.), 573--600.]]
    [16]
    Costagliola, G., De Lucia, A., Orefice, S., and Tortora, G. 1995. Efficient parsing of data flow graphs. In Proceedings of 7th International Conference on Software Engineering and Knowledge Engineering (SEKE'95). Rockville, MD, 226--233.]]
    [17]
    Costagliola, G., De Lucia, A., Orefice, S., and Tortora, G. 1997. A parsing methodology for the implementation of visual systems. IEEE Trans. Softw. Eng. 23, 12 (Dec.), 777--799.]]
    [18]
    Costagliola, G. and Deufemia, V. 2003. Visual language editors based on LR parsing techniques. In Proceeding of SIGPARSE/ACL 8th International Workshop in Parsing Technologies (Nancy, France). 79--90.]]
    [19]
    Costagliola, G., Deufemia, V., Ferrucci, F., and Gravino, C. 2001. On the pLR parsability of visual languages. In Proceedings of IEEE International Symposium on Human-Centric Computing Languages and Environments (HCC'01) (Stresa, Italy), IEEE Computer Society Press. 49--50.]]
    [20]
    Costagliola, G., Francese, R., Risi, M., Tortora, G., and De Lucia, A. 2003. Rapid development of process modeling tools. In Proceedings of the 5th International Conference on Enterprise Information Systems (ICEIS'03) (Angers, France). 301--306.]]
    [21]
    Costagliola, G. and Polese, G. 2000. Extended positional grammars. In Proceedings of 16th IEEE Symposium on Visual Languages. IEEE Computer Society Press, Seattle, WA, 103--110.]]
    [22]
    Cruz, I. and Lucas, W. 1997. DelaunayMM: A visual framework for multimedia presentation. In Proceedings of 13th IEEE Symposium on Visual Languages. IEEE Computer Society Press, 216--223.]]
    [23]
    de Lara, J. and Vangheluwe, H. 2002. AToM3: A tool for multi-formalism and meta-modelling. In 5th International Conference FASE 2002 (Grenoble, France). Lecture Notes in Computer Science, vol. 2306. Springer-Verlag, 174--188.]]
    [24]
    Diller, A. 1992. Z: An Introduction to Formal Methods. John Wiley, NY.]]
    [25]
    Ebert, J., Suttenbach, R., and Uhe, I. 1997. Meta-CASE in practice: A case for KOGGE. In Proceedings of 9th International Conference CaiSE'97. Lecture Notes in Computer Science, vol. 1250. Springer-Verlag, 203--216.]]
    [26]
    Ermel, C., Rudolf, M., and Taentzer, G. 1999. The AGG approach: Language and environment. In Handbook on Graph Grammars and Computing by Graph Transformation: Applications, Languages, and Tools, H. Ehrig, G. Engels, H. Kreowski, and G. Rozenberg, Eds. World Scientific Press, Singapore, 551--604.]]
    [27]
    Fargemand, O. and Olsen, A. 1994. Introduction to SDL-92. Comput. Netw. ISDN Syst. 26, 1143--1167.]]
    [28]
    Feder, J. 1971. Plex languages. Inform. Sci. 3, 225--241.]]
    [29]
    Ferguson, R., Hunter, A., and Hardy, C. 2000. Metabuilder: The diagrammer's diagrammer. In Proceedings on Diagrams 2000. Lecture Notes in Computer Science, vol. 1889. Springer-Verlag, 407--421.]]
    [30]
    Ferraiolo, J. 2001. Scalable vector graphics (SVG) 1.0 specification. Tech. rep., W3C Recommendation. (Sept.).]]
    [31]
    Ferrucci, F., Pacini, G., Satta, G., Sessa, M., Tortora, G., Tucci, M., and Vitiello, G. 1996. Symbol-relation grammars: A formalism for graphical languages. Inf. Comput. 131, 1 (Nov.), 1--46.]]
    [32]
    Fisher, A. S. 1992. CASE: Using Software Development Tools, 2nd Ed. John Wiley and Sons, NY.]]
    [33]
    Golin, E. 1991. Parsing visual languages with picture layout grammars. J. Vis. Lang. Comput. 2, 4 (Dec.), 371--394.]]
    [34]
    Goodland, M. and Slater, C. 1995. SSADM Version 4: A Practical Approach. McGraw-Hill.]]
    [35]
    Harel, D. 1988. On visual formalisms. Comm. ACM 31, 5 (May), 514--530.]]
    [36]
    Heckel, R., Küster, J., and Taentzer, G. 2002. Confluence of typed attributed graph transformation systems. In Proceedings of 1st International Conference on Graph Transformation (Barcelona, Spain). A. Corradini, H. Ehrig, H.-J. Kreowski, and G. Rozenberg, Eds. Lecture Notes in Computer Science, vol. 2505. Springer-Verlag. 161--176.]]
    [37]
    IEC. 1993. Part 3: Programming languages, IEC 1131-3. Tech. rep., International Electrotechnical Commission, Geneva.]]
    [38]
    Isakowitz, T., Stohr, A., and Balasubramanian, E. 1995. RMM: A methodology for structured hypermedia design. Comm. ACM 38, 8 (May), 34--44.]]
    [39]
    Jarzabek, S. and Huang, R. 1998. The case for user-centered CASE tools. Comm. ACM 41, 8 (Aug.), 93--99.]]
    [40]
    Johnson, S. 1978. YACC: Yet Another Compiler Compiler. Bell Laboratories, Murray Hills, NJ.]]
    [41]
    Kelly, S., Lyytinen, K., and Rossi, M. 1996. MetaEdit+: A fully configurable multi-user and multi-tool CASE and CAME environment. In Proceedings 8th International Conference CAiSE'96, P. Constantopoulos, J. Mylopoulos, and Y. Vassiliou, Eds. Lecture Notes in Computer Science, vol. 1080. Springer-Verlag, 1--21.]]
    [42]
    Marriott, K. 1994. Constraint multiset grammars. In Proceedings of 10th IEEE Symposium on Visual Languages. IEEE Computer Society Press, St. Louis, MO, 118--125.]]
    [43]
    Marriott, K. and Meyer, B. 1998. Visual Language Theory. Springer-Verlag, NY.]]
    [44]
    McClure, C. 1989. CASE is Software Automation. Prentice-Hall, Englewood Cliffs, NJ.]]
    [45]
    Minas, M. 1997. Diagram editing with hypergraph parser support. In Proceedings of 13th IEEE Symposium on Visual Languages (Isle of Capri, Italy). IEEE Computer Society Press, 226--233.]]
    [46]
    Minas, M. 2000. Hypergraphs as a uniform diagram representation model. In Proceedings of 6th International Workshop on Theory and Application of Graph Transformations (TAGT'98). Lecture Notes in Computer Science, vol. 1764. Springer-Verlag, Paderborn, Germany, 281--295.]]
    [47]
    Minas, M. 2002. Concepts and realization of a diagram editor generator based on hypergraph transformation. Sci. Comput. Program. 44, 2 (Aug.), 157--180.]]
    [48]
    Minas, M. 2003. Bootstrapping visual components of the DiaGen specification tool with DiaGen. In Proceedings of International Workshop on Applications of Graph Transformations with Industrial Relevance (AGTIVE'03). Charlottesville, VA, 391--405.]]
    [49]
    Minas, M. and Schürr, A. 2001. Statecharts modeling contest. Symposia on Human-Centric Computing Languages and Environments (HCC'01).]]
    [50]
    Musto, A., Polese, G., Costagliola, G., and Tortora, G. 2001. Syntactic modeling of UML diagrams and their automatic transformation into RDBMS based models. In Proceedings of WTUML: Workshop on Transformations in UML (Genova, Italy).]]
    [51]
    Nassi, I. and Shneiderman, B. 1973. Flowchart techniques for structured programming. ACM SIGPLAN Notices 8, 8 (Aug.), 12--26.]]
    [52]
    Object Management Group. 2003a. UML specification version 1.5. Tech. rep., OMG.]]
    [53]
    Object Management Group. 2003b. XML metadata interchange (XMI) specification version 2.0. Tech. rep., OMG.]]
    [54]
    Rekers, J. and Schürr, A. 1996. A graph based framework for the implementation of visual environments. In Proceedings 12th IEEE International Symposium on Visual Languages (Boulder, CO). IEEE Computer Society Press, 148--157.]]
    [55]
    Rekers, J. and Schürr, A. 1997. Defining and parsing visual languages with layered graph grammars. J. Vis. Lang. Comput. 8, 1 (Feb.), 27--55.]]
    [56]
    Ross, D. and Schoman Jr., K. 1977. Structured analysis for requirement definition. IEEE Trans. Softw. Eng. 3, 1 (Jan.), 6--15.]]
    [57]
    Rubin, R., Walker II, J., and Golin, E. 1990. Early experience with the visual programmer's workbench. IEEE Trans. Softw. Eng. 16, 10 (Sept.), 1107--1121.]]
    [58]
    Rumbaugh, J., Jacobson, I., and Booch, G. 1998. The Unified Modeling Language Reference Manual (Object Technology Series). Addison-Wesley.]]
    [59]
    Schürr, A., Winter, A., and Zündorf, A. 1999. The PROGRES approach: Language and environment. In Handbook on Graph Grammars and Computing by Graph Transformation: Applications, Languages, and Tools, H. Ehrig, G. Engels, H. Kreowski, and G. Rozenberg, Eds. World Scientific Press, Singapore, 487--550.]]
    [60]
    Serrano, J. A. 1995. The use of semantic constraints on diagram editors. In Proceedings 11th IEEE International Symposium on Visual Languages (Darmstadt, Germany). IEEE Computer Society Press. 211--216.]]
    [61]
    Sorenson, P. G., Findeisen, P. S., and Tremblay, J. P. 1996. Supporting viewpoints in Metaview. In Proceedings of Viewpoints'96 (San Francisco), ACM. 237--241.]]
    [62]
    Taentzer, G. 2000. AGG: A tool environment for algebraic graph transformation. In Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance (AGTIVE'99). Lecture Notes in Computer Science, vol. 1779. Springer-Verlag, 481--490.]]
    [63]
    Walden, K. and Nerson, J.-M. 1995. Seamless Object-Oriented Software Architecture: Analysis and Design of Reliable Systems. Prentice-Hall, Englewood Cliffs, NJ.]]
    [64]
    Wittenburg, K. 1992. Earley-style parsing for relational grammars. In Proceedings 8th IEEE International Workshop on Visual Languages (Seattle, WA). IEEE Computer Society Press, 192--199.]]
    [65]
    Wittenburg, K. and Weitzman, L. 1998. Relational grammer: Theory and practice in visual language interface for process modeling. In Visual Language Theory, Marriot, and Meyers 1998. Springer-Verlag, NY 193--217.]]
    [66]
    Yourdon, E. 1989. Modern Structured Analysis. Prentice-Hall, Englewood Cliffs, NJ.]]
    [67]
    Zhang, K., Zhang, D., and Cao, J. 2001. Design, construction, and application of a generic visual language generation environment. IEEE Trans. Softw. Eng. 27, 4 (Apr.), 289--307.]]

    Cited By

    View all
    • (2023)High performance computing with inter-virtual-machine communicationJournal of Cyber Security Technology10.1080/23742917.2023.22564328:3(191-203)Online publication date: 14-Sep-2023
    • (2021)Software Development in Small Software Companies: Exploring the Usage of Procedures, Techniques, Methods and Models in PracticeProceedings of the 2021 European Symposium on Software Engineering10.1145/3501774.3501779(29-38)Online publication date: 19-Nov-2021
    • (2021)In Search of the Essence of Low-Code: An Exploratory Study of Seven Development Platforms2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C53483.2021.00016(57-66)Online publication date: Oct-2021
    • Show More Cited By

    Recommendations

    Reviews

    David A. Gustafson

    Most software development methodologies use diagrams, and users and software engineers look at those diagrams to communicate aspects of the proposed system. Building diagrams with just a general-purpose graphical editor is hard, and having an editor that supports the syntax and semantics of the design notation would be very useful. While few people will ever design a new diagramming notation, the process of being able to generate an editor that understands the syntax and semantics of a new diagram is interesting. This paper describes the work the authors have done to achieve this goal. The paper first describes a formalism for describing visual notations, and a framework for specifying visual notations using extended positional grammars (XPG). This description is long, complex, and not easily understandable by someone unfamiliar with the area and the authors' previous work. Additional examples would have been helpful. Fortunately, there is a good set of references to previous work, by the authors and others. The tool VLDesk is described last. This tool can automatically generate an editor for a design notation, based on a formal specification of the design notation. Screen shots are shown, and the process is described well. The tool is available for download. Unfortunately, help is not available for installation. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Software Engineering and Methodology
    ACM Transactions on Software Engineering and Methodology  Volume 13, Issue 4
    October 2004
    129 pages
    ISSN:1049-331X
    EISSN:1557-7392
    DOI:10.1145/1040291
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 October 2004
    Published in TOSEM Volume 13, Issue 4

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. LR parsing
    2. UML
    3. meta-CASE
    4. metamodeling
    5. software engineering models
    6. visual grammars
    7. visual notations

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)46
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)High performance computing with inter-virtual-machine communicationJournal of Cyber Security Technology10.1080/23742917.2023.22564328:3(191-203)Online publication date: 14-Sep-2023
    • (2021)Software Development in Small Software Companies: Exploring the Usage of Procedures, Techniques, Methods and Models in PracticeProceedings of the 2021 European Symposium on Software Engineering10.1145/3501774.3501779(29-38)Online publication date: 19-Nov-2021
    • (2021)In Search of the Essence of Low-Code: An Exploratory Study of Seven Development Platforms2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C53483.2021.00016(57-66)Online publication date: Oct-2021
    • (2021)Low-Code PlatformBusiness & Information Systems Engineering10.1007/s12599-021-00726-8Online publication date: 15-Nov-2021
    • (2021)Visual exploration of visual parser executionMultimedia Tools and Applications10.1007/s11042-021-10624-681:1(299-317)Online publication date: 18-Mar-2021
    • (2020)Multi-Domain Recognition of Hand-Drawn Diagrams Using Hierarchical ParsingMultimodal Technologies and Interaction10.3390/mti40300524:3(52)Online publication date: 14-Aug-2020
    • (2020)CouchEditProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3417990.3421401(1-5)Online publication date: 16-Oct-2020
    • (2020)ParVisProceedings of the 2020 International Conference on Advanced Visual Interfaces10.1145/3399715.3399853(1-5)Online publication date: 28-Sep-2020
    • (2020)Run-Time Conflict Detection in Visual Language ParsingJournal of Computer Languages10.1016/j.cola.2020.100943(100943)Online publication date: Feb-2020
    • (2019)The fundamentals of domain-specific simulation language engineeringProceedings of the Winter Simulation Conference10.5555/3400397.3400516(1482-1494)Online publication date: 8-Dec-2019
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media