| <?xml version="1.0" encoding="UTF-8"?> |
| <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML"> |
| <uml:Model xmi:id="_nhjakJnsEeeCzKHJj7Wq7w" name="statemachine"> |
| <packagedElement xmi:type="uml:Enumeration" xmi:id="_hNs5oCdSEea6h5xPEh8iAg" name="ThreadFunctions"> |
| <ownedLiteral xmi:id="_kWR0ICdSEea6h5xPEh8iAg" name="TF_CHANGE_EVENT"/> |
| <ownedLiteral xmi:id="_tj4MICdSEea6h5xPEh8iAg" name="TF_TIME_EVENT"/> |
| <ownedLiteral xmi:id="_nY3bYCdSEea6h5xPEh8iAg" name="TF_DO_ACTIVITY"/> |
| <ownedLiteral xmi:id="_pgWsUCdSEea6h5xPEh8iAg" name="TF_ENTER_REGION"/> |
| <ownedLiteral xmi:id="_sGQXkCdSEea6h5xPEh8iAg" name="TF_EXIT_REGION"/> |
| <ownedLiteral xmi:id="_uSWbsCdSEea6h5xPEh8iAg" name="TF_TRANSITION"/> |
| <ownedLiteral xmi:id="_BF78sD0vEeaKAZ77fvU8gg" name="TF_STATE_MACHINE_TYPE"/> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Enumeration" xmi:id="_uYyt0CdFEea3Ob5UfxuCGA" name="SystemStateEnum_t"> |
| <ownedLiteral xmi:id="_ER5vICdGEea3Ob5UfxuCGA" name="IDLE"/> |
| <ownedLiteral xmi:id="_FvfugCdGEea3Ob5UfxuCGA" name="EVENT_PROCESSING"/> |
| <ownedLiteral xmi:id="_GPdA8CdGEea3Ob5UfxuCGA" name="EVENT_DEFERRED"/> |
| <ownedLiteral xmi:id="_GrYH8CdGEea3Ob5UfxuCGA" name="EVENT_CONSUMED"/> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Class" xmi:id="_4Z1UwCmREearkPe7QerpcQ" name="StructForThread_t"> |
| <ownedAttribute xmi:id="_jliRwCkVEea0-deBroAIbQ" name="ptr"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_mnUAsCkVEea0-deBroAIbQ" name="id"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_p12ZQCkVEea0-deBroAIbQ" name="enter_mode"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_rzKagCkVEea0-deBroAIbQ" name="func_type"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_trCiICkVEea0-deBroAIbQ" name="duration"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedOperation xmi:id="_ZmpmwCkVEea0-deBroAIbQ" name="StructForThread_t"> |
| <ownedParameter xmi:id="_E56cgCkWEea0-deBroAIbQ" name="ptr"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/> |
| </ownedParameter> |
| <ownedParameter xmi:id="_HmMckCkWEea0-deBroAIbQ" name="id"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedParameter> |
| <ownedParameter xmi:id="_M6HNQCkWEea0-deBroAIbQ" name="enter_mode"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/> |
| </ownedParameter> |
| <ownedParameter xmi:id="_PO3eICkWEea0-deBroAIbQ" name="func_type"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/> |
| </ownedParameter> |
| <ownedParameter xmi:id="_Q9zFICkWEea0-deBroAIbQ" name="duration"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedParameter> |
| </ownedOperation> |
| <ownedOperation xmi:id="_-pXrgCkVEea0-deBroAIbQ" name="StructForThread_t"/> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Class" xmi:id="_dWxYQD0zEeaQfbTekb55bw" name="EventPriorityQueue"> |
| <ownedAttribute xmi:id="_dWxYQT0zEeaQfbTekb55bw" name="data" visibility="private" type="_MyJIUD0zEeaQfbTekb55bw"/> |
| <ownedAttribute xmi:id="_dWxYQj0zEeaQfbTekb55bw" name="size"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYQz0zEeaQfbTekb55bw" name="numberOfElements"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYRD0zEeaQfbTekb55bw" name="readPos"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYRT0zEeaQfbTekb55bw" name="writePos"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYRj0zEeaQfbTekb55bw" name="mutex"> |
| <type xmi:type="uml:Class" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/pthread.uml#__niwsCa0EeazPcQ6-9hBeQ"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYRz0zEeaQfbTekb55bw" name="cond"> |
| <type xmi:type="uml:Class" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/pthread.uml#_-vYZoCa0EeazPcQ6-9hBeQ"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYSD0zEeaQfbTekb55bw" name="isLock"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYST0zEeaQfbTekb55bw" name="completionEvents" type="_MyJIUD0zEeaQfbTekb55bw"/> |
| <ownedAttribute xmi:id="_dWxYSj0zEeaQfbTekb55bw" name="compSize"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYSz0zEeaQfbTekb55bw" name="compNumbers"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYTD0zEeaQfbTekb55bw" name="compReadPos"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYTT0zEeaQfbTekb55bw" name="compWritePos"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYTj0zEeaQfbTekb55bw" name="deferreds" type="_MyJIUD0zEeaQfbTekb55bw"/> |
| <ownedAttribute xmi:id="_dWxYTz0zEeaQfbTekb55bw" name="numberOfDeferreds"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYUD0zEeaQfbTekb55bw" name="readDef"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_dWxYUT0zEeaQfbTekb55bw" name="writeDef"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWxYUj0zEeaQfbTekb55bw" name="EventPriorityQueue" specification="_dWx_XD0zEeaQfbTekb55bw"> |
| <language>C++</language> |
| <body>mutex = PTHREAD_MUTEX_INITIALIZER;
 |
