AErlang at Work
AErlang is an extension of the Erlang programming language which is enriched with attribute-based communication. In AErlang, the Erlang send and receive constructs are extended to permit partner selection by relying on predicates over set of attributes. AErlang avoids the limitations of the Erlang point-to-point communication making it possible to model some of the sophisticated interaction features often observed in modern systems, such as anonymity and adaptation. By using our prototype extension, we show how the extended communication pattern can capture non-trivial process interaction in a natural and intuitive way. We also sketch a modelling technique aimed at automatically verifying AErlang systems, and discuss how it can be used to check some key properties of the considered case study.
KeywordsModel Checker Stable Match Preference List Current Partner Communication Primitive
We thank Franco Mazzanti from ISTI-CNR, Pisa for providing valuable insights on modelling in UML and for supporting us in using the UMC framework.
- 6.Thompson, S., Cesarini, F.: Erlang programming: a concurrent approach to software development (2009)Google Scholar
- 8.De Nicola, R., Duong, T., Inverso, O., Trubiani, C.: http://cs.gssi.infn.it/files/AErlang/AErlang-Technical-Report.pdf
- 11.Iwama, K., Miyazaki, S.: A survey of the stable marriage problem and its variants. In: Proceedings of the International Conference on Informatics Education and Research for Knowledge-Circulating Society (ICKS 2008), pp. 131–136. IEEE Computer Society (2008)Google Scholar
- 17.Fredlund, L., Svensson, H.: McErlang: a model checker for a distributed functional programming language. In: Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming (ICFP 2007), October 2007Google Scholar