Using Coordinated Actors to Model Families of Distributed Systems

  • Ramtin Khosravi
  • Hamideh Sabouri
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7274)


Software product line engineering enables strategic reuse in development of families of related products. In a component-based approach to product line development, components capture functionalities appearing in one or more products in the family and different assemblies of components yield to various products or configurations. In this approach, an interaction model which effectively factors out the logic handling variability from the functionality of the system greatly enhances the reusability of components. We study the problem of variability modeling for a family of distributed systems expressed in actor model. We define a special type of actors called coordinators whose behavior is described as Reo circuits with the aim of encapsulating the variability logic. We have the benefits of Reo language for expressing coordination logic, while modeling the entire system as an actor-based distributed model. We have applied this model to a case study extracted from an industrial software family in the domain of interactive TV.


Output Port Software Product Line Media Circuit Model Family Incoming Message 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc. (2005)Google Scholar
  2. 2.
    Agha, G.: Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge (1986)Google Scholar
  3. 3.
    Kästner, C., Apel, S.: Integrating compositional and annotative approaches for product line engineering. In: Proc. Modularization, Composition and Generative Techniques for Product Line Engineering (McGPLE). University of Passau (2008)Google Scholar
  4. 4.
    Lee, J., Kang, K.C.: A feature-oriented approach to developing dynamically reconfigurable products in product line engineering. In: Proc. of the 10th International on Software Product Line Conference, pp. 131–140. IEEE Computer Society (2006)Google Scholar
  5. 5.
    Sabouri, H., Khosravi, R.: Reducing the model checking cost of product lines using static analysis techniques. In: FACS (to appear, 2012)Google Scholar
  6. 6.
    Sirjani, M., Movaghar, A., Shali, A., de Boer, F.: Modeling and verification of reactive systems using Rebeca. Fundamenta Informaticae 63(4), 385–410 (2004)MathSciNetGoogle Scholar
  7. 7.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Mathematical Structures in Comp. Sci. 14, 329–366 (2004)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Clarke, D., Muschevici, R., Proença, J., Schaefer, I., Schlatte, R.: Variability Modelling in the ABS Language. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 204–224. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Johnsen, E.B., Owe, O., Yu, I.C.: Creol: A type-safe object-oriented model for distributed concurrent systems. Theor. Comput. Sci. 365(1-2), 23–66 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-Oriented Programming of Software Product Lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Asirelli, P., ter Beek, M.H., Fantechi, A., Gnesi, S.: A Model-Checking Tool for Families of Services. In: Bruni, R., Dingel, J. (eds.) FMOODS/FORTE 2011. LNCS, vol. 6722, pp. 44–58. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  12. 12.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.J.M.M.: Modeling component connectors in reo by constraint automata. Sci. Comput. Program. 61(2), 75–113 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Klüppelholz, S., Baier, C.: Symbolic model checking for channel-based component connectors. Sci. Comput. Program. 74(9), 688–701 (2009)zbMATHCrossRefGoogle Scholar
  14. 14.
    Bonsangue, M., Clarke, D., Silva, A.: Automata for Context-Dependent Connectors. In: Field, J., Vasconcelos, V.T. (eds.) COORDINATION 2009. LNCS, vol. 5521, pp. 184–203. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in bip. In: Proc. of the Fourth IEEE Int. Conf. on Software Engineering and Formal Methods, pp. 3–12. IEEE Computer Society (2006)Google Scholar
  16. 16.
    Krause, C., Maraikar, Z., Lazovik, A., Arbab, F.: Modeling dynamic reconfigurations in Reo using high-level replacement systems. Sci. Comput. Program., 23–36 (January 2011)Google Scholar
  17. 17.
    Koehler, C., Costa, D., Proença, J., Arbab, F.: Reconfiguration of reo connectors triggered by dataflow. ECEASST 10 (2008)Google Scholar
  18. 18.
    Proenca, J.: Synchronous Coordination of Distributed Components. PhD thesis, Leiden University (2011)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2012

Authors and Affiliations

  • Ramtin Khosravi
    • 1
    • 2
  • Hamideh Sabouri
    • 1
  1. 1.School of ECEUniversity of TehranIran
  2. 2.School of CSInstitute for Studies in Fundamental Sciences (IPM)TehranIran

Personalised recommendations