--%>

Modeling Language for SPIN-Promela

Modeling Language: The modeling language used for SPIN is called Promela (Process Meta Language). In fact, the name SPIN stands for Simple Promela Interpreter. Promela is a powerful C-like specification language with a variety of synchronization primitives that enables construction of models of distributed systems. Promela is a guarded command language for specifying possibly non-deterministic system behaviors in a distributed system design. It allows for the dynamic creation of concurrent processes which communicate synchronously or asynchronously via message channels.

For example, the following Promela specification describes two processes P and Q that synchronize over a critical region.

2110_promela1.jpg

A Promela model consists of declarations of types, channels, variables, and processes, as well as facilities for initializing the processes. For example,

2359_promela2.jpg

A model consists of a set of concurrent processes, each in turn consisting of a set of atomic guarded actions or transitions. An action whose guard is true is called enabled and can be executed; otherwise, it is disabled and cannot be executed. Actions are not really executed concurrently; rather, they are non-deterministically interleaved, and this is used to model concurrency. Also processes do not have to terminate, which is useful when modeling reactive systems.

   Related Questions in Programming Languages

  • Q : Explain Functional programming

    Functional programming: It is a style of programming related with languages like Haskell. The functional programming languages are more strongly tied to a mathematical concept of `function' than imperative programming languages. This makes it simpler

  • Q : Source and listener What do you mean by

    What do you mean by the term source and listener?

  • Q : Define Preempt Preempt: It is the

    Preempt: It is the presently executing thread might be preempted, or forced to give up control, by a higher priority thread which becomes eligible to run throughout its time slice.

  • Q : State the term tombstone lifetime

    State the term tombstone lifetime attribute?

  • Q : What is an Object construction Object

    Object construction: The creation of an object, generally through the new operator. Whenever an object is formed, a suitable constructor from its class is summoned.

  • Q : State De Morgans Theorem De Morgan's

    De Morgan's Theorem: The two rules which can help to simplify Boolean expressions comprising multiple logical-not operators in combination with the other Boolean operators.

  • Q : Explain the computer process Explain

    Explain the computer process.

  • Q : Programming assignment Written (7

    Written (7 points): pp. 303-304: 1, 5, 6, 7 pp. 363-364: 3, 4, 6. pp.303-304: 1. In what ways are the initialization, repetition test, and update steps alike for a sentinel-controlled loop and an endfile-controlled loop? How are they different? 5. Rewrite the program

  • Q : What is Common Gateway Interface Common

    Common Gateway Interface: The Common Gateway Interface (abbreviated as CGI) is a standard which permits Web clients to interact with programs on Web server. The CGI script is on the server and is able to process arguments or input from a client, and r

  • Q : What is a Software What is a Software :

    What is a Software: It is a program written to run on the computer.