Abstract:
With the increasing size and complexity of software systems, the focus of software development has been shifting from algorithms and data structures to software architectures. Graphical and integrated software architecture development environments are becoming more and more important for the research and practice of software architectures-centric system development. Proposed in this paper is a generative framework for graph grammar-based visual development environment. Given a description of a certain software architecture style in graph grammar, the framework can automatically generate a corresponding graph grammar-directed environment. Compared with existing work of meta-model-based tools, this graph grammar-directed approach is more intuitive as it uses graphic notations, while it is still equipped with a rich set of formal semantics and reasoning theories. It encodes more style-specific semantics and dynamic evolution of software architectures is also depicted with graph transformations. It makes better use of the implicit semantics of software architecture style, and hence makes the generated environment easier to use and more reliable. A prototype system Artemis-GADE has been designed and implemented. Besides graph grammar-directed visual editing of software architecture specifications, Artemis-GADE provides feasible supports for the activities in the whole lifecycle of software architecture-centric system construction and evolution, including online system adaption based on dynamic architecture reconfigurations.