Skip to main content
Log in

The DReAM framework for dynamic reconfigurable architecture modelling: theory and applications

  • Foundation for Mastering Change
  • Special Section REoCAS
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Modern systems evolve in unpredictable environments and have to continuously adapt their behaviour to changing conditions. The “DReAM” (Dynamic Reconfigurable Architecture Modelling) framework has been designed for modelling reconfigurable dynamic systems. It provides a rule-based language, inspired from Interaction Logic, which is expressive and easy to use encompassing all aspects of dynamicity including parametric multi-modal coordination with creation/deletion of components as well as mobility. Additionally, it allows the description of both endogenous/modular and exogenous/centralized coordination styles and sound transformations from one style to the other. The DReAM framework is implemented in the form of a Java API bundled with an execution engine. It allows us to develop runnable systems combining the expressiveness of the rule-based notation together with the flexibility of this widespread programming language.

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

Similar content being viewed by others

Notes

  1. For the sake of conciseness, from now on we will omit the conjunction operator on monomials.

  2. Notice that when writing, e.g. c.s, we are omitting the explicit reference to the component type b and using a shorter notation compared to the complete one, e.g. b.c.s.

  3. Notice that if the direction of a robot is updated at a given time, the robot will move according to this new direction only during the next clock cycle because of the adopted snapshot semantics.

  4. Since all robots synchronize on the same “clock”, many of them might update their respective directions differently at the same time: adding the “tiebreaker” on the instance identifier when timestamps are equal allows data exchange even in these cases.

References

  1. Garlan, D.: Software architecture: a travelogue. In: Proceedings of the on Future of Software Engineering, pp. 29–39. ACM (2014)

  2. Taivalsaari, A., Mikkonen, T., Systä, K.: Liquid software manifesto: the era of multiple device ownership and its implications for software architecture. In: Proceedings of the 38th Computer Software and Applications Conference, pp. 338–343. IEEE (2014)

  3. Bradbury, J.S.: Organizing definitions and formalisms for dynamic software architectures, Technical Report, vol. 477 (2004)

  4. Oreizy, P., et al.: Issues in modeling and analyzing dynamic software architectures. In: Proceedings of the International Workshop on the Role of Software Architecture in Testing and Analysis, pp. 54–57 (1998)

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

    Article  Google Scholar 

  6. Butting, A., Heim, R., Kautz, O., Ringert, J.O., Rumpe, B., Wortmann, A.: A classification of dynamic reconfiguration in component and connector architecture description languages. In: Pre-proceedings of 4th International Workshop on Interplay of Model-Driven and Component-Based Software Engineering, p. 13 (2017)

  7. Medvidovic, N., Dashofy, E.M., Taylor, R.N.: Moving architectural description from under the technology lamppost. Inf. Softw. Technol. 49(1), 12–31 (2007)

    Article  Google Scholar 

  8. De Nicola, R., Maggi, A., Sifakis, J.: Dream: dynamic reconfigurable architecture modeling. In: Margaria, T., Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation. Distributed Systems, pp. 13–31. Springer, Cham (2018)

    Chapter  Google Scholar 

  9. Bliudze, S., Sifakis, J.: The algebra of connectors: structuring interaction in BIP. IEEE Trans. Comput. 57(10), 1315–1330 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  10. Pinciroli, C., Lee-Brown, A., Beltrame, G.: Buzz: An extensible programming language for self-organizing heterogeneous robot swarms. arXiv preprint arXiv:1507.05946 (2015)

  11. Bozga, M., Jaber, M., Maris, N., Sifakis, J.: Modeling dynamic architectures using Dy-BIP. In: Software Composition, pp. 1–16. Springer, Berlin (2012)

  12. Milner, R.: A calculus of communicating systems (1980)

  13. Brookes, S.D., Hoare, C.A., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  14. Milner, R., Parrow, J., Walker, D.: A Calculus Of Mobile Processes, I. Inf. Comput. 100(1), 1–40 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  15. Alrahman, Y. Abd, Nicola, R. De, Loreti, M.: On the power of attribute-based communication. In: Proceedings of the Formal Techniques for Distributed Objects, Components, and Systems—FORTE 2016—36th IFIP WG 6.1 International Conference

  16. Pinciroli, C., Beltrame, G.: Buzz: an extensible programming language for heterogeneous swarm robotics. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2016, pp. 3794–3800, IEEE (2016)

  17. Bruni, R., Lafuente, A. L., Montanari, U., Tuosto, E.: Style based reconfigurations of software architectures, Universita di Pisa, Tech. Rep. TR-07-17, (2007)

  18. Bruni, R., Lluch-Lafuente, A., Montanari, U.: Hierarchical design rewriting with maude. Electron. Notes Theor. Comput. Sci. 238(3), 45–62 (2009)

    Article  MATH  Google Scholar 

  19. El Ballouli, R., Bensalem, S., Bozga, M., Sifakis, J.: Four exercises in programming dynamic reconfigurable systems: methodology and solution in DR-BIP. In: ISoLA 2018, vol. 11246. Springer (2018)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessandro Maggi.

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

De Nicola, R., Maggi, A. & Sifakis, J. The DReAM framework for dynamic reconfigurable architecture modelling: theory and applications. Int J Softw Tools Technol Transfer 22, 437–455 (2020). https://doi.org/10.1007/s10009-020-00555-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-020-00555-2

Keywords

Navigation