Workflow <sew-id> "<description> of the Symbolic Execution Workflow" { workspace { //... } project { //... } // Default Job job = Job <id> "<description>" { // ... } // Additional Job job += Job <id> "<description>" { // ... } /* sop : Sequence | Parallel */ scheduler = <sop> { start <jod-id-1> start <jod-id-1> } }
workspace { // Chemin absolu ou relatif (au dossier de lancement!) du projet SEW root = <path> // Chemin relatif à @project (ou absolu!) du dossier contenant les fichiers XFSP source = <path> // Chemin relatif à @project (ou absolu!) du dossier principal des fichiers générés par DIVERSITY output = <path> // Chemin relatif à @output (ou absolu!) du dossier des fichiers log et debug log = <path> }
project { // ... }
stream { // ... } project { //... } main = MainAnalysisModule <id> "<description> of the Main Analysis Module" { // ... } serializer = GraphVizStatemachineSerializer <id> "<description>" { // ... } serializer = GraphVizExecutionGraphSerializer <id> "<description>" { // ... } fam += StateTransitionCoverageModule "State/Transition Coverage Analysis Module" { // ... } fam += HitOrJumpModule "Hit or Jump Analysis Module" { // ... } fam "Formal Analysis Module" = hitorjump { // "Processor" de gestion des critères d'arrêt absolus (paramètres utilisateur) main { @property: log: debug { } queue { } } } }
stdin as Standard Input Stream
stdout as Standard Output Stream
stderr as Standard Error Stream
project as model specification
stream { /* uri : std "::" ( 'cout' | 'cerr' | 'cin' ) | sew "::" ( 'log' | 'trace' ) | folder "::" <path> | file "::" <path> | filename "::" <path> | socket "::" <host-id> ":" <port-number> */ stdin = <uri> stdout = <uri> stderr = <uri> // ... }
project { // Chemin relatif à @workspace::source (ou absolu!) model = <FormalML-Concrete-Syntax.fml> // ... }
fam += CoverageFAM "Transition Coverage Analysis Module" { priority { // ... } }
priority { preprocess = <integer> prefilter = <integer> postfilter = <integer> postprocess = <integer> // ... }
main += MainAnalysisModule <id> "<description> of the MAM" { queue <id> "Symbolic Execution Queue" { // ... } limit <id> "Symbolic Execution Processing Limit" { // ... } // Nombre de noeud MAXIMAL (-1 <=> no-limit) de l'arbre d'évaluation symbolique node = <integer> // Nombre de pas de calcul MAXIMAL (-1 <=> no-limit) du moteur d'évaluation symbolique @eval = <integer>; // Hauteur MAXIMALE @height = <integer>; // Largeur MAXIMALE @width = <integer>; // ... }
queue <id> "<description> of the Symbolic Execution Queue" { /* 'BFS' | 'BREADTH_FIRST_SEARCH' 'DFS' | 'DEPTH_FIRST_SEARCH' 'RFS' | 'RANDOM_FIRST_SEARCH' 'WEIGHT::{ DFS | BFS | RFS | XFS }' */ policy = <policy> // ... }
serializer += GraphVizStatemachineSerializer <id> "<description>" { // ... }
serializer += GraphVizExecutionGraphSerializer <id> "<description>" { // ... }
fam += StateTransitionCoverageModule "State/Transition Coverage Analysis Module" { // ... }
fam += HitOrJumpModule <id> "<description>" { // ... }