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.
Similar content being viewed by others
References
Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comput Sci 14(3):329–366
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
Bagrodia R (1989) Process synchronization: design and performance evaluation of distributed algorithms. IEEE Trans Softw Eng 15(9):1053–1065
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
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
Basu A, Bozga M, Sifakis J (2006) Modeling heterogeneous real-time components in BIP. In: Software engineering and formal methods (SEFM), pp 3–12
Bliudze S, Sifakis J (2008) A notion of glue expressiveness for component-based systems. In: Concurrency theory (CONCUR), pp 508–522
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
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
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
Bonakdarpour B, Devismes S, Petit F (2011) Snap-stabilizing committee coordination. In: IEEE international parallel and distributed processing symposium (IPDPS), pp 231–242
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
Chandy KM, Misra J (1984) The drinking philosophers problem. ACM Trans Program Lang Syst 6(4):632–646
Chandy KM, Misra J (1988) Parallel program design: a foundation. Addison-Wesley, Boston
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
Gössler G, Sifakis J (2005) Composition for component-based modeling. Sci Comput Program 55(1–3):161–183
ISO/IEC (1989) Information Processing Systems—Open Systems Interconnection: LOTOS, a formal description technique based on the temporal ordering of observational behavior
Joung Y-J, Smolka SA (1998) Strong interaction fairness via randomization. IEEE Trans Parallel Distrib Syst 9(2):137–149
Jurdzinski M (2000) Small progress measures for solving parity games. In: Symposium on theoretical aspects of computer science (STACS), pp 290–301
Kumar D (1990) An implementation of n-party synchronization using tokens. In: IEEE international conference on distributed computing systems (ICDCS), pp 320–327
Lynch N (1996) Distributed algorithms. Morgan Kaufmann, San Mateo
Milner R (1995) Communication and concurrency. Prentice Hall International, Englewood Cliffs
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
Parrow J, Sjödin P (1992) Multiway synchronization verified with coupled simulation. In: International conference on concurrency theory (CONCUR), pp 518–533
Pérez JA, Corchuelo R, Toro M (2004) An order-based algorithm for implementing multiparty synchronization. Concurr Comput 16(12):1173–1206
Proença J (2011) Synchronous coordination of distributed components. PhD thesis, Faculteit der Wiskunde en Natuurwetenschappen
Tauber JA, Lynch NA, Tsai MJ (2004) Compiling IOA without global synchronization. In: Symposium on network computing and applications (NCA), pp 121–130
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
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-012-9091-0