Abstract
A software architecture style is a class of architectures exhibiting a common pattern. The description of a style must include the structure model of the components and their interactions (i.e., structural topology), the laws governing the dynamic changes in the architecture, and the communication pattern. A simple and natural way to describe a system is by using graphs, and as an extension of this, by using grammars to describe styles. The construction and dynamic evolution of the style will be represented as context-free productions and graph rewriting. To model the evolution of the system we use techniques of constraint solving already applied in the representation of distributed systems. From this approach we obtain an intuitive way to model systems, and a unique language to describe the style (but still a clear separation of coordination and configuration). With these we have a direct way of following the evolution of the system and proving its properties.
The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-0-387-35563-4_35
Chapter PDF
Similar content being viewed by others
References
Balsamo, S., Inverardi, P., Mangano, C. and Russo, F. (1998). Performance evaluation of a software architecture: A case study, Proceedings of the Ninth International Workshop on Software Specification and Design.
Bruni, R. and Montanari, U. (1997). Zero-safe nets, or transaction synchronization made simple, EXPRESS’97, Electronic Notes in Theoretical Computer Science 7.
Compare, D., Inverardi, P. and Wolf, A. (n.d.). Uncovering architectural mismatch in dynamic behavior. To appear.
Corradini, A., Degano, P. and Montanan, U. (1985). Specifying highly concurrent data structure manipulation, in Bucci, G. and Valle, G. (eds), COMPUTING 85:A Broad Perspective of Concurrent Developments, Elsevier Science.
Dechter, R. and Pearl, J. (1988). Network-based heuristics for constraint satisfaction problems, in Kanal and Kumar (eds), Search in Artificial Intelligence, Springer Verlag.
Degano, P. and Montanari, U. (1987). A model for distributed systems based on graph rewriting, Journal of the Association for Computing Machinery 34 (2).
Drewes, F., Kreowski, H.-J. and Habel, A. (1996). Foundations, in G. Rozenberg (ed.), Handbook of Graph Grammars and Computing by Graph Transformation, Vol. I, World Scientific, chapter 2.
Gadducci, F. and Montanan, U. (1996). The tile model, Technical Report TR-96–27, Department of Computer Science, University of Pisa.
Inverardi, P. and Wolf, A. (1995). Formal specification and analysis of software architectures using the chemical abstract machine model, IEEE Transactions on Software Engineering 21(4): 373–386. Special Issue on Software Architectures.
Le M’etayer, D. (1998). Describing software architecture styles using graph grammars, IEEE Transactions on Software Engineering. to appear.
Mackworth, A. (1988). Encyclopedia of IA,Springer Verlag, chapter Constraint Satisfaction.
Magee, J. and Kramer, J. (1996a). Dynamic structure in software architectures, Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM Software Engineering Notes.
Magee, J. and Kramer, J. (1996b). Self organising software architectures, Proceedings of the Second International Software Architecture Workshop.
Medvidovic, N. (1997). A classification and comparison framework for software architecture description languages, Technical Report ICS-TR-97–02, University of California, Irvine, Department of Information and Computer Science.
Montanan, U. and Pistore, M. (1995). Concurrent semantics for the • -calculus, Electronic Notes in Theoretical Computer Science 1.
Montanan, U. and Rossi, F. (1996). Graph rewriting and constraint solving for modeling distributed systems with synchronization, Lecture Notes in Computer Science 1061.
Montanari, U. and Rossi, F. (1997). Graph rewriting, constraint solving and tiles for coordinating distributed systems. To appear in Applied Category Theory. Shaw, M. and Garlan, D. (1996). Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Hirsch, D., Inverardi, P., Montanari, U. (1999). Modeling Software Architectures and Styles with Graph Grammars and Constraint Solving. In: Donohoe, P. (eds) Software Architecture. WICSA 1999. IFIP — The International Federation for Information Processing, vol 12. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35563-4_8
Download citation
DOI: https://doi.org/10.1007/978-0-387-35563-4_8
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6536-6
Online ISBN: 978-0-387-35563-4
eBook Packages: Springer Book Archive