Locked Spec Explorer: confused about machines and behaviors

  • Tuesday, May 24, 2011 5:18 PM
     
     
    I'm completely new to Spec Explorer, and trying to make my way through the documentation. I can't work out what the distinction is between "machines" and "behaviors".  When the documentation says "The machine can be referenced from other behaviors" is that the same as saying "the machine can be referenced from other machines"? If so, why the two terms. If not, what's the difference?

All Replies

  • Monday, May 30, 2011 2:26 AM
    Moderator
     
     Proposed

    Hello, digitig,

    Thanks for your feedback, we are now working on Spec Explorer Glossary to make the concept more clear, some of them will be ready in next release.

    For "Machine" and "Behavior", they're similiar, but machine is the exploration unit, which means you cannot explore the "behaviors" if they are not encapsulated in a machine. If you open Exploration Manager, you will find the machine list, but not behavior list.

    For example, A||B is a behavior, and when you encapsulate it in a machine like:

    machine MyMachine() : Main

    {

         A||B

    }

    It can be explored.

  • Saturday, July 02, 2011 12:07 AM
    Moderator
     
     Answered

    Here's another way to see it. A machine is

    1. a machine name,
    2. zero or more parameters,
    3. one or more config references,
    4. one or more switch overrides, and
    5. a behavior.

    #1 to #5 appear in the machine header. #5 appears within curly braces. The behavior is the machine's body.