Towards a Design-by-contract based Approach for Realizable Connector-centric Software Architectures

Mert Ozkaya, Christos Kloukinas

Abstract

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, (ii) lack of support for complex connectors, and (iii) potentially unrealizable designs. In this paper we propose a new ADL that is based on Design-by-Contract (DbC) for specifying software architectures. While DbC promotes a formal and precise way of specifying system behaviours, it is more familiar to practising developers, thus allowing for a more comfortable way of specifying architectures than using process algebras. Furthermore, by granting connectors a first-class status, our ADL allows designers to specify not only simple interaction mechanisms as connectors but also complex interaction protocols. Finally, in order to ensure that architectural designs are always realizable we eliminate potentially unrealizable constructs in connector specifications (the connector “glue”).

References

  1. Allen, R. and Garlan, D. (1997). A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol., 6(3):213-249.
  2. Alur, R., Etessami, K., and Yannakakis, M. (2003). Inference of message sequence charts. IEEE Trans. Software Eng., 29(7):623-633.
  3. Alur, R., Etessami, K., and Yannakakis, M. (2005). Realizability and verification of msc graphs. Theor. Comput. Sci., 331(1):97-114.
  4. Bergstra, J. A., Ponse, A., and Smolka, S. A., editors (2001). Handbook of Process Algebra. Elsevier.
  5. Bjørner, D. and Jones, C. B., editors (1978). The Vienna Development Method: The Meta-Language, volume 61 of Lecture Notes in Computer Science. Springer.
  6. Canal, C., Pimentel, E., and Troya, J. M. (1999). Specification and refinement of dynamic software architectures. In Donohoe, P., editor, WICSA, volume 140 of IFIP Conference Proceedings, pages 107-126. Kluwer.
  7. Chalin, P., Kiniry, J. R., Leavens, G. T., and Poll, E. (2006). Beyond assertions: Advanced specification and verification with JML and ESC/Java2. In FMCO'05 - Formal Methods for Comp. and Obj., volume 4111 of LNCS, pages 342-363. Springer.
  8. Dashofy, E. M., van der Hoek, A., and Taylor, R. N. (2002). An infrastructure for the rapid development of xmlbased architecture description languages. In Tracz, W., Young, M., and Magee, J., editors, ICSE, pages 266-276. ACM.
  9. Delanote, D., Baelen, S. V., Joosen, W., and Berbers, Y. (2008). Using aadl to model a protocol stack. In ICECCS, pages 277-281. IEEE Computer Society.
  10. Feiler, P. H., Gluch, D. P., and Hudak, J. J. (2006). The Architecture Analysis & Design Language (AADL): An Introduction. Technical report, Software Engineering Institute.
  11. Garlan, D., Allen, R., and Ockerbloom, J. (1995). Architectural mismatch or why it's hard to build systems out of existing parts. In ICSE, pages 179-185.
  12. Garlan, D. and Shaw, M. (1993). An introduction to software architecture. In Ambriola, V. and Tortora, G., editors, Advances in Software Engineering and Knowledge Engineering, pages 1-39, Singapore. World Scientific Publishing Company. Also appears as SCS and SEI technical reports: CMU-CS-94-166, CMU/SEI94-TR-21, ESC-TR-94-021.
  13. Hoare, C. A. R. (1969). An axiomatic basis for computer programming. Commun. ACM, 12(10):576-580.
  14. Issarny, V., Bennaceur, A., and Bromberg, Y.-D. (2011). Middleware-layer connector synthesis: Beyond state of the art in middleware interoperability. In Bernardo, M. and Issarny, V., editors, SFM, volume 6659 of Lecture Notes in Computer Science, pages 217-255. Springer.
  15. Luckham, D. C. (1996). Rapide: A language and toolset for simulation of distributed systems by partial orderings of events. Technical report, Stanford University, Stanford, CA, USA.
  16. Magee, J. and Kramer, J. (1996). Dynamic structure in software architectures. In SIGSOFT FSE, pages 3-14.
  17. Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., and Tang, A. (2013). What industry needs from architectural languages: A survey. IEEE Transactions on Software Engineering, 99(PrePrints):1-25. DOI: 10.1109/TSE.2012.74 .
  18. 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.
  19. Meyer, B. (1992). Applying “Design by Contract”. IEEE Computer, 25(10):40-51.
  20. OMG (2006). Corba component model 4.0 specification. Specification Version 4.0, Object Management Group.
  21. Perry, D. E. and Wolf, A. L. (1992). Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes, 17(4):40-52.
  22. Plasil, F. and Visnovsky, S. (2002). Behavior protocols for software components. IEEE Trans. Software Eng., 28(11):1056-1076.
  23. Schmidt, H., Poernomo, I., and Reussner, R. (2001). Trustby-contract: Modelling, analysing and predicting behaviour of software architectures. J. Integr. Des. Process Sci., 5(3):25-51.
  24. Schreiner, D. and Gö schka, K. M. (2007). Explicit connectors in component based software engineering for distributed embedded systems. In Proceedings of the 33rd conference on Current Trends in Theory and Practice of Computer Science, SOFSEM 7807, pages 923-934, Berlin, Heidelberg. Springer-Verlag.
  25. Shaw, M., DeLine, R., Klein, D. V., Ross, T. L., Young, D. M., and Zelesnik, G. (1995). Abstractions for software architecture and tools to support them. IEEE Trans. Software Eng., 21(4):314-335.
  26. Tripakis, S. (2001). Undecidable problems of decentralized observation and control. In Proc. of the 40th IEEE Conf. on Decision and Control, volume 5, pages 4104-4109, Orlando, FL, USA. IEEE.
  27. Tripakis, S. (2004). Undecidable problems of decentralized observation and control on regular languages. Inf. Process. Lett., 90(1):21-28.
Download


Paper Citation


in Harvard Style

Ozkaya M. and Kloukinas C. (2013). Towards a Design-by-contract based Approach for Realizable Connector-centric Software Architectures . In Proceedings of the 8th International Joint Conference on Software Technologies - Volume 1: ICSOFT-PT, (ICSOFT 2013) ISBN 978-989-8565-68-6, pages 555-562. DOI: 10.5220/0004592305550562


in Bibtex Style

@conference{icsoft-pt13,
author={Mert Ozkaya and Christos Kloukinas},
title={Towards a Design-by-contract based Approach for Realizable Connector-centric Software Architectures},
booktitle={Proceedings of the 8th International Joint Conference on Software Technologies - Volume 1: ICSOFT-PT, (ICSOFT 2013)},
year={2013},
pages={555-562},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004592305550562},
isbn={978-989-8565-68-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 8th International Joint Conference on Software Technologies - Volume 1: ICSOFT-PT, (ICSOFT 2013)
TI - Towards a Design-by-contract based Approach for Realizable Connector-centric Software Architectures
SN - 978-989-8565-68-6
AU - Ozkaya M.
AU - Kloukinas C.
PY - 2013
SP - 555
EP - 562
DO - 10.5220/0004592305550562