Abstract
Software architecture and design (Shaw and Garlan 1995) are usually modeled and represented by informal diagrams, such as architecture diagrams and UML diagrams. While these graphic notations are easy to understand and are convenient to use, they are not amendable to automated verification and transformation. The developer has to rely on personal experience to discover errors and inconsistencies in the architecture/design diagrams. She also has to manually transform an architecture/design diagram while needed. These processes are tedious and error-prone. This chapter presents an approach that abstracts UML class diagrams and architecture styles into graph grammars. These grammars enable a high level of abstraction for the general organization of a class of software architectures, and form a basis for various analysis and transformations, in this approach, software verification is performed through a syntax analyzer. Architecture transformation is achieved by applying predefined transformation rules. In general, the presented approach facilitates the following aspects:
-
Graphs are used to specify software by distinguishing individual components and their relationships. Using graph grammars as design policies, the presented approach provides a powerful mechanism for syntactic checking and verification, which are not supported by most current tools.
-
In addition to software design and vérification, the presented approach facilitates a high level of software reuse by supporting the composition of design patterns, and uses graph rewriting techniques in assisting the transformation of software architectures and in reusing the existing products.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 2007 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
(2007). Software Architecture Design. In: Visual Languages and Applications. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-68257-0_6
Download citation
DOI: https://doi.org/10.1007/978-0-387-68257-0_6
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-29813-9
Online ISBN: 978-0-387-68257-0
eBook Packages: Computer ScienceComputer Science (R0)