<NME> EventDrivenTriggeredByTimeEvent.sctunit
<BEF> ADDFILE
<MSG> Pull request for introducing event driven execution semantics for all generators (#1564) (#1571)

* Add Internal Event Queue Support for Simulation and CPP Code Generator (C++11)

Conflicts:
	plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/StatemachineHeader.xtend
	plugins/org.yakindu.sct.simulation.core.sexec/src/org/yakindu/sct/simulation/core/sexec/interpreter/StextStatementInterpreter.xtend

* Extend regular statemachine classes

Conflicts:
	plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/StatemachineHeader.xtend

* Add EventName enum & Event class

* Add event driven logic to core generator

* Fix imports

Conflicts:
	plugins/org.yakindu.sct.generator.cpp/META-INF/MANIFEST.MF

* WIP

Conflicts:
	plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/StatemachineImplementation.xtend

* Replace ExpressionCode.xtend with master version

* Refactor StatemachineImplementation

* Guice up your life!

* WIP on EventQueue - compiles

* Override Event Raising Code

* ,

* Working implementation of eventqueue.

* Re-add clearInEvents

* Smaller refactorings, cleanups + generated Events are namespaced

* Revert changes unintenionally made to cycle based code

* Add class for time events

* Further WIP on TimeEvents. Does not compile

* Integrated time events into the event queue

* Remove event queue for in events

* Added copyright headers, author tags and todo for future

* removed event queue stuff from generated emf classes

* internal event queue functionality will only be used in event driven case.

* use new API

* extended execution flow interpreter interface to make it backward compatible

* updated module definition

* make injection of IEventRaiser optional

* Basework for event queue

* WIP on C EventQueue

* Add function to Navigation to get all events from ExecutionFlow

* WIP on Event Driven semantics for C

* WIP

* WIP on eventqueue

* C EventQueue seems to work

* Fixed issue with missing run cycle on time events in event driven case.

* Added test models for event driven execution strategy

* added tests for event driven execution strategy

* Add EventDriven statechart

Conflicts:
	test-plugins/org.yakindu.sct.test.models/tests/AllTests.sctunit

* Fix location of clearInEvents

* refactored/moved wrapper class generator to wrappers package

* Java generator module provides different bindings depending on event driven property.

* extracted internal event raiser to make overriding easier

* extracted internal event field templates to make overriding easier

* refactored generation of imports ...

* added runCycle call on in events and time events and added queuing for internal events

* fixed wrong test case

* removed some tests from test suite

* modified/added test gen models for event driven test cases

* Added some disabled tests to test suite

* made test model timed

* refactored and extended sgen files for tests and models

* regenerated test case code for java

* regenerated test model classes for java

* Update MANIFEST.MF

removed version

* Update EventDrivenExpressionCode.xtend

added missing copyright header

* Update EventDrivenStatemachineHeader.xtend

* Update EventDrivenStatemachineSource.xtend

* Add Copyright Headers

* Add author tag

* removed dependency version specification

* removed annoying TODO tag

<DFF> @@ -0,0 +1,40 @@
+testclass EventDrivenTriggeredByTimeEvent for statechart eventdriven.EventDrivenTriggeredByTimeEvent {
+
+	@Test operation timeEventTriggersRunCycle() {
+		enter
+		
+		assert active(eventdriven.EventDrivenTriggeredByTimeEvent.r.A)
+		assert x == 0
+		
+		proceed 999 ms
+
+		assert active(eventdriven.EventDrivenTriggeredByTimeEvent.r.A)
+		assert x == 0
+		
+		proceed 1 ms
+
+		assert active(eventdriven.EventDrivenTriggeredByTimeEvent.r.B)
+		assert x == 0
+		assert transition_count == 1
+		
+		proceed 1s
+		assert active(eventdriven.EventDrivenTriggeredByTimeEvent.r.A)
+		assert x == 0
+		assert transition_count == 2
+		
+		proceed 999s
+		assert active(eventdriven.EventDrivenTriggeredByTimeEvent.r.B)
+		assert x == 0
+		assert transition_count == 1001
+
+		proceed 999s
+		assert active(eventdriven.EventDrivenTriggeredByTimeEvent.r.A)
+		assert x == 0
+		assert transition_count == 2000
+		
+		exit
+	}
+
+
+
+}

{'addition_count': 40, 'commit_subject': 'Pull request for introducing event driven execution semantics for all generators (#1564) (#1571)', 'deletion_count': 0, 'file_extension': '.sctunit', 'lang': 'yakindu', 'license': 'epl-1.0', 'repo_name': 'Yakindu/statecharts'}