Issue No. 04 - April (1993 vol. 19)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.223807
<p>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.</p>
L.0; truly concurrent executable temporal logic language; protocols; specification; simulation; true concurrency model; execution algorithm; standard imperative programming; state predicates; equality predicates; hierarchical message structure; Futurebus+; protocols; simulation languages; specification languages; temporal logic
L. Ness, "L.0: A Truly Concurrent Executable Temporal Logic Language for Protocols," in IEEE Transactions on Software Engineering, vol. 19, no. , pp. 410-423, 1993.