@@ -7,118 +7,116 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
7
7
Authors : Nicolas Biri
8
8
*/
9
9
10
- 'use strict' ;
10
+ 'use strict'
11
11
12
12
// model imports
13
- var JSTL = require ( '../../index' ) ;
14
- var Transformation = JSTL . Transformation ;
15
- var NAV = require ( 'jsmf-magellan' ) ;
16
- var Model = require ( 'jsmf-core' ) . Model ;
13
+ const JSTL = require ( '../../index' )
14
+ const Transformation = JSTL . Transformation
15
+ const NAV = require ( 'jsmf-magellan' )
16
+ const Model = require ( 'jsmf-core' ) . Model
17
17
18
18
// other imports
19
- var _ = require ( 'lodash' ) ;
20
- var inspect = require ( 'eyes' ) . inspector ( {
21
- maxLength : 50000
22
- } ) ;
19
+ const _ = require ( 'lodash' )
20
+ const inspect = require ( 'eyes' ) . inspector ( { maxLength : 50000 } )
23
21
24
22
// Metamodels
25
- var MMI = require ( './MMArduinoML' ) ;
26
- var MMO = require ( './MMAbstractCode' ) ;
23
+ const MMI = require ( './MMArduinoML' )
24
+ const MMO = require ( './MMAbstractCode' )
27
25
28
26
// input file
29
- var input = require ( './MArduinoML' ) . switchExample ;
30
- var output = new Model ( 'Out' ) ;
27
+ const input = require ( './MArduinoML' ) . switchExample
28
+ const output = new Model ( 'Out' )
31
29
32
- var module = new Transformation ( ) ;
30
+ const transfo = new Transformation ( )
33
31
34
- module . addRule ( {
35
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . App , x ) } ,
32
+ transfo . addRule ( {
33
+ in : x => NAV . allInstancesFromModel ( MMI . App , x ) ,
36
34
out : function ( i ) {
37
- var app = MMO . App . newInstance ( ) ;
38
- this . assign ( app , 'structural' , [ i ] ) ;
39
- this . assign ( app , 'behavioural' , [ i ] ) ;
40
- return [ app ] ;
35
+ var app = MMO . App . newInstance ( )
36
+ this . assign ( app , 'structural' , [ i ] )
37
+ this . assign ( app , 'behavioural' , [ i ] )
38
+ return [ app ]
41
39
}
42
- } ) ;
40
+ } )
43
41
44
- module . addRule ( {
45
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . App , x ) } ,
42
+ transfo . addRule ( {
43
+ in : x => NAV . allInstancesFromModel ( MMI . App , x ) ,
46
44
out : function ( i ) {
47
- var s = MMO . StructuralConcerns . newInstance ( ) ;
48
- this . assign ( s , 'alias' , i . brick ) ;
49
- this . assign ( s , 'pinMode' , i . brick ) ;
50
- return [ s ] ;
45
+ var s = MMO . StructuralConcerns . newInstance ( )
46
+ this . assign ( s , 'alias' , i . brick )
47
+ this . assign ( s , 'pinMode' , i . brick )
48
+ return [ s ]
51
49
}
52
- } ) ;
50
+ } )
53
51
54
- module . addRule ( {
55
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . Brick , x ) } ,
52
+ transfo . addRule ( {
53
+ in : x => NAV . allInstancesFromModel ( MMI . Brick , x ) ,
56
54
out : function ( i ) {
57
- return [ MMO . BrickAlias . newInstance ( { name : i . name , pin : i . pin } ) ] ;
55
+ return [ MMO . BrickAlias . newInstance ( { name : i . name , pin : i . pin } ) ]
58
56
}
59
- } ) ;
57
+ } )
60
58
61
- module . addRule ( {
62
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . Sensor , x ) } ,
59
+ transfo . addRule ( {
60
+ in : x => NAV . allInstancesFromModel ( MMI . Sensor , x ) ,
63
61
out : function ( i ) {
64
- return [ MMO . PinMode . newInstance ( { name : i . name , mode : MMO . IO . INPUT } ) ] ;
62
+ return [ MMO . PinMode . newInstance ( { name : i . name , mode : MMO . IO . INPUT } ) ]
65
63
}
66
- } ) ;
64
+ } )
67
65
68
- module . addRule ( {
69
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . Actuator , x ) } ,
66
+ transfo . addRule ( {
67
+ in : x => NAV . allInstancesFromModel ( MMI . Actuator , x ) ,
70
68
out : function ( i ) {
71
- return [ MMO . PinMode . newInstance ( { name : i . name , mode : MMO . IO . OUTPUT } ) ] ;
69
+ return [ MMO . PinMode . newInstance ( { name : i . name , mode : MMO . IO . OUTPUT } ) ]
72
70
}
73
- } ) ;
71
+ } )
74
72
75
- module . addRule ( {
76
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . App , x ) } ,
73
+ transfo . addRule ( {
74
+ in : x => NAV . allInstancesFromModel ( MMI . App , x ) ,
77
75
out : function ( i ) {
78
- var b = MMO . BehaviouralConcerns . newInstance ( ) ;
79
- b . timeConfig = MMO . TimeConfig . newInstance ( { initialTime : 0 , debounce : 200 } ) ;
80
- this . assign ( b , 'stateFunction' , i . state ) ;
81
- this . assign ( b , 'mainLoop' , i . initial ) ;
82
- return [ b ] ;
76
+ var b = MMO . BehaviouralConcerns . newInstance ( )
77
+ b . timeConfig = MMO . TimeConfig . newInstance ( { initialTime : 0 , debounce : 200 } )
78
+ this . assign ( b , 'stateFunction' , i . state )
79
+ this . assign ( b , 'mainLoop' , i . initial )
80
+ return [ b ]
83
81
}
84
- } ) ;
82
+ } )
85
83
86
- module . addRule ( {
87
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . State , x ) } ,
84
+ transfo . addRule ( {
85
+ in : x => NAV . allInstancesFromModel ( MMI . State , x ) ,
88
86
out : function ( i ) {
89
- var t = i . transition [ 0 ] ;
87
+ var t = i . transition [ 0 ]
90
88
var s = MMO . StateFunction . newInstance ( {
91
89
name : i . name ,
92
90
next : t . next [ 0 ] . name ,
93
91
readOn : t . sensor [ 0 ] . name ,
94
92
read : t . value
95
- } ) ;
96
- this . assign ( s , 'write' , i . action ) ;
97
- return [ s ] ;
93
+ } )
94
+ this . assign ( s , 'write' , i . action )
95
+ return [ s ]
98
96
}
99
- } ) ;
97
+ } )
100
98
101
- module . addRule ( {
102
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . State , x ) } ,
99
+ transfo . addRule ( {
100
+ in : x => NAV . allInstancesFromModel ( MMI . State , x ) ,
103
101
out : function ( i ) {
104
- return [ MMO . MainLoop . newInstance ( { init : i . name } ) ] ;
102
+ return [ MMO . MainLoop . newInstance ( { init : i . name } ) ]
105
103
}
106
- } ) ;
104
+ } )
107
105
108
106
109
- module . addRule ( {
110
- in : function ( x ) { return NAV . allInstancesFromModel ( MMI . Action , x ) } ,
107
+ transfo . addRule ( {
108
+ in : x => NAV . allInstancesFromModel ( MMI . Action , x ) ,
111
109
out : function ( i ) {
112
- return [ MMO . Write . newInstance ( {
110
+ return [ MMO . Write . newInstance ( {
113
111
on : i . actuator [ 0 ] . name ,
114
112
value : i . value
115
- } ) ] ;
113
+ } ) ]
116
114
}
117
- } ) ;
115
+ } )
118
116
119
117
120
118
// launch transformation
121
119
122
- var log = module . apply ( input , output , false ) ;
120
+ const log = transfo . apply ( input , output , false )
123
121
124
- _ . forEach ( NAV . allInstancesFromModel ( MMO . App , output ) , function ( x ) { console . log ( x . toCode ( ) ) } ) ;
122
+ _ . forEach ( NAV . allInstancesFromModel ( MMO . App , output ) , x => console . log ( x . toCode ( ) ) )
0 commit comments