--%>

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 the signing mandatory within

    Explain the signing mandatory within S60 3rd Edition.

  • Q : Why is Java pure object oriented

    Explain the reasons that Java is pure object oriented programming language.

  • Q : Explain Dynamic Language Runtime

    Explain Dynamic Language Runtime (DLR) briefly?

  • Q : Index value of the initial element in

    Write the index value of the initial element in an array?

  • Q : What is Bit manipulation operator Bit

    Bit manipulation operator: Operators, like &, | and ^, which are employed to examine and manipulate individual bits win the bytes of a data item. The shift operators, <<, >> and >>>, are too bit manipulation operators.

  • Q : Explain Singleton pattern Singleton

    Singleton pattern: It is a pattern which permits us to make sure that only a single instance of a specific class exists at any one time. Such an instance is termed as singleton. The pattern can as well be employed whenever instances would have no excl

  • Q : Introduction to Programming for

    The purpose of this assignment is to get you started with C++ programming. You'll develop simple programs (with input and output) to solve simple mathematical and engineering problems. 1. Write a program to compute the area A of an

  • Q : Explain Global variable Global variable

    Global variable: It is a phenomenon which is more generally regarded as being a trouble in structured programming languages than in object-oriented languages. In structured programming language, like C or Pascal, a global variable is one stated outsid

  • Q : Explain Package declaration Package

    Package declaration: It is a declaration employed to name a package. This should be the first item in the source file, preceding any import statements. For example,     pa

  • Q : Define Undeniable Signature Scheme

    Define Undeniable Signature Scheme?