sponding actions :
• external(c) : the set of input/output actions (in c)
interacting with outside.
• internal(c) : the set of internal actions (in c). An
internal action can be activated by more than one
input action.
We define for each internal action act of a compo-
nent c (act ∈ internal(c)) the following external ac-
tions :
• input(act) : a set of input actions activating act
(input(act) ⊆ external(c)).
• output(act) : a set of output actions to activate
once the execution of act finishes (output(act) ⊆
external(c)).
Finally, we denote by In
Act (resp, Out Act) the
set of input (resp, output) actions in the application (∀
act ∈ internal(c), input(act) ⊂ In Act, output(act)
⊂ Out
Act).
4.2 Composition of Components
To be compliant with several industrial component-
based technologies, we enrich the functional architec-
ture of a control application.
4.2.1 Container Concept
In several component-based technologies (Crnkovic
and Larsson, 2002), the container concept is proposed
to gather application components controlling physical
processes. A container is a logical execution unit cor-
responding to time slots of the processing unit. In this
paper, we propose the following definition of a con-
tainer.
Definition. a container is a set of application
components sharing the control of physical processes.
It is characterized by a sequencing function defining
the static scheduling of the internal components. We
apply a non-preemptive policy to process this func-
tion.
In the operational architecture, we propose to con-
sider a container as an OS task. This task imple-
ments all the possible execution scenarios of the in-
ternal components. The sequencing function of the
container is the ”main()” function of this task.
4.2.2 Temporal Constraints
We propose the function cause specifying causalities
between output actions of application components
and input actions of another ones. Two actions are
under a causality constraint if they belong to a same
interaction of a connector.
∀ia ∈ In
Act,
cause(ia,c) = {ϕ ∈ Out
Act/∃i ∈ I(C),{ia} ∪ ϕ ∈ i}
In the Producer/Consumer example, we note that
cause(get,consumer) = {put}. According to specifi-
cations, we define End to End Response Time Bounds
between periodic readings from sensors and the acti-
vation of the corresponding actuators. The scheduling
of the application components has to take into account
these bounds.
Finally, by considering this formal approach, each
control application (following different technologies)
becomes a network of homogeneous components dis-
tributed on several containers of a controller. Ac-
cording to specifications, these components have to
respect bounds on their response times.
Running example. In all the continuation, we
consider as an example a control application embed-
ded in a vehicle. This application is composed of the
following sub-applications to distribute on three con-
tainers :
• The temperature regulator developed while fol-
lowing the IEC 61499 technology.
• The speed regulator developed while following the
PBO technology.
• The brake system developed while following the
Rubus technology.
To deploy the application in OS tasks of the exe-
cution support, we have to transform the correspond-
ing heterogeneous components into formal homoge-
neous ones (figure 7). In the container 1 containing
components controlling the break system, we distin-
guish two interactions : act
out le ft | act left and
act
out right | act right. In this container, when the
input actions (act
pres and act speed) of Comp1 are
activated, we have to execute the internal action Act1
deducing the brake to activate. Once the execution
ends, we activate act
out le ft OR act out right de-
pending on the data pressure and speed.
5 SUBTASKS SYSTEM
Once the heterogeneous components of the applica-
tion are unified in a same model, the remaining prob-
lem is to deploy them in feasible OS tasks of the ex-
ecution support. We propose to transform first of all
these components into a subtasks system with prece-
dence constraints. The purpose is to exploit previous
results on the real-time scheduling. We define the fol-
lowing concepts characterizing such system.
ICSOFT 2007 - International Conference on Software and Data Technologies
210