tla-sbuilder 0.3.4 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +65 -70
- data/VERSION +1 -1
- data/lib/sbuilder/constants.rb +4 -4
- data/lib/sbuilder/controller.rb +232 -76
- data/lib/sbuilder/default-sbuilder.yaml +66 -22
- data/lib/sbuilder/facade/api_loader_facade.rb +47 -11
- data/lib/sbuilder/facade/facade_constants.rb +26 -0
- data/lib/sbuilder/facade/loader_plugin_root.rb +4 -1
- data/lib/sbuilder/facade/param_set_root.rb +38 -1
- data/lib/sbuilder/facade/snippet_loader_facade.rb +90 -8
- data/lib/sbuilder/factory.rb +9 -4
- data/lib/sbuilder/model.rb +25 -3
- data/lib/sbuilder/param_set.rb +8 -7
- data/mustache/cfg/const_def.mustache +2 -0
- data/mustache/{setup → config}/assumptions_activate.mustache +0 -0
- data/mustache/{setup → config}/domains_run.mustache +0 -0
- data/mustache/config/module_footer.mustache +1 -0
- data/mustache/config/module_header.mustache +10 -0
- data/mustache/{setup → config}/operator_run.mustache +0 -0
- data/mustache/{setup → config}/operator_tick.mustache +0 -0
- data/mustache/config/steps_run.mustache +43 -0
- data/mustache/{setup → config}/steps_run_bind_rule.mustache +5 -2
- data/mustache/{setup → config}/steps_run_bind_set.mustache +11 -5
- data/mustache/{setup → config}/steps_run_parameterBind.mustache +10 -4
- data/mustache/{setup → config}/steps_run_parameterExact.mustache +11 -3
- data/mustache/inherit/inherit_config.mustache +29 -0
- data/mustache/interface_processes.mustache +6 -2
- data/mustache/interfaces/interface_mapper.mustache +12 -0
- data/mustache/possibility/module_extends.mustache +1 -1
- data/mustache/possibility/operator_set_step_input.mustache +8 -0
- data/mustache/possibility/possibility_definition.mustache +4 -4
- data/mustache/possibility/possility_setup.mustache +4 -3
- data/mustache/setup/module_header.mustache +3 -1
- data/mustache/setup/operator_set_step_input.mustache +8 -0
- data/mustache/state_type_invariant-infrastructure-service.mustache +2 -2
- data/mustache/tla/const_def.mustache +1 -0
- data/mustache/tla/macro_run.mustache +10 -2
- data/mustache/tla/plc_run_state.mustache +2 -0
- data/src/pet/infrastructure_id_get.tla +6 -2
- data/src/pet/service_pet_post.tla +2 -2
- data/src/pet/service_tag_post.tla +1 -1
- data/tla-sbuilder.gemspec +1 -1
- metadata +21 -13
- data/mustache/setup/steps_run.mustache +0 -23
@@ -8,11 +8,19 @@
|
|
8
8
|
macro enable( s ) {
|
9
9
|
(* head in sequence 'steps' enable processes *)
|
10
10
|
\* await Len( steps ) # 0 /\ ProcessEnabled( steps, s );
|
11
|
+
\* NOTICE deterministic .await and with NON-determ choice below
|
12
|
+
\* MUST \ s1,s2 \ steps: s1.process = s2.process
|
11
13
|
await ProcessEnabled( steps, s );
|
12
14
|
|
13
15
|
(* process entered, remove head from sequence 'steps' *)
|
14
|
-
|
15
|
-
|
16
|
+
with ( r \in Head( steps ) ) {
|
17
|
+
\* step := ProcessRunning( steps ); \* Head( steps ).process;
|
18
|
+
\* step_parameter := ProcessParameter( steps );
|
19
|
+
\* await( r.process = s);
|
20
|
+
step := r.process;
|
21
|
+
step_parameter := r;
|
22
|
+
};
|
23
|
+
|
16
24
|
\* steps := ProcessesToRun( steps ); \* Tail( steps );
|
17
25
|
|
18
26
|
\* Context to resume to from Head(steps ), Nil = not resuming
|
@@ -11,6 +11,8 @@ variables
|
|
11
11
|
step = Nil;
|
12
12
|
\* head from +steps+ sequence used to schedule +step+
|
13
13
|
step_parameter = {};
|
14
|
+
\* input to process - modified if check_possibility
|
15
|
+
step_input = Nil;
|
14
16
|
\* current time tick, each process run in own tick
|
15
17
|
now = 0;
|
16
18
|
\* TRUE when process is running
|
@@ -10,7 +10,9 @@ infrastructure_id_get_start:
|
|
10
10
|
if ( Cardinality( v_ids[ id_type ] ) = 0 ) {
|
11
11
|
|
12
12
|
\* response: 404 & Nil
|
13
|
-
InfrastructureServiceReturn( "/id/{type}(get)", "status_404", Nil );
|
13
|
+
\* InfrastructureServiceReturn( "/id/{type}(get)", "status_404", Nil );
|
14
|
+
InfrastructureServiceReturn( "/id/{type}(get)", "status_404", [ status_200 |-> [ id |-> Nil] , status_404 |-> [code |-> Nil, message |-> Nil ]]);
|
15
|
+
|
14
16
|
}
|
15
17
|
else {
|
16
18
|
|
@@ -18,7 +20,9 @@ infrastructure_id_get_start:
|
|
18
20
|
v_ids := [ v_ids EXCEPT ![id_type] = @ \ { Next_id( id_type ) } ] ;
|
19
21
|
|
20
22
|
\* response: 200 && generated id
|
21
|
-
InfrastructureServiceReturn( "/id/{type}(get)", "status_200", [
|
23
|
+
\* InfrastructureServiceReturn( "/id/{type}(get)", "status_200", [ status_200 |-> Next_id( id_type ) ] );
|
24
|
+
InfrastructureServiceReturn( "/id/{type}(get)", "status_200", [ status_200 |-> [ id |-> Next_id( id_type ) ], status_404 |-> [code |-> Nil, message |-> Nil ] ] );
|
25
|
+
|
22
26
|
};
|
23
27
|
return;
|
24
28
|
}
|
@@ -61,12 +61,12 @@ procedure s_post_pet( input ) {
|
|
61
61
|
post_pet_ok:
|
62
62
|
|
63
63
|
assert( InfrastructureServiceGetStatus( "/id/{type}(get)" ) = "status_200"
|
64
|
-
/\ ValidatePet( New_Pet( input.pet, InfrastructureServiceGetResponse( "/id/{type}(get)" ).id ) )
|
64
|
+
/\ ValidatePet( New_Pet( input.pet, InfrastructureServiceGetResponse( "/id/{type}(get)" ).status_200.id ) )
|
65
65
|
);
|
66
66
|
|
67
67
|
|
68
68
|
(* Database transaction: create pet *)
|
69
|
-
enter_pet( New_Pet( input.pet, InfrastructureServiceGetResponse( "/id/{type}(get)" ).id ));
|
69
|
+
enter_pet( New_Pet( input.pet, InfrastructureServiceGetResponse( "/id/{type}(get)" ).status_200.id ));
|
70
70
|
|
71
71
|
{{^PREFERENCES.debug-output}}\* {{/PREFERENCES.debug-output}} print <<"Pet post, SUCCESS!!, v_pets=", v_pets >>;
|
72
72
|
|
@@ -45,7 +45,7 @@ procedure s_post_tag( input ) {
|
|
45
45
|
post_tag_ok:
|
46
46
|
|
47
47
|
(* All checks passed: enter into database *)
|
48
|
-
enter_tag( New_Tag( input.tag, InfrastructureServiceGetResponse( "/id/{type}(get)" ).id ) );
|
48
|
+
enter_tag( New_Tag( input.tag, InfrastructureServiceGetResponse( "/id/{type}(get)" ).status_200.id ) );
|
49
49
|
|
50
50
|
post_tag_done:
|
51
51
|
|
data/tla-sbuilder.gemspec
CHANGED
@@ -31,7 +31,7 @@ EOF
|
|
31
31
|
|
32
32
|
s.homepage = "https://github.com/jarjuk/tla-sbuilder"
|
33
33
|
|
34
|
-
s.required_ruby_version = '~> 2'
|
34
|
+
s.required_ruby_version = '~> 2', ">=2.3.1"
|
35
35
|
|
36
36
|
s.add_runtime_dependency 'mustache', '~>1.0', ">=1.0.3"
|
37
37
|
s.add_runtime_dependency 'hashie', '~>3.3', ">=3.3.2"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tla-sbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jarjuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mustache
|
@@ -204,6 +204,17 @@ files:
|
|
204
204
|
- mustache/cfg/macro_run.mustache
|
205
205
|
- mustache/cfg/module_footer.mustache
|
206
206
|
- mustache/cfg/module_header.mustache
|
207
|
+
- mustache/config/assumptions_activate.mustache
|
208
|
+
- mustache/config/domains_run.mustache
|
209
|
+
- mustache/config/module_footer.mustache
|
210
|
+
- mustache/config/module_header.mustache
|
211
|
+
- mustache/config/operator_run.mustache
|
212
|
+
- mustache/config/operator_tick.mustache
|
213
|
+
- mustache/config/steps_run.mustache
|
214
|
+
- mustache/config/steps_run_bind_rule.mustache
|
215
|
+
- mustache/config/steps_run_bind_set.mustache
|
216
|
+
- mustache/config/steps_run_parameterBind.mustache
|
217
|
+
- mustache/config/steps_run_parameterExact.mustache
|
207
218
|
- mustache/data-model-dump.mustache
|
208
219
|
- mustache/data-model-footer.mustache
|
209
220
|
- mustache/data-model-header.mustache
|
@@ -220,9 +231,11 @@ files:
|
|
220
231
|
- mustache/extend/extend_state.mustache
|
221
232
|
- mustache/infrastructure-service-init.mustache
|
222
233
|
- mustache/infrastructure-service-variables.mustache
|
234
|
+
- mustache/inherit/inherit_config.mustache
|
223
235
|
- mustache/interface_processes.mustache
|
224
236
|
- mustache/interface_stubs_dummy.mustache
|
225
237
|
- mustache/interface_types.mustache
|
238
|
+
- mustache/interfaces/interface_mapper.mustache
|
226
239
|
- mustache/invariant_activate.mustache
|
227
240
|
- mustache/markdown-header.mustache
|
228
241
|
- mustache/markdown-toc.mustache
|
@@ -233,6 +246,7 @@ files:
|
|
233
246
|
- mustache/possibility/module_extends.mustache
|
234
247
|
- mustache/possibility/module_footer.mustache
|
235
248
|
- mustache/possibility/module_header.mustache
|
249
|
+
- mustache/possibility/operator_set_step_input.mustache
|
236
250
|
- mustache/possibility/possibility_definition.mustache
|
237
251
|
- mustache/possibility/possibility_directive.mustache
|
238
252
|
- mustache/possibility/possility_setup.mustache
|
@@ -240,17 +254,9 @@ files:
|
|
240
254
|
- mustache/resources/schedule_process_macro.tla
|
241
255
|
- mustache/resources/schedule_process_procedure.tla
|
242
256
|
- mustache/resources/schedule_throw.tla
|
243
|
-
- mustache/setup/assumptions_activate.mustache
|
244
|
-
- mustache/setup/domains_run.mustache
|
245
257
|
- mustache/setup/module_footer.mustache
|
246
258
|
- mustache/setup/module_header.mustache
|
247
|
-
- mustache/setup/
|
248
|
-
- mustache/setup/operator_tick.mustache
|
249
|
-
- mustache/setup/steps_run.mustache
|
250
|
-
- mustache/setup/steps_run_bind_rule.mustache
|
251
|
-
- mustache/setup/steps_run_bind_set.mustache
|
252
|
-
- mustache/setup/steps_run_parameterBind.mustache
|
253
|
-
- mustache/setup/steps_run_parameterExact.mustache
|
259
|
+
- mustache/setup/operator_set_step_input.mustache
|
254
260
|
- mustache/state_type_invariant-infrastructure-service.mustache
|
255
261
|
- mustache/state_type_invariant_cfg.mustache
|
256
262
|
- mustache/tla/const_def.mustache
|
@@ -368,6 +374,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
368
374
|
- - "~>"
|
369
375
|
- !ruby/object:Gem::Version
|
370
376
|
version: '2'
|
377
|
+
- - ">="
|
378
|
+
- !ruby/object:Gem::Version
|
379
|
+
version: 2.3.1
|
371
380
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
372
381
|
requirements:
|
373
382
|
- - ">="
|
@@ -375,9 +384,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
375
384
|
version: '0'
|
376
385
|
requirements: []
|
377
386
|
rubyforge_project:
|
378
|
-
rubygems_version: 2.
|
387
|
+
rubygems_version: 2.6.14
|
379
388
|
signing_key:
|
380
389
|
specification_version: 4
|
381
390
|
summary: Specification builder for TLA+ language
|
382
391
|
test_files: []
|
383
|
-
has_rdoc:
|
@@ -1,23 +0,0 @@
|
|
1
|
-
|
2
|
-
(******************************************************************
|
3
|
-
Environment model running the steps
|
4
|
-
|
5
|
-
{{META.desc}}
|
6
|
-
- modelData {{META.modelData}}
|
7
|
-
- template {{META.template}}
|
8
|
-
******************************************************************)
|
9
|
-
|
10
|
-
|
11
|
-
RunSteps == <<
|
12
|
-
{{#steps}}
|
13
|
-
|
14
|
-
{ [ process |-> "p_{{process}}"
|
15
|
-
, bindRule |-> {{>setup/steps_run_bind_rule.mustache }}
|
16
|
-
, bindSet |-> {{>setup/steps_run_bind_set.mustache }}
|
17
|
-
, ctx |-> Nil
|
18
|
-
]
|
19
|
-
} {{_comma}} (* interface/process : {{process}} *)
|
20
|
-
{{/steps}}
|
21
|
-
|
22
|
-
>>
|
23
|
-
|