# Synthesizing Decentralized Components from a Variant of Live Sequence Charts

### Dirk Fahland, Amir Kantor

#### Abstract

Live sequence charts (LSC) is a visual, executable, language for the modeling of reactive systems. Each chart depicts an inter-object scenario arising in the modeled system, partitioned into two: a monitored prechart, and a main chart. Despite the intuitive use of the language, complications arise when one wants to implement an LSC specification with decentralized components. In this paper, we introduce a variant of LSC, called distributed LSC (dLSC), which is targeted for the modeling and synthesis of decentralized systems, composed of several interacting components. While LSCs are commonly interpreted in terms of an interleaved execution of the scenarios in a sequential run, dLSCs employ partially ordered runs. We investigate the expressive power of dLSC compared to an established model of concurrent systems, namely, Petri nets, and show that dLSCs are, computationally, strictly more expressive than low-level Petri nets and subsumed by higher-level Petri nets. Specifically, we present an algorithm that synthesizes, given a dLSC specification, an equivalent token history net, which can serve as an executable implementation of the specification. Most importantly, the implementation is decentralized --- components can be automatically extracted from the net. The synthesis of Petri-net components from a dLSC specification is supported by a tool.

#### References

- Ben-Ari, M. (2006). Principles of Concurrent and Distributed Programming. Addison-Wesley, second edition.
- Bergenthum, R., Desel, J., Mauser, S., and Lorenz, R. (2009). Synthesis of Petri Nets from Term Based Representations of Infinite Partial Languages. Fundam. Inform., 95(1):187-217.
- Bontemps, Y. and Schobbens, P.-Y. (2007). The computational complexity of scenario-based agent verification and design. Journal of Applied Logic, 5(2):252 - 276.
- Goltz, U. and Reisig, W. (1983). Processes of Place/Transition-Nets. In ICALP'83, volume 154 of LNCS, pages 264-277. Springer.
- Harel, D. (1987). Statecharts: A visual formalism for complex systems. Sci. Comput. Program., 8(3):231-274.
- Harel, D. and Kugler, H. (2002). Synthesizing State-Based Object Systems from LSC Specifications. Int. J. of Foundations of Computer Science, 13(1):5-51.
- Harel, D. and Marelly, R. (2003). Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer.
- Harel, D. and Segall, I. (2012). Synthesis from scenariobased specifications. Journal of Computer and System Sciences, 78(3):970 - 980.
- ITU (1996). International Telecommunication Union Recommendation Z.120: Message Sequence Charts. Technical report.
- Jensen, K. (1987). Coloured Petri nets. In Petri Nets: Central Models and Their Properties, volume 254 of LNCS, pages 248-299. Springer.
- Jensen, K., Kristensen, L., and Wells, L. (2007). Coloured Petri nets and CPN Tools for modelling and validation of concurrent systems. International Journal on Software Tools for Technology Transfer (STTT), 9:213- 254.
- Liang, H., Dingel, J., and Diskin, Z. (2006). A Comparative Survey of Scenario-Based to State-Based Model Synthesis Approaches. In SCESM 7806, pages 5-12, ACM.
- Peterson, J. L. (1977). Petri nets. ACM Comput. Surv., 9(3):223-252.
- Pratt, V. (1986). Modeling concurrency with partial orders. Int. J. Parallel Program., 15(1):33-71.
- Ratzer, A., Wells, L., Lassen, H., Laursen, M., Qvortrup, J., Stissing, M., Westergaard, M., Christensen, S., and Jensen, K. (2003). CPN Tools for editing, simulating, and analysing coloured Petri nets. In ATPN 2003, volume 2679 of LNCS, pages 450-462. Springer.
- Reisig, W. (1985). Petri Nets: An Introduction. SpringerVerlag New York, Inc., New York, NY, USA.
- Sibay, G., Uchitel, S., and Braberman, V. A. (2008). Existential live sequence charts revisited. In ICSE'08, pages 41-50. ACM.
- Uchitel, S., Kramer, J., and Magee, J. (2001). Detecting Implied Scenarios in Message Sequence Chart Specifications. SIGSOFT Soft. Eng. Notes, 26(5):74-82.
- Van Hee, K., Serebrenik, A., and Sidorova, N. (2008). Token history Petri nets. Fundam. Inf., 85(1-4):219-234.
- Van Hee, K., Serebrenik, A., Sidorova, N., and Van Der Aalst, W. (2007). History-dependent Petri nets. In ATPN'07, volume 4546 of LNCS, pages 164-183. Springer.
- set of all continuations of l according to L, which is denoted by lBL. Put lm = hEm; <m; mi, and, without loss of generality, assume that E \ Em = ; (we may always take lm0 = lm satisfying this constraint).

#### Paper Citation

#### in Harvard Style

Fahland D. and Kantor A. (2013). **Synthesizing Decentralized Components from a Variant of Live Sequence Charts** . In *Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,* ISBN 978-989-8565-42-6, pages 25-38. DOI: 10.5220/0004320500250038

#### in Bibtex Style

@conference{modelsward13,

author={Dirk Fahland and Amir Kantor},

title={Synthesizing Decentralized Components from a Variant of Live Sequence Charts},

booktitle={Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},

year={2013},

pages={25-38},

publisher={SciTePress},

organization={INSTICC},

doi={10.5220/0004320500250038},

isbn={978-989-8565-42-6},

}

#### in EndNote Style

TY - CONF

JO - Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,

TI - Synthesizing Decentralized Components from a Variant of Live Sequence Charts

SN - 978-989-8565-42-6

AU - Fahland D.

AU - Kantor A.

PY - 2013

SP - 25

EP - 38

DO - 10.5220/0004320500250038