--%>

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 term XForms Explain the

    Explain the term XForms.

  • Q : Define owns to the Kernel Object Define

    Define owns to the Kernel Object? Answer: Kernel objects are owned through the kernel, not through a process.

  • Q : Explain Magic number Magic number : It

    Magic number: It is a constant value with significance within a specific context. For example, the value 12 could mean numerous different things - the number of hrs you have worked today, the number of dollars you are payable by a friend, and so forth

  • Q : Define Statement Statement : The

    Statement: The fundamental building block of Java method. There are numerous different kinds of statement in Java, for example, the assignment statement, if statement, while loop and return statement.

  • Q : How would you extract an exact

    How would you extract an exact attribute by using XSLT, from an element into an XML document?

  • Q : Define the term Instance Define the

    Define the term Instance: It is a synonym for object. The objects of a class are instantiated whenever a class constructor is invoked through the new operator.

  • Q : What is an Internet Service Provider

    Internet Service Provider: It is an Internet Service Provider (abbreviated as ISP) gives connections to the Internet for users who do not contain their own network. The ISP gives such user with their own IP address which enables them to interact with

  • Q : Input and output formatting in C++

    Input output formatting in C++: C++ support

  • Q : What is Application programming

    Application programming interface (API): It is a set of definitions that you can make use of it in writing programs. In the perspective of Java, these are the classes, packages, and interfaces which can be utilized to build complex ap

  • Q : What is Reduce Concurrency Reduce

    Reduce Concurrency: From a model-checking perspective, the searched state space consists of all possible thread-state combinations, which implies that the level of concurrency has the biggest impact on state space size. As a consequence, reducing conc