Advertisement

Software & Systems Modeling

, Volume 13, Issue 2, pp 843–872 | Cite as

Automated resolution of connector architectures using constraint solving (ARCAS method)

  • Jaroslav Keznikl
  • Tomáš Bureš
  • František Plášil
  • Petr Hnětynka
Regular Paper

Abstract

In current software systems, connectors play an important role by encapsulating the communication and coordination logic. Since they share common patterns (elements) depending on characteristics of the connections, the elements can be predefined and reused. A method of connector implementation based on a composition of predefined elements naturally comprises two steps: resolution of the connector architecture, and creation of the actual connector code based on the architecture. However, manual resolution of a connector architecture is very difficult due to the number of factors to be considered. Thus, the challenge is to come up with an automated method, able to address all the important factors. In this paper, we present a method for automated resolution of connector architectures based on constraint solving techniques. We exploit a propositional logic with relational calculus for defining a connector theory, a constraint specification reflecting both the predefined parts and the important resolution factors, and employ a constraint solver to find a suitable connector architecture as a model of the theory. As a proof of the concept, we show how the theory can be captured in the Alloy language and resolved via the Alloy Analyzer.

Keywords

Software architecture Software connectors Constraint solving Middleware-based connectors Connector theory Alloy 

Notes

Acknowledgments

This work was partially supported by the EU project ASCENS 257414 and by the Grant Agency of the Czech Republic, project GACR P202/10/J042. We are also very grateful to the anonymous reviewers for their valuable comments and suggestions and to Hugo Gibson for proofreading the text.

