Title :
L.0: a truly concurrent executable temporal logic language for protocols
Author_Institution :
Bellcore, Morristown, NJ, USA
fDate :
4/1/1993 12:00:00 AM
Abstract :
The semantics L.0, a programming language designed for the specification and simulation of protocols that assumes a true concurrency model, is given in terms of predicate linear temporal logic, and the restricted universe of models assumed in L.0 programs is defined. The execution algorithm for L.0 constructs a model in this universe. The restricted subset of temporal logic exploited permits a nonbacktracking execution algorithm. Fundamental to the semantics of L.0 is a frame assumption, which generalizes the frame assumption of standard imperative programming, and which eases specification of protocols. The data domain assumed in L.0 programs is sets of trees with labeled edges, and the state predicates permitted include existence and nonexistence predicates, as well as the more traditional assignment and equality predicates. These choices for data domain and predicates permit convenient specification of the hierarchical message structure often assumed in telecommunications protocols, for in such message structures, the existence or nonexistence of parts of the message hierarchy is determined by logical properties of the rest of the message hierarchy. A small portion of the logical layer specification of Futurebus+ is taken as the main example in this study
Keywords :
protocols; simulation languages; specification languages; temporal logic; Futurebus+; L.0; equality predicates; execution algorithm; hierarchical message structure; protocols; simulation; specification; standard imperative programming; state predicates; true concurrency model; truly concurrent executable temporal logic language; Access protocols; Broadcasting; Computer languages; Concurrent computing; Helium; Interleaved codes; Logic design; Logic programming; Multimedia communication; Transport protocols;
Journal_Title :
Software Engineering, IEEE Transactions on