Realizable, Connector-Driven Software Architectures for Practising Engineers

Kloukinas, C. & Ozkaya, M. (2014). Realizable, Connector-Driven Software Architectures for Practising Engineers. Communications in Computer and Information Science, 457, pp. 273-289. doi: 10.1007/978-3-662-44920-2_17

PDF - Accepted Version
Download (215kB) | Preview


Despite being a widely-used language for specifying software systems, UML remains less than ideal for software architectures. Architecture description languages (ADLs) were developed to provide more comprehensive support. However, so far the application of ADLs in practice has been impeded by at least one of the following problems: (i) advanced formal notations requiring a steep learning curve, (ii) lack of support for user-defined, complex connectors, and (iii) potentially unrealizable architectural designs.

This paper proposes Xcd, a new ADL that aims at supporting user-defined, complex connectors to help increase architectural modularity. It also aims to help increase the degree of reusability, as now components need not specify interaction protocols, as these can be specified independently by connectors (which increases protocol reusability too).
Connector support requires to ensure that architectural designs are always realizable, as it is currently extremely easy to obtain unrealizable ones. Xcd eliminates potentially unrealizable constructs in connector specifications.

Finally, Xcd employs a notation and notions from Design-by-Contract (DbC) for specifying software architecture behaviour. While DbC promotes a formal and precise way of specifying system behaviours, it is not as challenging for practising developers as process algebras that are usually employed by ADLs.

Item Type: Article
Additional Information: The final publication is available at Springer via
Uncontrolled Keywords: Component based software engineering, Software architecture, Modular specifications, Connector realizability, Separation of functional and interaction behaviours, Design-by-contract
Subjects: Q Science > QA Mathematics > QA75 Electronic computers. Computer science
T Technology > TA Engineering (General). Civil engineering (General)
Divisions: School of Informatics > Department of Computing

Actions (login required)

View Item View Item


Downloads per month over past year

View more statistics