5 EVALUATION – XCD VS
WRIGHT
As aforementioned, Aegis has also been specified
and analysed with Wright (Allen, 1997). We base
our comparison with Wright’s Aegis specification on
three key features that, we believe, affect designer’s
choice in choosing an ADL to use.
Realisable connectors As mentioned in our ADL
study (Ozkaya and Kloukinas, 2013a), Wright and
those inspired from it include a glue in their connector
structure which constrains the behaviour of the com-
ponents globally. However, its global nature causes
potentially unrealisable specifications for distributed
systems, as explained in (Ozkaya and Kloukinas,
2013b). Indeed, the Aegis connector in (Allen and
Garlan, 1996) includes such a glue for coordinating
the client and server component behaviours. There-
fore, XCD connectors may only impose local con-
straints on the components via the roles; glues are not
allowed. As shown in Section 2.1, the client2server
connector has roles with local constraints only.
DbC-based behaviour specification To enable
formal reasoning, Wright adopts an extended form of
the CSP process algebra for behaviour specification.
So Aegis is specified using CSP which is not found
practical by practitioners (Malavolta et al., 2012). In
XCD, the behaviour of components and connectors are
specified in an extended form of Design-by-Contract
(DbC) approach which is more familiar to developers
and easier to learn for them. For example, JML has
been taught to undergraduate students for a number of
years (Kiniry and Zimmerman, 2008).
SPIN’s Promela as the formal basis The seman-
tics of XCD are defined using ProMeLa which allows
the use of a free and open tool for analysing architec-
tures.
6 CONCLUSIONS
XCD is a new ADL that extends Design-by-Contract
approach and enables contractual architecture spec-
ification. While the functional and (minimal) inter-
action behaviours of components are specified via
functional and interaction contracts respectively, the
interaction protocols of connectors are via interac-
tion contracts. Connectors in XCD are decentralised
and do not impose global constraints on the compo-
nents. In this way, the common problem of connector-
supporting ADLs – potentially unrealisable software
architectures – is avoided. XCD comes with a tool that
translates architectures into ProMeLa models, which
can be analysed by the SPIN model checker. As a fur-
ther work, we are considering to improve our tool-set
so that visual architecture specification can be possi-
ble. Designers might feel more comfortable if they
could specify the structure of their components and
connectors diagrammatically and attach contracts to
them via a graphical user interface.
REFERENCES
Allen, R. and Garlan, D. (1996). A case study in architec-
tural modelling: The aegis system. In Proceedings of
the Eighth International Workshop on Software Spec-
ification and Design (IWSSD-8), pages 6–15, Pader-
born, Germany.
Allen, R. J. (1997). A formal approach to software architec-
ture. PhD thesis, Pittsburgh, PA, USA. AAI9813815.
Chalin, P., Kiniry, J. R., Leavens, G. T., and Poll, E. (2006).
Beyond assertions: Advanced specification and ver-
ification with JML and ESC/Java2. In FMCO’05 –
Formal Methods for Comp. and Obj., volume 4111 of
LNCS, pages 342–363. Springer.
Hoare, C. A. R. (1978). Communicating sequential pro-
cesses. Commun. ACM, 21(8):666–677.
Holzmann, G. J. (2004). The SPIN Model Checker - primer
and reference manual. Addison-Wesley.
Kiniry, J. R. and Zimmerman, D. M. (2008). Secret Ninja
Formal Methods. In Cu
´
ellar, J., Maibaum, T. S. E.,
and Sere, K., editors, FM, volume 5014 of Lecture
Notes in Computer Science, page 214228. Springer.
Magee, J. and Kramer, J. (2006). Concurrency – State mod-
els and Java programs (2. ed.). Wiley.
Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., and
Tang, A. (2012). What industry needs from architec-
tural languages: A survey. IEEE Transactions on Soft-
ware Engineering, 99.
Medvidovic, N. and Taylor, R. N. (2000). A classification
and comparison framework for software architecture
description languages. IEEE Trans. Software Eng.,
26(1):70–93.
Meyer, B. (1992). Applying “Design by Contract”. IEEE
Computer, 25(10):40–51.
Ozkaya, M. (2013). XCD website.
http://www.soi.city.ac.uk/
˜
abdz276/xcd.html.
Ozkaya, M. and Kloukinas, C. (2013a). Are we there
yet? analyzing architecture description languages
for formal analysis, usability, and realizability. In
Software Engineering and Advanced Applications
(SEAA), 2013 39th EUROMICRO Conference on,
pages 177–184.
Ozkaya, M. and Kloukinas, C. (2013b). Towards a design-
by-contract based approach for realizable connector-
centric software architectures. In ICSOFT, pages 555–
562.
Rumbaugh, J. E., Jacobson, I., and Booch, G. (1999).
The unified modeling language reference manual.
Addison-Wesley-Longman.
ArchitecturalSpecificationandAnalysiswithXCD-TheAegisCombatSystemCaseStudy
375