--%>

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 Unions Unions: Unions in C and

    Unions: Unions in C and C++ are object overlays—aggregate quantities such as structs, except that each element of the union consists offset 0, and the total size of union is only as large as is required to hold its largest member (Kernighan and

  • Q : Types of layout managers Describe the

    Describe the layout manager and what are the various types of layout managers accessible?

  • Q : Define the term Runtime error Define

    Define the term Runtime error: It is an error which causes a program to finish whenever it is being run.

  • Q : CPU programming When a process enters

    When a process enters the CPU, your program must now "fork"and "exe" a stand alone child process. You MUST use "glxgears" for the child process.                            When a context switch occurs

  • Q : Define the term non-XML resource Define

    Define the term non-XML resource?

  • Q : Explain Constructor Constructor : A

    Constructor: A constructor is automatically called whenever an instance of its class is formed. A constructor always has similar name as its class, and encompass no return type. For example: public

  • Q : Explain the CPU scheduling decisions

    Explain the CPU scheduling decisions.

  • Q : Transport for XML Web Services What is

    What is the transport for XML Web Services? How can end-to-end security be provided for this transport?

  • Q : Explain the way to create a Mutex

    Explain the way to create a Mutex.

  • Q : Java program to sort ten numbers using

    Q. Write a java program to sort ten numbers using bubble sort method. Ans. class Bubble sort

    Discover Q & A

    Leading Solution Library
    Avail More Than 1440961 Solved problems, classrooms assignments, textbook's solutions, for quick Downloads
    No hassle, Instant Access
    Start Discovering

    18,76,764

    1950516
    Asked

    3,689

    Active Tutors

    1440961

    Questions
    Answered

    Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!

    Submit Assignment

    ©TutorsGlobe All rights reserved 2022-2023.