| cond = PTHREAD_COND_INITIALIZER;
 |
| isLock = false;</body> |
| </ownedBehavior> |
| <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWxYUz0zEeaQfbTekb55bw" name="push" specification="_dWx_Vj0zEeaQfbTekb55bw"> |
| <language>C++</language> |
| <body>statemachine::Event_t* ret = NULL;
 |
| if (EVENT_DATA_SIZE <= dataSize) {
 |
| return;
 |
| }
 |
| pthread_mutex_lock(&mutex);
 |
| while(isLock) {
 |
| pthread_cond_wait(&cond, &mutex);
 |
| }
 |
| if (compNumbers < compSize && eventType == statemachine::COMPLETION_EVENT) {
 |
| ret = &(this->completionEvents[compWritePos]);
 |
| compNumbers++;
 |
| ret->priority = priority;
 |
| memcpy(ret->data, data, dataSize);
 |
| ret->eventID = eventID;
 |
| ret->eventType = eventType;
 |
| ret->associatedState = associatedState;
 |
| compWritePos = (compWritePos+1)%compSize;
 |
| } else if (numberOfElements < size) {
 |
| ret = &(this->data[writePos]);
 |
| numberOfElements++;
 |
| ret->priority = priority;
 |
| memcpy(ret->data, data, dataSize);
 |
| ret->eventID = eventID;
 |
| ret->eventType = eventType;
 |
| ret->associatedState = associatedState;
 |
| writePos = (writePos+1)%size;
 |
| }
 |
| isLock = false;
 |
| pthread_cond_signal(&cond);
 |
| pthread_mutex_unlock(&mutex);</body> |
| </ownedBehavior> |
| <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWxYVD0zEeaQfbTekb55bw" name="pop" specification="_dWx_Uj0zEeaQfbTekb55bw"> |
| <language>C++</language> |
| <body>statemachine::Event_t* ret = NULL;
 |
| pthread_mutex_lock(&mutex);
 |
| while(isLock) {
 |
| pthread_cond_wait(&cond, &mutex);
 |
| }
 |
| if (compNumbers > 0) {
 |
| ret = &completionEvents[compReadPos];
 |
| compNumbers--;
 |
| compReadPos = (compReadPos + 1) % compSize;
 |
| } else if (popDeferred && (numberOfDeferreds > 0)) {
 |
| ret = &deferreds[readDef];
 |
| numberOfDeferreds--;
 |
| readDef = (readDef + 1) % defSize;
 |
| }
 |
| if ((ret == NULL) && (numberOfElements > 0)) {
 |
| ret = &data[readPos];
 |
| numberOfElements--;
 |
| readPos = (readPos+1)%size;
 |
| }
 |
