RKH
  1. Declaring the actions


Prev: Defining the state machine's objects
Next: Include files

All init, entry, exit, and transition actions of my state machine are implemented in "myact.c" file and declaring in "myact.h" file. These files also includes transition guard and branch selection functions.


Initial action of "my" state machine

void
my_init(const RKH_SMA_T *me)
{
MySm *realMe = ((MySm *)(me));
RKH_TR_FWK_OBJ(&my->equeue);
realMe->x = realMe->y = 0;
}
#define RKH_TR_FWK_OBJ(obj_)
Entry symbol table for memory object.
#define RKH_TR_FWK_SIG(stateObj_)
Entry symbol table for event signal.
Describes the SMA (active object in UML).
Definition: rkhsma.h:772

Effect actions of "my" state machine

void
set_x1(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
((MySm *)(me))->x = 1;
}
void
set_y_2(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
((MySm *)(me))->y = 2;
}
void
set_y_1(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
((MySm *)(me))->y = 1;
}
void
dummy_act(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)me;
(void)pe;
}
void
show_data(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)me;
(void)pe;
}
void
terminate(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)me;
(void)pe;
}
void rkh_fwk_exit(void)
Exit the RKH framework.
Represents events without parameters.
Definition: rkhevt.h:170

Entry actions of "my" state machine

void
set_x_1(const RKH_SMA_T *me)
{
((MySm *)(me))->x = 1;
}
void
set_x_2(const RKH_SMA_T *me)
{
((MySm *)(me))->x = 2;
}
void
set_x_3(const RKH_SMA_T *me)
{
((MySm *)(me))->x = 3;
}
void
set_y_0(const RKH_SMA_T *me)
{
((MySm *)(me))->y = 0;
}

Exit actions of "my" state machine

void
dummy_exit(const RKH_SMA_T *me)
{
(void)me;
}

Transition guard functions of "my" state machine


Branch selection functions of "my" state machine

rbool_t
y_0(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
return ((MySm *)(me))->y == 0 ? RKH_GTRUE : RKH_GFALSE;
}
rbool_t
y_1(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
return ((MySm *)(me))->y == 1 ? RKH_GTRUE : RKH_GFALSE;
}
rbool_t
y_2(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
return ((MySm *)(me))->y == 2 ? RKH_GTRUE : RKH_GFALSE;
}
rbool_t
x1(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
return ((MySm *)(me))->x == 1 ? RKH_GTRUE : RKH_GFALSE;
}
rbool_t
x2_or_x3(const RKH_SMA_T *me, RKH_EVT_T *pe)
{
(void)pe;
return (((MySm *)(me))->x == 2 || ((MySm *)(me))->x == 3) ?
}
#define RKH_GFALSE
This values are retrived by guard functions.
Definition: rkhsm.h:1317
#define RKH_GTRUE
Definition: rkhsm.h:1318


Prev: Defining the state machine's objects
Next: Include files