A Systematic Approach to Programming and Verifying Attribute-Based Communication Systems

A methodology is presented for the systematic development of systems of many components, that interact by relying on predicates over attributes that they themselves mutually expose. The starting point is a novel process calculus AbC (for Attribute-based Communication) introduced for modelling collective-adaptive systems. It is shown how to refine the model by introducing a translator from AbC into UML-like state machines that can be analyzed by UMC. In order to execute the specification, another translator is introduced that maps AbC terms into ABEL, a domain-specific framework that offers faithful AbC-style programming constructs built on top of Erlang. It is also shown how the proposed methodology can be used to assess relevant properties of systems and to automatically obtain an executable program for a non-trivial case study.

[1]  Rocco De Nicola,et al.  A Distributed Coordination Infrastructure for Attribute-Based Interaction , 2018, FORTE.

[2]  Rocco De Nicola,et al.  A Formal Approach to the Engineering of Domain-Specific Distributed Systems , 2018, COORDINATION.

[3]  Rocco De Nicola,et al.  ABEL - A Domain Specific Framework for Programming with Attribute-Based Communication , 2019, COORDINATION.

[4]  Rocco De Nicola,et al.  Action versus State based Logics for Transition Systems , 1990, Semantics of Systems of Concurrent Processes.

[5]  Rocco De Nicola,et al.  Programming and Verifying Component Ensembles , 2014, FPS@ETAPS.

[6]  Maurice H. ter Beek,et al.  From EU Projects to a Family of Model Checkers - From Kandinsky to KandISTI , 2015, Software, Services, and Systems.

[7]  Franco Mazzanti,et al.  Ten Diverse Formal Models for a CBTC Automatic Train Supervision System , 2018, MARS/VPT@ETAPS.

[8]  Hadrien Mélot,et al.  House of Graphs: A database of interesting graphs , 2012, Discret. Appl. Math..

[9]  Rocco De Nicola,et al.  TAPAs: A Tool for the Analysis of Process Algebras , 2008, Trans. Petri Nets Other Model. Concurr..

[10]  Stefania Gnesi,et al.  A logical verification methodology for service-oriented computing , 2012, TSEM.

[11]  Stefania Gnesi,et al.  On the Fly Verification of Network of Automata , 1999, PDPTA.

[12]  Alfredo Pironti,et al.  Provably correct Java implementations of Spi Calculus security protocols specifications , 2010, Comput. Secur..

[13]  Rocco De Nicola,et al.  Programming the Interactions of Collective Adaptive Systems by Relying on Attribute-based Communication , 2017, ArXiv.

[14]  Rocco De Nicola,et al.  Verifying Properties of Systems Relying on Attribute-Based Communication , 2017, ModelEd, TestEd, TrustEd.

[15]  Damien Zufferey,et al.  P: safe asynchronous event-driven programming , 2013, PLDI.

[16]  Franco Mazzanti,et al.  Towards formal methods diversity in railways: an experience report with seven frameworks , 2018, International Journal on Software Tools for Technology Transfer.

[17]  Maurice H. ter Beek,et al.  A state/event-based model-checking approach for the analysis of abstract system properties , 2011, Sci. Comput. Program..

[18]  Rocco De Nicola,et al.  Programming of CAS Systems by Relying on Attribute-Based Communication , 2016, ISoLA.

[19]  Rocco De Nicola,et al.  A Behavioural Theory for Interactions in Collective-Adaptive Systems , 2017, ArXiv.

[20]  Rocco De Nicola,et al.  GoAt: Attribute-Based Interaction in Google Go , 2018, ISoLA.

[21]  Joe Armstrong,et al.  Making reliable distributed systems in the presence of software errors , 2003 .

[22]  Rocco De Nicola,et al.  On the Power of Attribute-Based Communication , 2016, FORTE.

[23]  Luca Aceto,et al.  A Survey of Runtime Monitoring Instrumentation Techniques , 2017, PrePost@iFM.

[24]  Rocco De Nicola,et al.  AErlang: Empowering Erlang with Attribute-Based Communication , 2017, COORDINATION.

[25]  Rocco De Nicola,et al.  An Action-Based Framework for Verifying Logical and Behavioural Properties of Concurrent Systems , 1993, Comput. Networks ISDN Syst..

[26]  Rocco De Nicola,et al.  Three logics for branching bisimulation , 1995, JACM.