--%>

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 : State the term DOM and how does this

    State the term DOM and how does this relate to XML?

  • Q : What is an IP address IP address : An

    IP address: An Internet Protocol (abbreviated as IP) address for a networked computer. Presently, IP addresses comprises of 4-byte values, written in dotted decimal notation, like 129.12.0.1. In future, IP addresses will be 16-bytes long to accommodat

  • Q : What is Lexicographic ordering

    Lexicographic ordering: It is the ordering of words as they would be easily found in a dictionary. It must be noted that dissimilar locales order identical looking words according to their own conventions - this exerts, in specific, to accented charac

  • Q : Explain way to communicate server with

    Explain the way to communicate server with more than one client.

  • Q : Define Property Specifications Property

    Property Specifications: Users can specify assertions using the assert(expr) statements. An assert statement is used to check if the property specified by the expression expr is valid within a state. If expr evaluates to 0, this implies that it is not

  • Q : State Default label Default label : The

    Default label: The destination for all values employed in a switch statement expression which do not contain explicit case labels. The default label is not obligatory.

  • Q : Describe Overriding for restriction

    Overriding for restriction: It is a form of method overriding in which the sub-class version of a method calls the super-class version first of all and then employs or manipulates the outcome or consequences of that call in some manner.

  • Q : CSS and CSS3 State some of the

    State some of the difference between the CSS and the CSS3.

  • Q : Use of XMLHttpRequest object in AJAX

    What is the use of XMLHttpRequest object in AJAX?

  • Q : Role of ScriptManagerProxy control?

    Explain the role of ScriptManagerProxy control?