A Toolbox for Automating Visual Software Engineering

Visual diagrammatic (VD) notations have always been widely used in software engineering. Such notations have been used to syntactically represent the structure of software systems, but they usually lack dynamic semantics, and thus provide limited support to software engineers. In contrast, formal models would provide rigorous semantics, but the scarce adaptability to different application domains precluded their large industrial application. Most attempts tried to formalize widely used VD notations by proposing a mapping to a formal model, but they all failed in addressing flexibility, that is, the key factor of the success of VD notations.This paper presents MetaEnv, a toolbox for automating visual software engineering. MetaEnv augments VD notations with customizable dynamic semantics. Traditional meta-CASE tools support flexibility at syntactic level; MetaEnv augments them with semantic flexibility. MetaEnv refers to a framework based on graph grammars and has been experimented as add-on to several commercial and proprietary tools that support syntactic manipulation of VD notations.

[1]  GianAntonio Magnani,et al.  A technique for designing robotic control systems based on Petri nets , 1998, IEEE Trans. Control. Syst. Technol..

[2]  Manfred Nagl,et al.  Graph-Grammars and Their Application to Computer Science , 1982, Lecture Notes in Computer Science.

[3]  Luciano Baresi,et al.  LEMMA: A Language for Easy Medical Models Analysis , 1997, Journal of Medical Systems.

[4]  Ove Færgemand,et al.  Introduction to SDL-92 , 1994, Comput. Networks ISDN Syst..

[5]  Andy Schürr,et al.  A graph based framework for the implementation of visual environments , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[6]  Amardeo Sarma,et al.  Introduction to SDL-92 , 1996, Comput. Networks ISDN Syst..

[7]  Luqi,et al.  Formal Methods and Social Context in Software Development , 1995, TAPSOFT.

[8]  Luciano Baresi,et al.  On Formalizing UML with High-Level Petri Nets , 2001, Concurrent Object-Oriented Programming and Petri Nets.

[9]  Luciano Baresi,et al.  A Formal De(cid:12)nition of Structured Analysis with Programmable Graph Grammars ? , 2000 .

[10]  M. Minas,et al.  Application of graph transformation to visual languages , 1999 .

[11]  Steven P. Reiss,et al.  Connecting tools using message passing in the Field environment , 1990, IEEE Software.

[12]  Margaret M. Burnett,et al.  A Classification System for Visual Programming Languages , 1994, J. Vis. Lang. Comput..

[13]  Klaus Kronlöf,et al.  Method integration: concepts and case studies , 1993 .

[14]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[15]  Walt Scacchi,et al.  Meta-Environments for Software Production , 1993, Int. J. Softw. Eng. Knowl. Eng..

[16]  Luqi Real-Time Constraints in a Rapid Prototyping Language , 1993, Comput. Lang..

[17]  Robert B. France,et al.  From structured analysis to formal specifications: state of the theory , 1994, CSC '94.

[18]  Bernhard Rumpe,et al.  Automated Software Engineering: Special Issue on Precise Semantics for Software Modeling Techniques (PSMT'—an ICSE'98 Workshop) , 2004, Automated Software Engineering.

[19]  Manfred Nagl Set theoretic approaches to graph grammars , 1986, Graph-Grammars and Their Application to Computer Science.

[20]  Luciano Baresi,et al.  Introducing Formal Specification Methods in Industrial Practice , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[21]  David Lorge Parnas,et al.  An Invitation to Formal Methods , 1996, Computer.

[22]  Bernhard Rumpe,et al.  Modeling Languages: Syntax, Semantics and All That Stuff, Part I: The Basic Stuff , 2000 .

[23]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[24]  Derek J. Hatley,et al.  Strategies for Real-Time System Specification , 1987 .