References

  1. 1.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Softw. Syst. Model 9(1), 69–86 (2008)CrossRefGoogle Scholar
  2. 2.
    Bures, T.: Generating Connectors for Homogeneous and Heterogeneous Deployment, PhD dissertation. Charles University in Prague, Dept. of Distributed and Dependable Systems (2006)Google Scholar
  3. 3.
    Bulej, L., Bures, T.: Addressing heterogeneity in OMG D&C-based deployment, Tech. Report No. 2004/7, Dep. of SW Engineering, Charles University, Prague. http://d3s.mff.cuni.cz/publications/ (2004)
  4. 4.
    Bulej, L., Bureš, T.: Deploying Heterogeneous Applications using OMG D&C and Software Connectors, Tech. Report No. 2005/10, Dep. of SW Engineering, Charles University, Prague. http://d3s.mff.cuni.cz/publications/, November (2005)
  5. 5.
    Benmokhtar, S., Georgantas, N., Issarny, V.: COCOA: COnversation-based service COmposition in pervAsive computing environments with QoS support. J. Syst. Softw. 80, 1941–1955 (2007)CrossRefGoogle Scholar
  6. 6.
    Bures, T., Hnetynka, P., Plasil, F.: SOFA 2: Balancing Advanced Features in a Hierarchical Component Model, Proceedings. of 4th International Conference on Software Engineering Research, Management and Applications (SERA ’06). IEEE Computer Society, Washington, DC (2006)Google Scholar
  7. 7.
    Bures, T., Plasil, F.: Communication style driven connector configurations. In: Software Engineering Research and Applications. Springer, Berlin (2004)Google Scholar
  8. 8.
    Blair, G., Paolucci, M., Grace, P., Georgantas, N.: Interoperability in complex distributed systems. In: Bernardo, M., Issarny, V. (eds.) SFM 2011, LNCS, vol. 6659. Springer, Heidelberg (2011)Google Scholar
  9. 9.
    Bliudze, S., Sifakis, J.: The algebra of connectors: structuring interaction in BIP. In: Proceedings of EMSOFT ’07, pp. 11–20. ACM, New York (2007)Google Scholar
  10. 10.
    Cubo, J., Canal, C., Pimentel, E.: Context-aware composition and adaptation based on model transformation. J. Universal Comput. Sci. 17, 777–806 (2011)Google Scholar
  11. 11.
    Crnkovic, I., Larsson, M.: Building Reliable Component-Based Software Systems. Artech House, Norwood (2002)zbMATHGoogle Scholar
  12. 12.
    De Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 337–340. Springer, Berlin (2008)Google Scholar
  13. 13.
    El Ghazi, A.A., Taghdiri, M.: Analyzing alloy constraints using an SMT solver: a case study. In: 5th International Workshop on Automated Formal Methods (AFM). Edinburgh (2010)Google Scholar
  14. 14.
    El Ghazi, A., Taghdiri, M.: Relational Reasoning via SMT Solving, FM 2011: Formal Methods, pp. 133–148. Springer, Berlin (2011)Google Scholar
  15. 15.
    Eén, N., Sörensson, N.: Translating pseudo-boolean constraints into SAT. J. Satisfiability Boolean Model. Comput. 2, 1–26 (2006)zbMATHGoogle Scholar
  16. 16.
    Georgiadis, I., Magee, J., Kramer, J.: Self-organising software architectures for distributed systems. In: Proceedings of the First Workshop on Self-Healing Systems, New York (2002)Google Scholar
  17. 17.
    Hansen, K.M., Ingstrup, M.: Modeling and analyzing architectural change with alloy. In: Proceedings of the 2010 ACM Symposium on Applied Computing-SAC ’10, p. 2257 (2010)Google Scholar
  18. 18.
    Herold, S., Klus, H., Welsch, Y., et al.: CoCoME-the common component modeling example. The Common Component Modeling Example, pp. 16–53 (2008)Google Scholar
  19. 19.
    Issarny, V., Bennaceur, A., Bromberg, Y.D.: Middleware-layer Connector Synthesis: Beyond State of the Art in Middleware Interoperability. In: Bernardo, M., Issarny, V. (eds.) Formal Methods for Eternal Networked Software Systems, pp. 217–255. Springer, Berlin (2011)Google Scholar
  20. 20.
    Issarny, V., Steffen, B., Jonsson, B., Blair, G., Grace, P., Kwiatkowska, M., Calinescu, R, Inverardi, P., Tivoli, M., Bertolino, A., Sabetta, A.: CONNECT Challenges: Towards Emergent Connectors for Eternal Networked Systems. In: 2009 14th IEEE International Conference on Engineering of Complex Computer Systems, pp. 154–161 (2009)Google Scholar
  21. 21.
    Inverardi, P., Spalazzese, R., Tivoli, M.: Application-layer connector synthesis, Formal Methods for Eternal Networked Software Systems, pp. 148–190. Springer, Berlin (2011)Google Scholar
  22. 22.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11, 256–290 (2002)CrossRefGoogle Scholar
  23. 23.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
  24. 24.
    Jackson, D.: Alloy Language Reference. http://alloy.mit.edu (2011)
  25. 25.
    Jackson, D., Sullivan, K.: COM revisited: tool-assisted modelling of an architectural framework. ACM SIGSOFT Softw. Eng. Notes 25, 149–158 (2000)CrossRefGoogle Scholar
  26. 26.
    Keznikl, J., Bureš, T., Plášil, F., Hnětynka, P.: Automated Resolution of Connector Architectures Using Constraint Solving (ARCAS method)”, Tech. Report No. D3S-TR-2012-03, Dep. of Distributed and Dependable Systems, Charles University, http://d3s.mff.cuni.cz/publications/ (2012)
  27. 27.
    Kim, J.S., Garlan, D.: Analyzing architectural styles with alloy. In: Proceedings of the ISSTA 2006 workshop on Role of software architecture for testing and analysis-ROSATEA ’06 (2006)Google Scholar
  28. 28.
    Le Berre, D., Parrain, A.: On SAT Technologies for Dependency Management and Beyond. In: Proceedings of 12th International Software Product Line (SPLC 2008) vol. 2, pp. 197–200 (2008)Google Scholar
  29. 29.
    Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proceedings of the 22nd International Conference on Software Engineering. ACM (2000)Google Scholar
  30. 30.
    Malohlava, M., Plášil, F., Bureš, T., Hnetynka, P.: Interoperable DSL Families for Code Generation, Tech. Report No. D3S-TR-2011-04, Dep. of Distributed and Dependable Systems, Charles University, Prague. http://d3s.mff.cuni.cz/publications/, April (2011)
  31. 31.
    Merle, P., Stefani, J.B.: A formal specification of the Fractal component model in Alloy, Research Report RR-6721, INRIA. http://hal.inria.fr/inria-00338987/en/ (2008)
  32. 32.
    Nakazawa, J., Tokuda, H., Edwards, W.K., Ramachandran, U.: A Bridging Framework for Universal Interoperability in Pervasive Systems. In: 26th IEEE International Conference on Distributed, Computing Systems (ICDCS’06), p. 3 (2006)Google Scholar
  33. 33.
    Object Management Group: Deployment and Configuration of Component-based Distributed Applications Specification. http://www.omg.org/cgi-bin/doc?formal/06-04-02.pdf, Feb (2004)
  34. 34.
    Radermacher, A., Cuccuru, A., Gerard, S., Terrier, F.: Generating Execution Infrastructures for Component-Oriented Specifications with a Model Driven Toolchain: A Case Study for MARTE’s GCM and Real-Time Annotations, pp. 127–136. ACM, New York Proceedings of the eighth international conference on Generative programming and component engineering (2009)Google Scholar
  35. 35.
    Robert, S., Radermacher, A., Seignole, V., Gérard, S., Watine, V., Terrier, F.: Enhancing interaction support in the corba component model, From Specification to Embedded Systems Application, pp. 137–146 (2005) Google Scholar
  36. 36.
    Spalazzese, R., Inverardi, P.: Mediating Connector Patterns for Components Interoperability. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 335–343. Springer, Heidelberg (2010)Google Scholar
  37. 37.
    Thaker, S., Batory, D., Kitchin, D., Cook, W.: Safe composition of product lines. In: Proceedings of the 6th International Conference on Generative Programming and Component Engineering, pp. 95–104. ACM, New York (2007)Google Scholar
  38. 38.
    Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2010)Google Scholar
  39. 39.
    Tiberghien, A., Merle, P., Seinturier, L.: Specifying Self-configurable component-based systems with FracToy. Abstract State Mach. Alloy B Z 5977, 91–104 (2010)CrossRefGoogle Scholar
  40. 40.
    Torlak, E.: A Constraint Solver for Software Engineering: Finding Models and Cores of Large Relational Specifications. Ph.D. Thesis, MIT, February (2009)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Jaroslav Keznikl
    • 1
  • Tomáš Bureš
    • 1
  • František Plášil
    • 1
  • Petr Hnětynka
    • 1
  1. 1.Faculty of Mathematics and PhysicsCharles University in PraguePrague 1Czech Republic

Personalised recommendations