| 
 |
| if ((ret == NULL) && (numberOfDeferreds > 0)) {
 |
| ret = &deferreds[readDef];
 |
| numberOfDeferreds--;
 |
| readDef = (readDef + 1) % defSize;
 |
| }
 |
| 
 |
| isLock = false;
 |
| pthread_cond_signal(&cond);
 |
| pthread_mutex_unlock(&mutex);
 |
| return ret;</body> |
| </ownedBehavior> |
| <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_dWx_UD0zEeaQfbTekb55bw" name="saveDeferred" specification="_dWx_Xj0zEeaQfbTekb55bw"> |
| <language>C++</language> |
| <body>if (numberOfDeferreds < defSize) {
 |
| deferreds[writeDef].priority = defe.priority;
 |
| memcpy(&deferreds[writeDef].data, &defe.data, sizeof(defe.data));
 |
| deferreds[writeDef].eventID = defe.eventID;
 |
| deferreds[writeDef].eventType = defe.eventType;
 |
| deferreds[writeDef].associatedState = defe.associatedState;
 |
| numberOfDeferreds++;
 |
| writeDef = (writeDef + 1) % defSize;
 |
| }
 |
| </body> |
| </ownedBehavior> |
| <ownedOperation xmi:id="_dWx_XD0zEeaQfbTekb55bw" name="EventPriorityQueue" method="_dWxYUj0zEeaQfbTekb55bw"/> |
| <ownedOperation xmi:id="_dWx_Vj0zEeaQfbTekb55bw" name="push" method="_dWxYUz0zEeaQfbTekb55bw"> |
| <ownedParameter xmi:id="_dWx_Vz0zEeaQfbTekb55bw" name="priority" type="_Mx4poD0zEeaQfbTekb55bw"/> |
| <ownedParameter xmi:id="_dWx_WD0zEeaQfbTekb55bw" name="data"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/> |
| </ownedParameter> |
| <ownedParameter xmi:id="_dWx_WT0zEeaQfbTekb55bw" name="eventID"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedParameter> |
| <ownedParameter xmi:id="_dWx_Wj0zEeaQfbTekb55bw" name="eventType" type="_MyIhQD0zEeaQfbTekb55bw"/> |
| <ownedParameter xmi:id="_dWx_Wz0zEeaQfbTekb55bw" name="associatedState"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedParameter> |
| <ownedParameter xmi:id="_GU_bcEVGEeaqgqiOqzyU4w" name="dataSize"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/> |
| <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_GU_bcUVGEeaqgqiOqzyU4w"/> |
| </ownedParameter> |
| </ownedOperation> |
| <ownedOperation xmi:id="_dWx_Uj0zEeaQfbTekb55bw" name="pop" method="_dWxYVD0zEeaQfbTekb55bw"> |
| <ownedParameter xmi:id="_dWx_Uz0zEeaQfbTekb55bw" name="ret" type="_MyJIUD0zEeaQfbTekb55bw" direction="return"/> |
| <ownedParameter xmi:id="_dWx_VD0zEeaQfbTekb55bw" name="popDeferred"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/> |
| <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_dWx_VT0zEeaQfbTekb55bw"/> |
| </ownedParameter> |
| </ownedOperation> |
| <ownedOperation xmi:id="_dWx_Xj0zEeaQfbTekb55bw" name="saveDeferred" method="_dWx_UD0zEeaQfbTekb55bw"> |
| <ownedParameter xmi:id="_dWx_Xz0zEeaQfbTekb55bw" name="defe" type="_MyJIUD0zEeaQfbTekb55bw"/> |
| </ownedOperation> |
| <ownedOperation xmi:id="_dWx_XT0zEeaQfbTekb55bw" name="heapify" visibility="private"/> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Class" xmi:id="_MyJIUD0zEeaQfbTekb55bw" name="Event_t"> |
| <ownedAttribute xmi:id="_MyJIUT0zEeaQfbTekb55bw" name="priority" type="_Mx4poD0zEeaQfbTekb55bw"> |
| <defaultValue xmi:type="uml:InstanceValue" xmi:id="_MyJIUj0zEeaQfbTekb55bw" instance="_Mx4poj0zEeaQfbTekb55bw"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_MyJIUz0zEeaQfbTekb55bw" name="data"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_MyJIVD0zEeaQfbTekb55bw" name="eventID"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:id="_MyJIVT0zEeaQfbTekb55bw" name="eventType" type="_MyIhQD0zEeaQfbTekb55bw"/> |
| <ownedAttribute xmi:id="_MyJIVj0zEeaQfbTekb55bw" name="associatedState"> |
| <type xmi:type="uml:PrimitiveType" href="/ComplexSM_defaultNode_ComplexSMDepPlan/model/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/> |
| </ownedAttribute> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Enumeration" xmi:id="_Mx4poD0zEeaQfbTekb55bw" name="EventPriority_t"> |
| <ownedLiteral xmi:id="_Mx4poT0zEeaQfbTekb55bw" name="PRIORITY_1"/> |
| <ownedLiteral xmi:id="_Mx4poj0zEeaQfbTekb55bw" name="PRIORITY_2"/> |
| <ownedLiteral xmi:id="_Mx4poz0zEeaQfbTekb55bw" name="PRIORITY_3"/> |
| <ownedLiteral xmi:id="_Mx4ppD0zEeaQfbTekb55bw" name="PRIORITY_4"/> |
| <ownedLiteral xmi:id="_Mx4ppT0zEeaQfbTekb55bw" name="PRIORITY_5"/> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Enumeration" xmi:id="_MyIhQD0zEeaQfbTekb55bw" name="EventType_t"> |
| <ownedLiteral xmi:id="_MyIhQT0zEeaQfbTekb55bw" name="SIGNAL_EVENT"/> |
| <ownedLiteral xmi:id="_MyIhQj0zEeaQfbTekb55bw" name="CALL_EVENT"/> |
| <ownedLiteral xmi:id="_MyIhQz0zEeaQfbTekb55bw" name="TIME_EVENT"/> |
| <ownedLiteral xmi:id="_MyIhRD0zEeaQfbTekb55bw" name="CHANGE_EVENT"/> |
| <ownedLiteral xmi:id="_MyIhRT0zEeaQfbTekb55bw" name="COMPLETION_EVENT"/> |
| </packagedElement> |
| <profileApplication xmi:id="_e8kikOUUEd-P08Bciq_LqQ"> |
| <eAnnotations xmi:id="_fAD7cOUUEd-P08Bciq_LqQ" source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/FCM/1#/"/> |
| </eAnnotations> |
| <appliedProfile href="pathmap://FCM_PROFILES/FCM.profile.uml#_5mvT0MtjEd2H_o0jIC6qDQ"/> |
| </profileApplication> |
| <profileApplication xmi:id="_cnmBUBE1EeG3cfLoiI6G7g"> |
| <eAnnotations xmi:id="_cz4J0BE1EeG3cfLoiI6G7g" source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> |
| </eAnnotations> |
| <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/> |
| </profileApplication> |
| <profileApplication xmi:id="_54PeIGH8EeWEu6399scseQ"> |
| <eAnnotations xmi:id="_54R6YGH8EeWEu6399scseQ" source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/> |
| </eAnnotations> |
| <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/> |
| </profileApplication> |
| <profileApplication xmi:id="_9ko48GoMEea1-rBQVLBwEw"> |
| <eAnnotations xmi:id="_9kz4EGoMEea1-rBQVLBwEw" source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/Transformation/1#/"/> |
| </eAnnotations> |
| <appliedProfile href="pathmap://TRAFO_PROFILE/Transformation.profile.uml#_fPDsIBa-EearhdjjJ6cVzQ"/> |
| </profileApplication> |
| </uml:Model> |
| <C_Cpp:Include xmi:id="_nhjalpnsEeeCzKHJj7Wq7w" header="// common definitions for statemachine

