--%>

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 : Define Inner class Inner class : A

    Inner class: A class defined within an enclosing method or class. We use the word to refer to non-static nested classes.

  • Q : CORBA In what respects did CORBA seek

    In what respects did CORBA seek to improve on technologies such as SunRPC?

  • Q : Use of System Dynamic and System Runtime

    What is the use of System.Dynamic and System.Runtime.CompilerServices namespaces?

  • Q : Define Deprecated Deprecated : Somewhat

    Deprecated: Somewhat that has been made superseded by later on versions of the API. Deprecated methods must not be employed as there is no guarantee that they will carry on to subsist in the future versions.

  • Q : Define class Define class?

    Define class?

  • Q : Define Number base Number base : The

    Number base: The base employed to interpret the numerical characters. Binary notation is base 2 and decimal notation is base 10, for illustration.

  • Q : What is Bookmark Bookmark : It is

    Bookmark: It is employed by a Web browser to memorize details of a Uniform Resource Locator (URL).

  • Q : Throughout system testing the

    Someone complains that throughout system testing the application frequently crashes. What probable process problem does which indicate?

  • Q : Problem on Vectors Create a vector

    Create a vector representing x coordinates of a measurement with 20 points between 0 and 10. Create another vector y representing fake measurements which are related to the above x values as y = 2.3 x – 1.2. Next add random (normal, Gaussian) noise to the vector

  • Q : Explain Mutator method Mutator method :

    Mutator method: It is a method specifically designed to permit controlled modification of a private attribute of a class. By convention, we name the mutators with a set prefix obeyed by the name of the attribute being transformed. For example, the mut