A Syntactic Theory of Software Architecture
IEEE Transactions on Software Engineering - Special issue on software architecture
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Scenario-Based Analysis of Software Architecture
IEEE Software
Tool support for architecture analysis and design
ISAW '96 Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops
A catalog of techniques for resolving packaging mismatch
SSR '99 Proceedings of the 1999 symposium on Software reusability
A model-based approach to simulation composition
SSR '99 Proceedings of the 1999 symposium on Software reusability
Towards a taxonomy of software connectors
Proceedings of the 22nd international conference on Software engineering
The coming-of-age of software architecture research
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Component Specifications for Robotics Integration
Autonomous Robots
The impact of component architectures on interoperability
Journal of Systems and Software
A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Towards a Periodic Table of Connectors
COORDINATION '99 Proceedings of the Third International Conference on Coordination Languages and Models
COMPASS: Tool-Supported Adaptation of Interactions
Proceedings of the 19th IEEE international conference on Automated software engineering
The Golden Age of Software Architecture
IEEE Software
Patterns of conflict among software components
Journal of Systems and Software
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Reusing design experiences to materialize software architectures into object-oriented designs
Information Sciences: an International Journal
Hi-index | 0.00 |
Building a system at the architectural level can be thought of as decomposition into components followed by a series of exercises in matching. Components must be composed with each other via matching mechanisms; matching signatures within those mechanisms ensure that data and control will flow through the system; and matching semantics among the components ensures that the system will meet its behavioral requirements. The standard concepts of software architecture (components, connectors, styles) have been widely used with little more than intuitive understanding of their meaning. Mechanism matching is currently an ad hoc exercise that relies on the peculiarities of programming language facilities. This paper presents a set of well known but informally described software architectural elements used in system composition, and taxonomizes them under a basic set of characteristic features. This classification allows us to describe legal combinations of architectural elements by performing a simple matching exercise on the relevant features of the member elements. This classification also allows us to identify architectural elements that can be substituted for each other and satisfy the same mechanism matching requirements. This leads to delayed binding of architectural mechanisms, which in turns provides increased flexibility and greater opportunities for reuse of units of computation.