Carla: A Rule Language for Specifying Communications Architectures

Due to the unique requirements of a series of projects to specify communications architectures using graphical representations (Cara and MFD), we have developed the communications-oriented rule-based language Carla (Cara Rule Language), which provides an executable specification of the architecture being developed. Carla is designed to provide the ability to specify and simulate high-level, possibly incomplete, specifications of communications architectures, and to allow the developer to refine the specification through the addition of behavior-describing rules. Carla is also well-suited to creating black-box specifications of any system whose behavior depends on input/output history. We describe the features of the language, discuss various design issues, and provide examples of various communications protocols specified in Carla.

[1]  John L Berg,et al.  Protocol specification, testing, and verification, IV: edited by Shaula Yemini, Yechiam Yemini, and Robert Strom, 1987; North-Holland, Amsterdam, The Netherlands; 720 pages; hardback; $75.00; Illustrations, references; ISBN 0 444 87676 6. , 1988 .

[2]  Robert E. Milne,et al.  The formal description technique Estelle : J.P. Diaz, J.P. Ansart, J.P. Courtiat, P. Azema and V. Chari, eds. North-Holland, Amsterdam, Netherlands, 1989, Prince $102.50 (hardback), ISBN 0-444-87132-2. , 1990 .

[3]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[4]  Charles L. Forgy,et al.  OPS5 user's manual , 1981 .

[5]  Lothar F. Mackert,et al.  Communicating Rule Systems , 1987, PSTV.

[6]  Laurent Fribourg,et al.  Runnable protocol specifications using the logic interpreter SLOG , 1985, PSTV.

[7]  Henri E. Bal,et al.  Parallel programming using shared objects and broadcasting , 1992, Computer.

[8]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[9]  Carl A. Sunshine,et al.  Protocol Specification, Testing and Verification - Guest Editorial , 1982, Comput. Networks.

[10]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[11]  Wayne Citrin,et al.  An environment for interactive design of communications architectures , 1990, PSTV.

[12]  Nick Wilde,et al.  Using the programming walkthrough to aid in programming language design , 1994, Softw. Pract. Exp..

[13]  Ehud Shapiro,et al.  Concurrent PROLOG: Collected Papers , 1987 .

[14]  Kazunori Ueda,et al.  Guarded Horn Clauses , 1986, LP.

[15]  Hasan Ural,et al.  Executable Description of the OSI Transport Service in Prolog , 1985, Protocol Specification, Testing and Verification.

[16]  Alistair Cockburn,et al.  A Formalization of Temporal Message-Flow Diagrams , 1991, Protocol Specification, Testing and Verification.

[17]  Hasan Ural,et al.  Use of Prolog for building protocol design tools , 1985, PSTV.

[18]  Deepinder P. Sidhu Protocol Verification via Executable Logic Specifications , 1983, Protocol Specification, Testing, and Verification.

[19]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[20]  Wayne Citrin,et al.  Simulation of communications architecture specifications using Prolog , 1992, SIAP.

[21]  Wayne Citrin,et al.  Using formalized temporal message‐flow diagrams , 1995, Softw. Pract. Exp..