#define TIME_EVENT_LOWER_BOUND (0)
#define CHANGE_EVENT_LOWER_BOUND (2)
#define TE_INDEX(id) (id - TIME_EVENT_LOWER_BOUND)
#define CHE_INDEX(id) (id - CHANGE_EVENT_LOWER_BOUND)
#define SMSERVER_REGION0_DEFAULT (0)
#define SMSERVER_REGION0 (0)
#include "time.h"
#include "pthread.h"
#define CHECKPOINT if (systemState == statemachine::EVENT_PROCESSING) {return;}" base_package="_nhjakJnsEeeCzKHJj7Wq7w"/> |
| <C_Cpp:Ptr xmi:id="_nh0gUJnsEeeCzKHJj7Wq7w" base_property="_jliRwCkVEea0-deBroAIbQ"/> |
| <standard:Create xmi:id="_niP-IJnsEeeCzKHJj7Wq7w" base_BehavioralFeature="_ZmpmwCkVEea0-deBroAIbQ"/> |
| <C_Cpp:ConstInit xmi:id="_niQlMJnsEeeCzKHJj7Wq7w" initialisation="ptr(ptr), id(id), enter_mode(enter_mode), func_type(func_type), duration(duration)" base_operation="_ZmpmwCkVEea0-deBroAIbQ"/> |
| <C_Cpp:Ptr xmi:id="_niRMQJnsEeeCzKHJj7Wq7w" base_parameter="_E56cgCkWEea0-deBroAIbQ"/> |
| <standard:Create xmi:id="_nigc0JnsEeeCzKHJj7Wq7w" base_BehavioralFeature="_-pXrgCkVEea0-deBroAIbQ"/> |
| <C_Cpp:Include xmi:id="_nivtYJnsEeeCzKHJj7Wq7w" header="#include "pthread.h"
#include "stdio.h"
#include "string.h"

