--%>

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 : What is Shortcut key Shortcut key : A

    Shortcut key: A key-press related with a component in a Graphical User Interface (abbreviated as GUI) which provides an alternative to choosing the component's operation with mouse.

  • Q : Define Final class Final class : This

    Final class: This is the class with final reserved word in its header. A final class might not be extended by the other class.

  • Q : DOT Net namespace Explain the main

    Explain the main classes given by the .NET namespace to process the XML files.

  • Q : Define the term Icon Icon : It is an

    Icon: It is an image intended to communicate the language-or culturally-independent meaning.

  • Q : What is an Operator Operator : It is a

    Operator: It is a symbol, like -, = or ?: taking one, two or three operands and yielding an outcome. The operators are employed in both arithmetic and Boolean expressions.

  • Q : Components of ASP.NET AJAX architecture

    Name the components of ASP.NET AJAX architecture?

  • Q : Explain If-else statement If-else

    If-else statement: It is a control structure employed to select between performing one of two alternative events.     if(boolean-expression){        // Statem

  • Q : Explain Coupling Coupling : Coupling

    Coupling: Coupling occurs whenever classes are aware of each of other as their instances should interact. The linkage between two classes which might be either weak or strong. Stronger coupling occurs whenever one class has a thorough knowledge of the

  • Q : What is Low level programming languages

    Low level programming languages: It is frequently termed as `assembly languages’; these give little more than the fundamental instruction set of a particular Central Processing Unit. Therefore programs written in low level programming languages

  • Q : Explain the way to handle the mapping

    Explain the way to handle the mapping form.