Changes between Version 7 and Version 8 of CurrentlyProposedLanguage


Ignore:
Timestamp:
Nov 4, 2010 4:31:18 PM (14 years ago)
Author:
sunshine
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CurrentlyProposedLanguage

    v7 v8  
    11This page describes currently proposed language for meta-descriptions. It may be updated frequently.
    22
    3 = Relational operators =
     3= Operators =
     4== Relational operators ==
    45Standard relational operators apply
    56||'''Meaning     '''    || '''Operator '''||
     
    1112||Different than  ||!=        ||
    1213
    13 = Logical operators =
     14== Logical operators ==
    1415Standard logical operators apply
    1516||'''Meaning''' || '''Operator '''||
     
    2122For events in the timeline of events, using '''and''' or '''or''' operators denotes that any ordering between these events is possible.
    2223
    23 = Arithmetic operators =
     24== Arithmetic operators ==
    2425Standard arithmetic operators apply and parenthesis are used for non-obvious precedence
    2526
    26 = Temporal operators =
     27== Temporal operators ==
    2728We want to be able to denote order and concurrency of events and state changes, and duration of events.
    2829||'''Meaning    '''                   ||''' Operator and example '''||
     
    3233||A occurs T time after B          || B ->,,T,, A          ||
    3334
    34 = Existential, cardinality and modal operators =
     35== Existential, cardinality and modal operators ==
    3536We want to be able to denote how many objects or events of a given type must/may occur.
    3637||'''Meaning'''                      || '''Operator and example''' ||
     
    4344||At least N objects/events of type A|| |A|,,>=N,,           ||
    4445||At most N objects/events of type A || |A|,,<=N,,           ||
     46==Conditions and loops==
     47We want to be able to express that an event occurs under certain conditions.
     48||'''Meaning'''||'''Operator and example''' ||
     49||if condition cond holds then A occurs else B occurs ||        if cond then A else B ||
     50||Repeat some action while condition cond holds       ||do A while cond ||
     51
     52= Objects =
     53       
     54An object has a type, may have certain variables associated with it, and an initial state. Logical topology describes (each item is in separate section):
     55 * Object types, variables of interest and initial state. A variable is a new object.
     56 * Object aliases if needed: an object in a given state or whose variable(s) have some given value(s) can be assigned an alias for easier human manipulation such as a Vulnerable node that is in infected state is called Infected node.
     57 * Cardinality of objects using the notation specified above
     58 * Topological relationships between objects: one example is '''collocated''' function. Users can define other relationship functions such as A and B being on the same subnet, A being a leaf node, etc. All function definitions reside in the domain knowledge base.
     59
     60|| '''Meaning''' ||     Operator and example ||
     61||A is of type X ||     A extends X          ||
     62||A’s initial state is Z ||     A := { state = Z} ||
     63||A has an object M of type Y and with initial value I ||       A := { Y M = I} ||
     64||A is an alias for B in state C        || B := A{ state = C}||
     65||There are N objects of type A || |A|,,N,, ||
     66||A is different than B||       A != B||
     67||A and B reside on the same physical node      ||collocated(A,B)||
     68
     69= States and state changes =
     70State name may be just a symbolic name or it may be associated with an object variable holding some value. An object in a given state always responds in the same manner to the same stimuli.
     71
     72State change names start with s followed by a number. They are defined within curly brackets by specifying the object and its new state, like this:
     73
     74{{{s1 := {object.state = newstate}}}}
     75
     76=Events =
     77
     78Some events may lead to transitions between states, others occur but don’t change object state. Each event has the type, the origin and one or more destinations. These are specified within curly brackets. Event names start with e followed by a number. Each event may have multiple parameters. Example of an event definition:
     79
     80{{{e1 := {type = TYPE, origin = object, destination = object, …}}}}
     81
     82