[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci Dept] / [R J Botting] / [Samples] / uml.mdl
[Index] [Contents] [Source Text] [About] [Notation] [Copyright] [Comment/Contact] [Search ]
Tue Sep 18 15:27:28 PDT 2007

Contents


    Conjectural Structure of Rational Rose mdl Files

      Syntax

      This is specifies a context free super-set of the actual possibilities.

    1. file::=#object, -- or paerhaps #value

    2. value::= element | compound_value .

    3. element::= boolean | string | integer | floating_point | ... .
    4. compound_value::= text_block | comma_list | value_list | list_list | object_list.
    5. boolean::= "TRUE" | "FALSE".

    6. text_block::= # (eoln "|" #non_eoln ).
    7. comma_list::= "(" element #(ows "," ows element ) ")".
    8. value_list::= "(" "value" #(ws element) ")".
    9. list_list::= "(" "list" #(ws element) ")".

    10. object_list::= "(" "object" ws type_name ws O(value) eoln #(ws named_value eoln) named_value ")".

    11. named_value::= name ws value.
    12. name::=identifier ~ type.

    13. type_name::@identifier.

      Lexicon

    14. string::= C.string.

    15. identifier::= C.identifer.

    16. integer::= C.decimal_integer | ... .

    17. floating_point::= decimal_integer "." decimal_integer.

    18. ws::= white_space_character #white_space_character.
    19. ows::= O(ws).

    20. eoln::=eoln_character #(eoln_character | ws).
    21. non_eoln::= char ~ eoln_character.

      Objects

      The type of the object determines the values and named_values that may/can/will be given to it:

    22. For t:type, object(t)::= "(" "object" ws t.tname(t) ws t.pvalue eoln #(ws t.nvalue eoln) t.nvalue ")".

    23. types::= $ Net{ tname:type_name, pvalue:O(value_types), values:name->value_type, name:=cor(values), nvalue:=|[n:names](name syntax(values(n))) }.

    24. type::@type = following,
      tname:type_namepvalue:O(value_type)values:names->value_type
      "Petal"-"version"+>vstring
      "Design"vstring"is_unit"+>vboolean | "is_loaded"+>vboolean | ...

    25. value_types::= $ Net{name:value_type, syntax:@string, ... }.
    26. value_type::@value_types= defined_terms folllowing,
      Net
      1. vstring::= the value_type with syntax=string.
      2. vboolean::=the value_type with syntax=boolean

      (End of Net)

      Notation

    27. Net::=a description of a constrained set of structured objects
    28. C::= See http://csci.csusb.edu/dick/samples/c.syntax.html.
    29. O::=optional (_).
    30. #::=zero or more of (_)

    . . . . . . . . . ( end of section Conjectural Structure of Rational Rose mdl Files) <<Contents | End>>

End