Browse Source

Updated documentation of the modelling language

Yentl Van Tendeloo 5 years ago
parent
commit
b7362843c6
1 changed files with 6 additions and 5 deletions
  1. 6 5
      doc/modeller_modellanguage.rst

+ 6 - 5
doc/modeller_modellanguage.rst

@@ -9,7 +9,7 @@ All models have the extension \*.mvc, indicating that they are models and should
 There is no constraint that this extension is mandatory.
 
 First, we show an example on how to create a simple PetriNet model.
-To take into account action language in the example model, we will also show an example for Finite State Automata.
+To take into account action language in the example model, we will also show an example for Finite State Automata afterwards.
 
 Example: Petri Nets
 -------------------
@@ -43,7 +43,7 @@ The name immediately after the type (e.g., *p1*), is the identifier used through
 All identification of the element at the model-level should happen based on defined attributes.
 The identifiers can also be overwritten internally, in which case the latest definition is used.
 Do note that there is no concept of scope here, so identifiers stay visible throughout the whole file.
-It is possible to have anonymous identifiers, but only if the identifier is actually never used.
+It is possible to have anonymous identifiers, but only if the identifier is not used in the remainder of the file (e.g., not the source of an association).
 For example, the two arcs could just as well have been defined as follows ::
 
     P2T (p1, t1) {
@@ -58,7 +58,7 @@ Example: Finite State Automata
 ------------------------------
 
 Next we use a simple Finite State Automata example model.
-This will introduce two new concepts: hierarchy, long strings, and code attributes.
+This will introduce some new concepts: hierarchy, long strings, and code attributes.
 
 Hierarchy
 ^^^^^^^^^
@@ -183,6 +183,9 @@ It is possible to define include statements at the top of the model, in which ca
             $
     }
 
+As mentioned before, the Action Language does not allow for subfunctions, but it is possible for there to be multiple functions between the dollar tags.
+In that case, the function with name *main* is executed first, or, if no such function exists, the topmost function is chosen.
+
 Using the Model Representation
 ------------------------------
 
@@ -196,5 +199,3 @@ Another function that can be used, is the *model_overwrite* function, which over
 
     >>> model_overwrite("models/my_pn", "formalisms/PetriNets", open("my_pn.mvc", "r").read())
 
-Note that *model_overwrite* can also be used without the textual model parameter, in which case it will clear the specified model.
-That is, overwrite the model with an empty model.