DocumentCode :
704160
Title :
Automatic Distributed Code Generation from Formal Models of Asynchronous Concurrent Processes
Author :
Evrard, Hugues ; Lang, Frederic
Author_Institution :
LIG, Univ. Grenoble Alpes, Grenoble, France
fYear :
2015
fDate :
4-6 March 2015
Firstpage :
459
Lastpage :
466
Abstract :
Formal process languages inheriting the concurrency and communication features of process algebras are convenient formalisms to model distributed applications, especially when they are equipped with formal verification tools (e.g., model-checkers) to help hunting for bugs early in the development process. However, even starting from a fully verified formal model, bugs are likely to be introduced while translating (generally by hand) the concurrent model -- which relies on high-level and expressive communication primitives -- into the distributed implementation -- which often relies on low-level communication primitives. In this paper, we present DLC, a compiler that enables distributed code to be generated from models written in a formal process language called LNT, which is equipped with a rich verification toolbox named CADP. The generated code can be either executed in an autonomous way (i.e., without requiring additional code to be defined by the user), or connected to external software through user-modifiable C functions. We present an experiment where DLC generates a distributed implementation from the LNT model of the Raft consensus algorithm.
Keywords :
C language; concurrency control; distributed processing; formal languages; process algebra; program compilers; program debugging; program verification; CADP; DLC; LNT; LNT model; Raft consensus algorithm; asynchronous concurrent process; automatic distributed code generation; communication features; concurrency features; concurrent model; distributed code; distributed implementation; formal models; formal process language; formal process languages; formal verification tools; high-level communication primitives; model distributed applications; model-checkers; process algebras; user-modifiable C functions; verification toolbox; Computer crashes; Libraries; Logic gates; Protocols; Semantics; Servers; Synchronization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel, Distributed and Network-Based Processing (PDP), 2015 23rd Euromicro International Conference on
Conference_Location :
Turku
ISSN :
1066-6192
Type :
conf
DOI :
10.1109/PDP.2015.96
Filename :
7092761
Link To Document :
بازگشت