Un scenario contient la série d'instructions à exécuter lors d'une simulation. Ces instructions seront exécutées l'une après l'autre dans l'ordre où elles sont placées.
Définition d'un scénario
scenario
nom du scenario{
série d'instructions}
Le nom d'un scenario doit impérativement commencer par une lettre (majuscule de préférence) mais peut éventuellement être suivi par des chiffres, et ne pas contenir d'espace ni de caractère spéciaux.
Dans la version actuelle d'Ocelet on n'écrit qu'un seul scénario qui contient toutes les instructions d'une simulation. Ce scenario porte le nom du projet. D'ailleurs l'OMP génère automatiquement un scénario minimal correctement nommé quand on crée un nouveau projet.
scenario HelloW {
println("Hello world !")
}
L'exécution de ce scénario provoque simplement l'affichage du texte : Hello world !
Il peut être nécessaire de lancer le modèle à partir de la ligne de commande, comme lors d'une étude de sensibilité. Pour cela il existe la fonction Export to jar
accessible à partir du menu File
.
Quand on a exporté un modèle au format jar
, si ce modèle contient une définition de paramètres dans un bloc metadata {...}
il est possible de passer des valeurs pour ces paramètres sur la ligne commande.
Il faut respecter quelques contraintes :
metadata {...}
. Si le nombre de paramètres donnés sur la ligne de commande est différent, ce sont les valeurs par défaut qui seront utilisés.Boolean
, Byte
, Double
, Float
,Integer
, Long
, Short
, String
String
puis d'effectuer sois-même une conversion du paramètre dans un autre type dans le modèle Ocelet.Prenons un modèle Ocelet Mymodel.oclt
qui est écrit comme ceci :
metadata {
parameter Integer p1 {default 0}
parameter Double p2 {default 0.0}
parameter String p3 {default "nothing"}
parameter Boolean p4 {default false}
}
scenario Mymodel {
println("Model Mymodel")
println("p1: "+p1)
println("p2: "+p2)
println("p3: "+p3)
println("p4: "+p4)
println("Done.")
}
que l'on a exporté en mymodel.jar
On peut l'exécuter sans paramètre :
> java -jar mymodel.jar
Model Mymodel
p1: 0
p2: 0.0
p3: rien
p4: false
Done.
On peut lui donner de nouvelles valeurs :
> java -jar mymodel.jar 42 3.14159 demo true
Model Mymodel
p1: 42
p2: 3.14159
p3: demo
p4: true
Done.
Si on veut fournir un texte contenant des espace pour p3 on ajoute des guillements :
> java -jar mymodel.jar 42 3.14159 "Eat at Joe's" true
Model Mymodel
p1: 42
p2: 3.14159
p3: Eat at Joe's
p4: true
Done.
Si on fait une erreur de typage sur un paramètre on obtient un message mais cela n'est pas bloquant :
> java -jar mymodel.jar douze 3.14159 "Eat at Joe's" true
Warning: could not convert the argument "douze" into an Integer value
for the parameter p1. The default value will be used instead.
Model Mymodel
p1: 0
p2: 3.14159
p3: Eat at Joe's
p4: true
Done.
Si on ne met pas le bon nombre de paramètres ils sont ignorés :
> java -jar mymodel.jar 42 3.14159 "Eat at Joe's" true 100
Model Mymodel
p1: 0
p2: 0.0
p3: rien
p4: false
Done.