Information Technology Reference
In-Depth Information
Design in CommUnity with Extension Morphisms
Xiang Ling 1 , Tom Maibaum 1 , and Nazareno Aguirre 2
1 Department of Computing and Software, McMaster University
1280 Main St West, Hamilton ON, Canada L8S 4K1
lingx@univmail.cis.mcmaster.ca, tom@maibaum.org
2 Departamento de Computaciόn, FCEFQyN, Universidad Nacional de Río Cuarto, Ruta 36
Km. 601, Río Cuarto (5800), Cόrdoba, Argentina
naguirre@dc.exa.unrc.edu.ar
Abstract. We have been engaged over the past few years in studying and for-
malizing software architecture concepts such as hierarchical design, dynamic
reconfiguration and the application of the concept of aspects to software archi-
tecture descriptions. Our attention has focused on the language CommUnity,
developed by Fiadeiro and Maibaum, and an extension that we call DynaComm
that incorporates support for dynamic reconfiguration, hierarchical design, a
general notion of connector and other supporting mechanisms. In applying Dy-
naComm, we have found that the relationships normally used in CommUnity,
i.e., regulative superposition (used to regulate the behaviour of a component)
and refinement (used to instantiate a role in a higher order connector) are not
sufficient for dealing with some required changes to a software architecture or a
component that we would like to be able to affect. To this end, we have defined
the concept of extension morphism between two components. Such morphisms
do not preserve encapsulation of components, as do regulative superpositions
and refinements, but they do give us substitutability, in the sense of object-
oriented systems, and, hence, a basis of predictability about its application
to designs. In this paper, we describe the nature of extension morphisms and
illustrate their use by means of a non trivial example.
1 Introduction
1.1 Motivation and Background
Software architecture research is directed at addressing the high-level decomposition
and organization of systems, where component interactions are incorporated into the
notion of connectors and identified as first-class design entities. Architecture descrip-
tion languages (ADLs) have been proposed to provide formal modelling notations,
analysis and development tools to support architecture-based development, which
focuses on the system's high-level structure rather than the implementation details of
any specific modules [33].
There has been some work in surveying ADLs providing broad comparisons. The
survey in [33] compared ADLs with respect to their ability to model components,
connectors and configurations, as well as their tool support for analysis and refine-
ment. The survey in [13] focused on the characteristics of different ADLs supporting
 
Search WWH ::




Custom Search