Skip to main content
Log in

Model-based implementation of distributed systems with priorities

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

Model-based application development aims at increasing the application’s integrity by using models employed in clearly defined transformation steps leading to correct-by-construction artifacts. In this paper, we introduce a novel model-based approach for constructing correct distributed implementation of component-based models constrained by priorities. We argue that model-based methods are especially of interest in the context of distributed embedded systems due to their inherent complexity (e.g., caused by non-deterministic nature of distributed systems). Our method is designed based on three phases of transformation. The input is a model specified in terms of a set of behavioral components that interact through a set of high-level synchronization primitives (e.g., rendezvous and broadcasts) and priority rules for scheduling purposes. The first phase transforms the input model into a model that has no priorities. Then, the second phase transforms the deprioritized model into another model that resolves distributed conflicts by incorporating a solution to the committee coordination problem. Finally, the third phase generates distributed code using asynchronous point-to-point message passing primitives (e.g., TCP sockets). All transformations preserve the properties of their input model by ensuring observational equivalence. All the transformations are implemented and our experiments validate their effectiveness.

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

Similar content being viewed by others

References

  1. Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comput Sci 14(3):329–366

    Article  MATH  MathSciNet  Google Scholar 

  2. Bagrodia R (1987) A distributed algorithm to implement n-party rendevouz. In: Foundations of software technology and theoretical computer science, seventh conference (FSTTCS), pp 138–152

    Chapter  Google Scholar 

  3. Bagrodia R (1989) Process synchronization: design and performance evaluation of distributed algorithms. IEEE Trans Softw Eng 15(9):1053–1065

    Article  Google Scholar 

  4. Basu A, Bensalem S, Peled D, Sifakis J (2009) Priority scheduling of distributed systems based on model checking. In: Computer aided verification (CAV), pp 79–93

    Chapter  Google Scholar 

  5. Basu A, Bidinger P, Bozga M, Sifakis J (2008) Distributed semantics and implementation for systems with interaction and priority. In: Formal techniques for networked and distributed systems (FORTE), pp 116–133

    Google Scholar 

  6. Basu A, Bozga M, Sifakis J (2006) Modeling heterogeneous real-time components in BIP. In: Software engineering and formal methods (SEFM), pp 3–12

    Google Scholar 

  7. Bliudze S, Sifakis J (2008) A notion of glue expressiveness for component-based systems. In: Concurrency theory (CONCUR), pp 508–522

    Google Scholar 

  8. Bonakdarpour B, Bozga M, Jaber M, Quilbeuf J, Sifakis J (2010) Automated conflict-free distributed implementation of component-based models. In: IEEE symposium on industrial embedded systems (SIES), pp 108–117

    Chapter  Google Scholar 

  9. Bonakdarpour B, Bozga M, Jaber M, Quilbeuf J, Sifakis J (2010) From high-level component-based models to distributed implementations. In: ACM international conference on embedded software (EMSOFT), pp 209–218

    Google Scholar 

  10. Bonakdarpour B, Bozga M, Jaber M, Quilbeuf J, Sifakis J (2012, to appear) A framework for automated distributed implementation of component-based models. Distrib Comput. doi:10.1007/s00446-012-0168-6

  11. Bonakdarpour B, Devismes S, Petit F (2011) Snap-stabilizing committee coordination. In: IEEE international parallel and distributed processing symposium (IPDPS), pp 231–242

    Google Scholar 

  12. Bozga M, Jaber M, Sifakis J (2010) Source-to-source architecture transformation for performance optimization in bip. IEEE Trans Ind Inform 6(4):708–718

    Article  Google Scholar 

  13. Chandy KM, Misra J (1984) The drinking philosophers problem. ACM Trans Program Lang Syst 6(4):632–646

    Article  Google Scholar 

  14. Chandy KM, Misra J (1988) Parallel program design: a foundation. Addison-Wesley, Boston

    MATH  Google Scholar 

  15. Cheng C-H, Bensalem S, Chen Y-F, Yan R, Jobstmann B, Ruess H, Buckl C, Knoll A (2011) Algorithms for synthesizing priorities in component-based systems. In: Automated technology for verification and analysis (ATVA), pp 150–167

    Chapter  Google Scholar 

  16. Gössler G, Sifakis J (2005) Composition for component-based modeling. Sci Comput Program 55(1–3):161–183

    Article  MATH  Google Scholar 

  17. ISO/IEC (1989) Information Processing Systems—Open Systems Interconnection: LOTOS, a formal description technique based on the temporal ordering of observational behavior

  18. Joung Y-J, Smolka SA (1998) Strong interaction fairness via randomization. IEEE Trans Parallel Distrib Syst 9(2):137–149

    Article  Google Scholar 

  19. Jurdzinski M (2000) Small progress measures for solving parity games. In: Symposium on theoretical aspects of computer science (STACS), pp 290–301

    Google Scholar 

  20. Kumar D (1990) An implementation of n-party synchronization using tokens. In: IEEE international conference on distributed computing systems (ICDCS), pp 320–327

    Google Scholar 

  21. Lynch N (1996) Distributed algorithms. Morgan Kaufmann, San Mateo

    MATH  Google Scholar 

  22. Milner R (1995) Communication and concurrency. Prentice Hall International, Englewood Cliffs

    Google Scholar 

  23. Mittal N, Mohan PK (2007) A priority-based distributed group mutual exclusion algorithm when group access is non-uniform. J Parallel Distrib Comput 67(7):797–815

    Article  MATH  Google Scholar 

  24. Parrow J, Sjödin P (1992) Multiway synchronization verified with coupled simulation. In: International conference on concurrency theory (CONCUR), pp 518–533

    Google Scholar 

  25. Pérez JA, Corchuelo R, Toro M (2004) An order-based algorithm for implementing multiparty synchronization. Concurr Comput 16(12):1173–1206

    Article  Google Scholar 

  26. Proença J (2011) Synchronous coordination of distributed components. PhD thesis, Faculteit der Wiskunde en Natuurwetenschappen

  27. Tauber JA, Lynch NA, Tsai MJ (2004) Compiling IOA without global synchronization. In: Symposium on network computing and applications (NCA), pp 121–130

    Google Scholar 

  28. von Bochmann G, Gao Q, Wu C (1989) On the distributed implementation of LOTOS. In: Formal techniques for networked and distributed systems (FORTE), pp 133–146

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Borzoo Bonakdarpour.

Additional information

The research leading to these results has received funding from Canada under NSERC Discovery Grant 418396-2012, from the European Community’s Seventh Framework Programme [FP7/2007-2013] under grant agreement no. 248776 (PRO3D) and no. 257414 (ASCENS), and from ARTEMIS JU grant agreement ARTEMIS-2009-1-100230 (SMECY).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bonakdarpour, B., Bozga, M. & Quilbeuf, J. Model-based implementation of distributed systems with priorities. Des Autom Embed Syst 17, 251–276 (2013). https://doi.org/10.1007/s10617-012-9091-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-012-9091-0

Keywords

Navigation