Architecture Descriptions of Software Systems: Complex Connectors vs Realisability

Mert Ozkaya

Abstract

With the advent of software architectures, architectural languages have become an active research area for the specification of software architectures in terms of components & connectors and for some extra capabilities such as formal analysis and code generation. In this paper, the existing architectural languages have been analysed for two important language features - i.e., interaction protocols and realisability. The analysis results show that only a few languages support interaction protocols via their first-class connector elements (also referred to as complex connectors). However, complex connectors of those languages lead to unrealisable specifications due to enabling global constraints which may not be possible for distributed systems. Therefore, practitioners cannot implement the system in the way specified, and any analyses (e.g., performance) made on the unrealisable specifications will all be invalid.

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. Binns, P., Englehart, M., Jackson, M., and Vestal, S. (1996). Domain-specific software architectures for guidance, navigation and control. International Journal of Software Engineering and Knowledge Engineering, 6(2):201-227.
  4. Bures, T. (2005). Automated synthesis of connectors for heterogeneous deployment. Tech. report no. 2005/4, Dep. of SW Engineering, Charles University, Prague.
  5. Bures, T., Hnetynka, P., and Plasil, F. (2006). SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model. In SERA, pages 40-48. IEEE Computer Society.
  6. Bures, T. and Plasil, F. (2004). Communication style driven connector configurations. In Ramamoorthy, C., Lee, R., and Lee, K., editors, Software Engineering Research and Applications, volume 3026 of Lecture Notes in Computer Science, pages 102-116. Springer Berlin Heidelberg.
  7. 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.
  8. Clements, P. C., Garlan, D., Little, R., Nord, R. L., and Stafford, J. A. (2003). Documenting software architectures: Views and beyond. In Clarke, L. A., Dillon, L., and Tichy, W. F., editors, ICSE, pages 740-741. IEEE Computer Society.
  9. 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.
  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. Galik, O. and Bures, T. (2005). Generating connectors for heterogeneous deployment. In Nitto, E. D. and Murphy, A. L., editors, SEM, pages 54-61. ACM.
  12. 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.
  13. Garlan, D. and Shaw, M. (1994). An introduction to software architecture. Technical report, Pittsburgh, PA, USA.
  14. Holzmann, G. J. (2004). The SPIN Model Checker - primer and reference manual. Addison-Wesley.
  15. 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.
  16. Kiczales, G. and Hilsdale, E. (2001). Aspect-oriented programming. SIGSOFT Softw. Eng. Notes, 26(5):313-.
  17. Kloukinas, C. and Ozkaya, M. (2012). Xcd - modular, realizable software architectures. In Pasareanu, C. S. and Salaün, G., editors, Formal Aspects of Component Software, 9th International Symposium, FACS 2012, Mountain View, CA, USA, September 12-14, 2012. Revised Selected Papers, volume 7684 of Lecture Notes in Computer Science, pages 152-169. Springer.
  18. Lago, P., Malavolta, I., Muccini, H., Pelliccione, P., and Tang, A. (2015). The road ahead for architectural languages. IEEE Software, 32(1):98-105.
  19. 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.
  20. Magee, J. and Kramer, J. (1996). Dynamic structure in software architectures. In SIGSOFT FSE, pages 3-14.
  21. Magee, J., Kramer, J., and Giannakopoulou, D. (1997). Analysing the behaviour of distributed software architectures: a case study. In FTDCS, pages 240-247. IEEE Computer Society.
  22. Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., and Tang, A. (2012). What industry needs from architectural languages: A survey. IEEE Transactions on Software Engineering, 99.
  23. Medvidovic, N., Oreizy, P., Robbins, J. E., and Taylor, R. N. (1996). Using object-oriented typing to support architectural design in the c2 style. In SIGSOFT FSE, pages 24-32.
  24. 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.
  25. Oussalah, M., Smeda, A., and Khammaci, T. (2004). An explicit definition of connectors for component-based software architecture. In ECBS, pages 44-51. IEEE Computer Society.
  26. Ozkaya, M. (2016a). Analysis of architectural languages. https://sites.google.com/site/ozkayamert1/als. Online; accessed: 2016-12-17.
  27. Ozkaya, M. (2016b). What is software architecture to practitioners: A survey. In Hammoudi, S., Pires, L. F., Selic, B., and Desfray, P., editors, MODELSWARD 2016 - Proceedings of the 4rd International Conference on Model-Driven Engineering and Software Development, Rome, Italy, 19-21 February, 2016., pages 677-686. SciTePress.
  28. Ozkaya, M. and Kloukinas, C. (2014). Design-bycontract for reusable components and realizable architectures. In Seinturier, L., de Almeida, E. S., and Carlson, J., editors, CBSE'14, Proceedings of the 17th International ACM SIGSOFT Symposium on Component-Based Software Engineering (part of CompArch 2014), Marcq-en-Baroeul, Lille, France, June 30 - July 4, 2014, pages 129-138. ACM.
  29. Perry, D. E. and Wolf, A. L. (1992). Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes, 17(4):40-52.
  30. Plasil, F. and Visnovsky, S. (2002). Behavior protocols for software components. IEEE Trans. Software Eng., 28(11):1056-1076.
  31. Reussner, R., Poernomo, I., and Schmidt, H. (2003). Reasoning about Software Architectures with Contractually Specified Components. In Cechich, A., Piattini, M., and Vallecillo, A., editors, Component-Based Software Quality, volume 2693 of Lecture Notes in Computer Science, page 287-325. Springer Berlin Heidelberg.
  32. Rumbaugh, J. E., Jacobson, I., and Booch, G. (2005). The unified modeling language reference manuel - covers UML 2.0, Second Edition. Addison Wesley object technology series. Addison-Wesley.
  33. 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.
  34. Taylor, R. N., Medvidovic, N., Anderson, K. M., Jr., E. J. W., Robbins, J. E., Nies, K. A., Oreizy, P., and Dubrow, D. L. (1996). A component- and messagebased architectural style for gui software. IEEE Trans. Software Eng., 22(6):390-406.
  35. Ubayashi, N., Nomura, J., and Tamai, T. (2010). Archface: A contract place where architectural design and code meet together. In Kramer, J., Bishop, J., Devanbu, P. T., and Uchitel, S., editors, ICSE, pages 75-84. ACM.
  36. van Ommering, R. C., van der Linden, F., Kramer, J., and Magee, J. (2000). The koala component model for consumer electronics software. IEEE Computer, 33(3):78-85.
Download


Paper Citation


in Harvard Style

Ozkaya M. (2017). Architecture Descriptions of Software Systems: Complex Connectors vs Realisability . In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-210-3, pages 382-391. DOI: 10.5220/0006139503820391


in Bibtex Style

@conference{modelsward17,
author={Mert Ozkaya},
title={Architecture Descriptions of Software Systems: Complex Connectors vs Realisability},
booktitle={Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2017},
pages={382-391},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006139503820391},
isbn={978-989-758-210-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Architecture Descriptions of Software Systems: Complex Connectors vs Realisability
SN - 978-989-758-210-3
AU - Ozkaya M.
PY - 2017
SP - 382
EP - 391
DO - 10.5220/0006139503820391