#define defSize (10)" base_class="_dWxYQD0zEeaQfbTekb55bw" base_Classifier="_dWxYQD0zEeaQfbTekb55bw"/> |
| <C_Cpp:Include xmi:id="_ni3CIJnsEeeCzKHJj7Wq7w" header="#define EVENT_DATA_SIZE (50)" base_class="_MyJIUD0zEeaQfbTekb55bw" base_Classifier="_MyJIUD0zEeaQfbTekb55bw"/> |
| <C_Cpp:Array xmi:id="_ni4QQJnsEeeCzKHJj7Wq7w" definition="[EVENT_DATA_SIZE]" base_property="_MyJIUz0zEeaQfbTekb55bw"/> |
| <C_Cpp:Array xmi:id="_njAMEJnsEeeCzKHJj7Wq7w" definition="[10]" base_property="_dWxYQT0zEeaQfbTekb55bw"/> |
| <C_Cpp:Array xmi:id="_njFroZnsEeeCzKHJj7Wq7w" definition="[4]" base_property="_dWxYST0zEeaQfbTekb55bw"/> |
| <C_Cpp:Array xmi:id="_njHg0JnsEeeCzKHJj7Wq7w" definition="[defSize]" base_property="_dWxYTj0zEeaQfbTekb55bw"/> |
| <standard:Create xmi:id="_njJWAJnsEeeCzKHJj7Wq7w" base_BehavioralFeature="_dWx_XD0zEeaQfbTekb55bw"/> |
| <C_Cpp:ConstInit xmi:id="_njJWAZnsEeeCzKHJj7Wq7w" initialisation="size(10), numberOfElements(0), readPos(0), writePos(0), compSize(4), compNumbers(0), compReadPos(0), compWritePos(0), numberOfDeferreds(0), readDef(0), writeDef(0) " base_operation="_dWx_XD0zEeaQfbTekb55bw"/> |
| <C_Cpp:Ptr xmi:id="_njLLMJnsEeeCzKHJj7Wq7w" base_parameter="_dWx_WD0zEeaQfbTekb55bw"/> |
| <C_Cpp:Ptr xmi:id="_njNAYJnsEeeCzKHJj7Wq7w" base_parameter="_dWx_Uz0zEeaQfbTekb55bw"/> |
| <C_Cpp:Ref xmi:id="_njOOgJnsEeeCzKHJj7Wq7w" base_parameter="_dWx_Xz0zEeaQfbTekb55bw"/> |
| </xmi:XMI> |