模型:
(图被不小心删了,现在只有代码了,可以根据代码反推一下模型)
生成的代码:
Default.c文件
/** Generated by NPU 504 - C Code Generator. */
#include "Default.h"
//interface
bool open1_raised; // in event
int open1_value; // in event type
bool open2_raised; // in event
bool open2_value; // in event type
int main ( ){
// SimpleActivity S _LOic8JK1Eeukj-7r-JBgqA CodeSnippet
void *synchronization_1_1();
void *synchronization_1_2();
void *synchronization_1_3();
pthread_t synchronization_thread_1_1;
pthread_t synchronization_thread_1_2;
pthread_t synchronization_thread_1_3;
pthread_create(&synchronization_thread_1_1,NULL,&synchronization_1_1,NULL);
pthread_create(&synchronization_thread_1_2,NULL,&synchronization_1_2,NULL);
pthread_create(&synchronization_thread_1_3,NULL,&synchronization_1_3,NULL);
pthread_join(synchronization_thread_1_1,NULL);
pthread_join(synchronization_thread_1_2,NULL);
pthread_join(synchronization_thread_1_3,NULL);
// SimpleActivity M _cZTaoJLHEeukj-7r-JBgqA CodeSnippet
// SimpleActivity N _dar_IJLHEeukj-7r-JBgqA CodeSnippet
}
void CompositeActivity_1 ( ){
// State State _CATAELGTEeuhMq2D7k5H-Q CodeSnippet
}
void *synchronization_1_1 ( ){
Synchronization_Lock( );
// SimpleActivity A _duT5FpK3Eeukj-7r-JBgqA CodeSnippet
// CompositeActivity A1 _52wGELGSEeuhMq2D7k5H-Q Function
void CompositeActivity_1 ( );
// SimpleActivity A2 _OnlMrZLGEeukj-7r-JBgqA CodeSnippet
Synchronization_UnLock( );
}
void *synchronization_1_2 ( ){
Synchronization_Lock( );
while (open1_raised) {
// SimpleActivity B _draWFZK3Eeukj-7r-JBgqA CodeSnippet
// SimpleActivity B1 _Wg6gYJLGEeukj-7r-JBgqA CodeSnippet
// SimpleActivity B2 _XmTbIJLGEeukj-7r-JBgqA CodeSnippet
}
Synchronization_UnLock( );
}
void *synchronization_1_3 ( ){
Synchronization_Lock( );
// SimpleActivity C _doVM0JK3Eeukj-7r-JBgqA CodeSnippet
if (open2_raised) {
// SimpleActivity C1 _kQUPrJLGEeukj-7r-JBgqA CodeSnippet
}
else {
// SimpleActivity C2 _iot_vJLGEeukj-7r-JBgqA CodeSnippet
}
Synchronization_UnLock( );
}
Default.h文件
/** Generated by NPU 504 - C Code Generator. */
#ifndef DEFAULT_H_
#define DEFAULT_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#ifndef bool
#define bool int
#endif
#ifndef true
#define true 1
#endif
#ifndef false
#define false 0
#endif
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
void Synchronization_Lock( ){
// Lock
if (pthread_mutex_lock(&mutex) != 0) {
perror("pthread_mutex_lock");
exit(EXIT_FAILURE);
}
}
void Synchronization_UnLock( ){
// Unlocking
if (pthread_mutex_unlock(&mutex) != 0) {
perror("pthread_mutex_unlock");
exit(EXIT_FAILURE);
}
}
#define DEFAULT_ACTIVITY_COUNT 12
#define DEFAULT_SIMPLE_ACTIVITY_COUNT 11
#define DEFAULT_COMPOSITE_ACTIVITY_COUNT 1
#define DEFAULT_STATE_COUNT 1
#define DEFAULT_STATE_Of_COMPOSITE_ACTIVITY_1_COUNT 1
/*! Enumeration Of All Activities */
typedef enum {
Default_SimpleActivity_A,
Default_SimpleActivity_B,
Default_SimpleActivity_C,
Default_SimpleActivity_S,
Default_SimpleActivity_A2,
Default_SimpleActivity_B1,
Default_SimpleActivity_B2,
Default_SimpleActivity_C2,
Default_SimpleActivity_C1,
Default_SimpleActivity_M,
Default_SimpleActivity_N,
Default_CompositeActivity_A1
}DefaultActivities;
/*! Enumeration Of All SimpleActivities */
typedef enum {
Default_A,
Default_B,
Default_C,
Default_S,
Default_A2,
Default_B1,
Default_B2,
Default_C2,
Default_C1,
Default_M,
Default_N
}DefaultSimpleActivities;
/*! Enumeration Of All CompositeActivities */
typedef enum {
Default_A1
}DefaultCompositeActivities;
/*! Enumeration Of All States */
typedef enum {
Default_State
}DefaultStates;
#ifdef __cplusplus
}
#endif
#endif /*DEFAULT_H_ */
|