Skip to main content
Log in

Automated semantics-preserving parallel decomposition of finite component and connector architectures

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

For the systematic development of logical, message-driven architectures, automating parallel decomposition of software components is important to achieve efficient modular and parallel system development. During development, monolithic components that realize multiple independent concerns need to be decomposed to obtain a higher quality architecture of cohesively encapsulated, better comprehensive components. Previous work did not address automated parallel decomposition of finite message-driven and logically timed components with respect to the influence of messages received via input channels on the messages sent via output channels. This, however, is a necessary prerequisite to enable the analysis of event chains across logically distributed architectures. To address this, we present a concept of influence between channels of components that supports automated semantics-preserving parallel decomposition of finite deterministic component implementations into independent, more comprehensible components that are better accessible for analysis and development. Therefore, we extend the Focus theory of time-synchronous components with the concept of influence, present a decomposition procedure leveraging this, and prove that the resulting system is semantically equivalent. This enables automatically decomposing monolithic software components (e.g., for stepwise refinement or refactoring) into smaller components of better cohesion and comprehensibility and thus facilitates automated software engineering.

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

Similar content being viewed by others

References

  • Béal, M., Carton, O.: Determinization of transducers over infinite words. In: ICALP, Springer, Lecture Notes in Computer Science, vol. 1853, pp. 561–570 (2000)

  • Béal, M.P., Carton, O.: Determinization of transducers over finite and infinite words. Theor. Comput. Sci. 289(1), 225–251 (2002)

    MathSciNet  MATH  Google Scholar 

  • Brim, L., Černá, I., Vařeková, P., Zimmerova, B.: Component-interaction automata as a verification-oriented component-based system specification. SIGSOFT Softw. Eng. Notes 31, 4-es (2006)

    Google Scholar 

  • Broy, M.: A logical basis for component-oriented software and systems engineering. Comput. J. 53(10), 1758–1782 (2010)

    Google Scholar 

  • Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces and Refinement. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  • Büchi, J.R.: On a decision method in restricted second order arithmetic. In: International Congress on Logic, Methodology and Philosophy of Science, pp. 1–11 (1962)

  • Butting, A., Haber, A., Hermerschmidt, L., Kautz, O., Rumpe, B., Wortmann, A.: Systematic language extension mechanisms for the MontiArc Architecture Description Language. In: Modelling Foundations and Applications (ECMFA’17), Held as Part of STAF 2017, Springer International Publishing, pp. 53–70 (2017)

  • Butting, A., Kautz, O., Rumpe, B., Wortmann, A.: Semantic differencing for message-driven component & connector architectures. In: International Conference on Software Architecture (ICSA’17), IEEE, pp. 145–154 (2017)

  • Butting, A., Kautz, O., Rumpe, B., Wortmann, A.: Continuously analyzing finite, message-driven, time-synchronous component & connector systems during architecture evolution. J. Syst. Softw. 149, 437–461 (2019)

    Google Scholar 

  • Campetelli, A., Hölzl, F., Neubeck, P.: User-friendly model checking integration in model-based development. In: International Conference on Computer Applications in Industry and Engineering (2011)

  • Carlsson, G., Yu, J.: A prime decomposition of probabilistic automata (2015). arXiv preprint arXiv:150301502

  • Cavalcante, E., Quilbeuf, J., Traonouez, L.M., Oquendo, F., Batista, T., Legay, A.: Statistical model checking of dynamic software architectures. In: European Conference on Software Architecture (2016)

  • de Alfaro, L., Henzinger, T.A.: Interface-based design. In: Engineering Theories of Software Intensive Systems (2005)

  • Debruyne, V., Simonot-Lion, F., Trinquet, Y.: EAST-ADL—an architecture description language. In: Architecture Description Languages, pp. 181–195. Springer (2005)

  • Díaz, J., Pérez, J., Garbajosa, J., Yagüe, A.: Change-impact driven agile architecting. In: 2013 46th Hawaii International Conference on System Sciences, pp. 4780–4789 (2013)

  • Díaz, J., Pérez, J., Garbajosa, J.: Agile product-line architecting in practice: a case study in smart grids. Inf. Softw. Technol. 56(7), 727–748 (2014)

    Google Scholar 

  • Farwer, B.: ω-Automata. In: Grädel, E., Thomas, W., Wilke, T. (eds.) Automata Logics and Infinite Games: A Guide to Current Research, pp. 3–21. Springer, Berlin (2002)

    MATH  Google Scholar 

  • Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley, Boston, MA (2012)

    Google Scholar 

  • France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Future of Software Engineering 2007 at ICSE (2007)

  • Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. The MK/OMG Press. Elsevier Science, Amsterdam (2011)

    Google Scholar 

  • Gerace, G., Gestri, G.: Decomposition of synchronous sequential machines into synchronous and asynchronous submachines. Inf. Control 11(5), 568–591 (1967)

    MathSciNet  Google Scholar 

  • Grosu, R., Rumpe, B.: Concurrent timed port automata. Technical Report TUM-I9533, TU Munich (1995)

  • Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)

    MATH  Google Scholar 

  • Hölzl, F., Feilkas, M.: AutoFocus 3—a scientific tool prototype for model-based development of component-based, reactive, distributed systems. In: Giese, H., Karsai, G., Lee, E., Rumpe, B., Schätz, B. (eds.) Model-Based Engineering of Embedded Real-Time Systems. Springer, Berlin (2010)

    Google Scholar 

  • Jongmans, S.S., Clarke, D., Proença, J.: A procedure for splitting data-aware processes and its application to coordination. Sci. Comput. Program. 115, 47–78 (2016)

    Google Scholar 

  • Koehler, C., Clarke, D.: Decomposing port automata. In: Proceedings of the 2009 ACM symposium on Applied Computing, pp. 1369–1373. ACM (2009)

  • Kokash, N., Krause, C., de Vink, E.P.: Data-aware design and verification of service compositions with Reo and mCRL2. In: Proceedings of the 2010 ACM Symposium on Applied Computing. ACM (2010)

  • Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Q. 2(3), 219–246 (1989)

    MathSciNet  MATH  Google Scholar 

  • Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., Tang, A.: What industry needs from architectural languages: a survey. IEEE Trans. Softw. Eng. 39, 869–891 (2013)

    Google Scholar 

  • Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26, 70–93 (2000)

    Google Scholar 

  • Milner, R.: Communicating and Mobile Systems: The π-Calculus. Cambridge University Press, New York, NY (1999)

    MATH  Google Scholar 

  • Naur, P., Randell, B. (eds.): Software engineering: report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7–11 Oct 1968, Brussels, Scientific Affairs Division, NATO (1969)

  • Nozaki, A.: Practical decomposition of automata. Inf. Control 36(3), 275–291 (1978)

    MathSciNet  MATH  Google Scholar 

  • Plotkin, B., Plotkin, T.: Decompositions and complexity of linear automata (2015). arXiv preprint arXiv:150606017

  • Poort, E.R.: Driving agile architecting with cost and risk. IEEE Softw. 31(5), 20–23 (2014)

    Google Scholar 

  • Razavi, N., Sirjani, M.: Using Reo for formal specification and verification of system designs. In: Proceedings of the Fourth ACM and IEEE International Conference on Formal Methods and Models for Co-design, 2006. MEMOCODE’06. Proceedings. IEEE Computer Society, pp. 113–122 (2006)

  • Ringert, J.O.: Analysis and Synthesis of Interactive Component and Connector Systems. Aachener Informatik-Berichte, Software Engineering, Band 19. Shaker Verlag, Herzogenrath (2014)

    Google Scholar 

  • Ringert, J.O., Rumpe, B.: A little synopsis on streams, stream processing functions, and state-based stream processing. Int. J. Softw. Inform. 5(1–2), 29–53 (2011)

    Google Scholar 

  • Ringert, J.O., Rumpe, B., Wortmann, A.: Model-based specification of component behavior with controlled underspecification. In: Modellbasierte Entwicklung eingebetteter Systeme (MBEES’16) (2016)

  • Safra, S.: On the complexity of σ-automata. In: Proceedings of the 29th Annual Symposium on Foundations of Computer Science, pp. 319–327. IEEE Computer Society (1988)

  • Schlegel, C., Steck, A., Lotz, A.: Model-driven software development in robotics: communication patterns as key for a robotics component model. In: Chugo, D., Yokota, S. (eds.) Introduction to Modern Robotics. iConcept Press, Hong Kong (2011)

    Google Scholar 

  • Strobl, F., Wisspeintner, A., Marz, A.: Specification of an elevator control system. Technical report, TU Munich (1999)

  • ter Beek, M.H., Ellis, C.A., Kleijn, J., Rozenberg, G.: Synchronizations in team automata for groupware systems. Comput. Support. Coop. Work (CSCW) 12, 21–69 (2003)

    Google Scholar 

  • Uygur, G., Sattler, S.M.: Parallel decomposition for safety-critical systems. In: 2013 3rd International Electric Drives Production Conference (EDPC), pp. 1–8 (2013)

  • Van Ommering, R., Van Der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. Computer 33(3), 78–85 (2000)

    Google Scholar 

  • Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S., Czarnecki, K.: Model-Driven Software Development: Technology, Engineering, Management. Wiley Software Patterns Series. Wiley, Hoboken (2013)

    Google Scholar 

  • Weber, A.: Transforming a single-valued transducer into a mealy machine. J. Comput. Syst. Sci. 56(1), 46–59 (1998)

    MathSciNet  MATH  Google Scholar 

  • Weber, A., Klemm, R.: Economy of description for single-valued transducers. Inf. Comput. 118(2), 327–340 (1995)

    MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

This research has partly received funding from the German Federal Ministry for Education and Research under Grant No. 01IS16043P. The responsibility for the content of this publication is with the authors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oliver Kautz.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kautz, O., Rumpe, B. & Wortmann, A. Automated semantics-preserving parallel decomposition of finite component and connector architectures. Autom Softw Eng 27, 119–151 (2020). https://doi.org/10.1007/s10515-020-00268-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-020-00268-5

Keywords

Navigation