Skip to main content
Log in

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

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

Notes

  1. The full formalization in Alloy is provided at http://d3s.mff.cuni.cz/projects/components_and_services/arcas/.

  2. In the Alloy documentation, Alloy theory is called Alloy model and a model of an Alloy theory is called Alloy model instance.

  3. http://www.eclipse.org/equinox/p2/ and http://maven.apache.org/.

  4. http://www.eclipse.org/modeling/emf/.

  5. http://d3s.mff.cuni.cz/projects/components_and_services/arcas/.

References

  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)

    Article  Google Scholar 

  2. Bures, T.: Generating Connectors for Homogeneous and Heterogeneous Deployment, PhD dissertation. Charles University in Prague, Dept. of Distributed and Dependable Systems (2006)

  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. 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. 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)

    Article  Google Scholar 

  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)

  7. Bures, T., Plasil, F.: Communication style driven connector configurations. In: Software Engineering Research and Applications. Springer, Berlin (2004)

  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. Bliudze, S., Sifakis, J.: The algebra of connectors: structuring interaction in BIP. In: Proceedings of EMSOFT ’07, pp. 11–20. ACM, New York (2007)

  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. Crnkovic, I., Larsson, M.: Building Reliable Component-Based Software Systems. Artech House, Norwood (2002)

    MATH  Google Scholar 

  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)

  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)

  14. El Ghazi, A., Taghdiri, M.: Relational Reasoning via SMT Solving, FM 2011: Formal Methods, pp. 133–148. Springer, Berlin (2011)

  15. Eén, N., Sörensson, N.: Translating pseudo-boolean constraints into SAT. J. Satisfiability Boolean Model. Comput. 2, 1–26 (2006)

    MATH  Google Scholar 

  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)

  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)

  18. Herold, S., Klus, H., Welsch, Y., et al.: CoCoME-the common component modeling example. The Common Component Modeling Example, pp. 16–53 (2008)

  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)

  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)

  21. Inverardi, P., Spalazzese, R., Tivoli, M.: Application-layer connector synthesis, Formal Methods for Eternal Networked Software Systems, pp. 148–190. Springer, Berlin (2011)

  22. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11, 256–290 (2002)

    Article  Google Scholar 

  23. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)

    Google Scholar 

  24. Jackson, D.: Alloy Language Reference. http://alloy.mit.edu (2011)

  25. Jackson, D., Sullivan, K.: COM revisited: tool-assisted modelling of an architectural framework. ACM SIGSOFT Softw. Eng. Notes 25, 149–158 (2000)

    Article  Google Scholar 

  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. 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)

  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)

  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)

  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. 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. 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)

  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. 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)

  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)

  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)

  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)

  38. Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2010)

    Google Scholar 

  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)

    Article  Google Scholar 

  40. Torlak, E.: A Constraint Solver for Software Engineering: Finding Models and Cores of Large Relational Specifications. Ph.D. Thesis, MIT, February (2009)

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to František Plášil.

Additional information

Communicated by Prof. Marsha Chechik.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Keznikl, J., Bureš, T., Plášil, F. et al. Automated resolution of connector architectures using constraint solving (ARCAS method). Softw Syst Model 13, 843–872 (2014). https://doi.org/10.1007/s10270-012-0274-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-012-0274-8

Keywords

Navigation