6 To
6 To
6 To
5, SEPTEMBER 2013
Abstract— Control software systems for manufacturing plants facing serious limitations due to the inherent complexity of
reveal common system architectural elements. This suggests the systems to be modeled. In addition, there is a major issue
taking advantage of a development paradigm based on reusable with increasing model size, which leaves practitioners daunted
components. Creating and upgrading a repository of reusable
components suitable for many systems that share common by the inability of synthesis tools to deliver safety-control
characteristics present a challenge for engineers, especially if software systems of a size comparable to those programmed by
composition mechanisms must be founded on control theories hand. Component-based software engineering (CBSE) seems
of discrete event systems and if formal synthesis tools must be to be an attractive avenue to manage the modeling complex-
integrated into well-accepted component-based software devel- ity of systems, because large control software systems may
opment processes. This paper explores a component model and
a pragmatic method for the development of control software be obtained by composition of reusable, well-defined, and
systems. The method, along with the underlying component separated small artifacts [4]. A predominant preoccupation of
model, fills the gap between a hierarchical control theory and the CBSE community has been the definition of operations
component-based software engineering. A detailed case study for combining components, based on various algebras and
developed around a Festo didactic learning modular production calculi, simultaneously with the formulation of mathematical
system demonstrates the relevance of the proposed approach to
industrial application. laws to specify the properties satisfied by these operations
(e.g., [5]–[7]). However, most recent formal models of inter-
Index Terms— Component-based software engineering, acting components pay little attention to control. Therefore, a
discrete event system, hierarchical control, model-driven
engineering, modular production system, supervisory control framework of reusable components based on a theory specific
theory. to an application domain may constitute a good way to take
into account both these aspects. Supervisory control theory
I. I NTRODUCTION (SCT) [8] is a valuable candidate, especially if procedures that
automatically generate implementable controllers are used in
of sufficient conditions implying conformance with the HCA into predicates or characteristic functions to be used in efficient
central theorem [17], [18], [20], that same set of conditions symbolic representation techniques (e.g., BDD). The resulting
are established during the design of a causal map using simple predicates are generally more readable than legal language
rules. Finally, the term κ L ◦ θ −1 (E), which appears in the automata (e.g., offer better traceability to the original informal
conclusion of the HCA central theorem, can be replaced by specification). Control implementation is also facilitated since
θ −1 (κ M (E)) when the admissible behavior for the abstraction the result of synthesis is a state feedback control function.
is controllable. Therefore, the HCA central theorem is refor-
mulated as follows [26].. C. Application Domain
Theorem 1: Let c ∪u = . be the standard control
technology for the agent, Tc ∪Tu be the standard control The following assumption is made to circumscribe the
technology for the abstraction that satisfies condition (C1), application domain.
. Assumption: Instances of reusable components are pairwise
and θ : L → (Tc ∪Tu )∗ be a causal map. Suppose consistency
disjoint (i.e., they do not share events).
of marking and θ is an observer. Then, for all E ⊆ M, κ M (E)
Similar conditions have been imposed on events in the lit-
is nonblocking iff θ −1 (κ M (E)) is nonblocking.
erature (e.g., local coupling [11], pairwise disjoint low-level
Within the context of Theorem 1, a synthesis procedure that
transition structures [12], disjoint sets of relevant events [18]).
computes κ M (E) while satisfying the nonblocking property
This limitation is reasonable for modular production systems.
ensures that the implementation of the high-level synthesis
This kind of systems, which are widespread in modern indus-
in the low level is nonblocking. The main advantage of this
trial plants, consist of physical modular components that can
theorem is that there is an algorithm for computing an observer
be configured to adapt to distinct manufacturing processes.
from a causal map θ in polynomial time [27] that satisfies the
Each physical modular component has its own sensors and
consistency of marking.
actuators, corresponding to inputs and outputs, that give rise
to occurrences of events observable by the control logic. Since
B. Supervisory Control of State Tree Structures these components do not share I/O, they are then pairwise
This variant of SCT embraces a top-down modeling disjoint and evolve in parallel.
approach in the sense that states can be decomposed. The Relaxing this assumption would introduce dependencies
dynamics of a hierarchical system with concurrent processes is between reusable components. It is unclear what such event
described using a kind of hierarchical state machine formalism sharing means in terms of the modeled subsystems relative
very close to statecharts [28], called an STS. The state space to the controlled hardware. When hardware devices share
is organized into OR and AND superstates from a tree structure events, they can probably be modeled as a single subsystem.
called a state tree. The local dynamics of an STS is defined When it becomes necessary for subsystems to share sub-
by a set of holons assigned to all the OR superstates of its component instances, then their local control specifications
state tree. While the concept of state tree makes it possible to could eventually conflict. The framework presented in this
structure the state space following a principle of modularity, paper assumes a conflict-avoidance policy similar to [18].
holons are used to define system behavior in a modular fashion However, nothing prevents one from using a scheme of conflict
as well. A holon is an automaton in which the state set, event resolution through coordination as suggested in [17] since the
set, and transition structure are partitioned into an internal underlying theoretical framework is the same.
state set and an external state set, an internal event set and
a boundary event set, and an internal transition structure III. C OMPONENT M ODEL
and a boundary transition structure, respectively. Connections A component model typically includes component syntax
between holons must satisfy boundary consistency [11]. and semantics as well as composition mechanisms. These three
Exploiting the HCA variant for successive abstraction of features are defined to match HCA concepts as closely as
subsystems does not preclude the use of the STS framework possible while approaching CBSE practices.
to solve local control problems. Since the approach advocated The syntax offers a means of describing and denoting com-
in this paper aims at control specification reuse as well as sub- ponent constituent parts. The Fractal component model [22]
system description reuse, the use of STS models is motivated constitutes a sound foundation for introducing them. Since a
by pragmatic considerations, in particular a compact graphical component must provide control capabilities, it consists of
representation of the state space and a more human-readable three parts, as shown in Fig. 1: an interface, an implemen-
form of control specifications. More precisely, the parallel tation, and a controller. The implementation part is composed
composition of independent subsystems forming a system can of other components, called subcomponents, which are under
be represented by an equivalent STS model without vertical the supervision of the controller for the enclosing component.
structure [11]. The state tree of such an STS has a single AND The latter takes actions regarding the behavior to be associated
superstate at the root where each AND cell is an OR superstate with a component. In particular, it can superpose control
matched to a holon with an empty external structure (typically behavior to the behavior of its subcomponents so as to exercise
an automaton). In addition, AND cells may represent memory coercion on the way components interact. Even though the
elements that are used to formulate control specifications as a Fractal component model distinguishes between different types
set of sub-state-trees of the STSs underlying state tree. These of interfaces, such a distinction is omitted in the sequel to
define forbidden state families that are eventually translated keep the component model as general as possible. Despite
1574 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 21, NO. 5, SEPTEMBER 2013
the fact that variables should need to be assigned sooner or satisfied by the control technology for the abstraction and
later to sensors, actuators, and devices, a component does on computation of observers from causal maps, especially
not expose its contents. It is private. Since the interface is those associated with elementary components and ϕ in the
visible outside a component, it is public, just like the glue case of vertical composition. Focusing on these specific points
code used during code generation. Additional elements are preserves the formal guaranties provided by HCA throughout
included in component description for documentation pur- the entire design process with the aim of a correct design, but
poses: a behavioral model of the implementation and interface, not necessarily optimal with regard to the weakening of HCA.
an exhaustive model in the case of an elementary component,
or an assembly diagram in the case of a composite component,
and a control problem specification. They result from modeling A. Construction of Elementary Components
tasks and synthesis procedures upstream and downstream from An elementary component is typically associated with a
a structured process of control problem solving. hardware device. Its exhaustive model is built a priori in
The semantics clarifies the role of each constituent part much the same way that similar models are generally obtained
of a component. The behavioral model is formally expressed currently in SCT. Each state in GFB corresponds to a device
by a pair of automata C := (G, G) that defines component configuration that can be determined by actually testing for
semantics in terms of dynamic behavior. The first element is specific concrete states. The event set is defined in terms of
a Mealy machine G := (Q, , {ε} ∪ T, δ, λ, q0 , Q m ), with detectable hardware state changes or other hardware activities
an input alphabet and a disjoint output alphabet {ε} ∪ T detectable by the control logic.
(ε ∈ T is a special symbol meaning no output), specifying the The behavioral model (G, G) is the result of an ad hoc
implementation’s controlled behavior. Discarding all outputs modeling process from the exhaustive model. Assumptions are
associated with the transitions from G (keeping only its made on the latter to obtain a suitable model that depicts an
transition structure) yields the deterministic finite automaton admissible nonblocking behavior of the device. In particular,
(DFA) Gts = (Q, , δ, q0 , Q m ). In practice, G is derived this step allows the elimination of instability problems such as
from Gts by giving a causal map θ : L → M “around” Gts , inertial effects due to chaotic usage of a command. Identifying
adding to it the output alphabet and output function λ. The hazardous and prohibited transitions results in a control law
second element is a quotient DFA G = (Y, T, η, y0 , Ym ) spec- f and a DFA Gts that model the device behavior in a
ifying the way the component interacts with other components normal operation mode. The modeling process should include
through its interface. It is endowed with the observer property formal verification techniques or, at the very least, statistical
and computed with the algorithm described in [27] from an validation techniques to ensure the validity of Gts . The Mealy
appropriate relabeling of Gts . Given well-defined instantia- machine G is obtained by giving a causal map θ with the
tion mechanisms, behavioral models can be seen as generic observer property. The former is then refined into an expressive
schemata for the declaration of instances, which can be used model G to provide an interface for the component.
to build larger components, subsystems, and systems, making Fig. 3 shows the exhaustive model of a typical pneumatic
components reusable. In the case of a composite component, jack (or cylinder) with two sensors that detect the end of
the assembly diagram is an STS without vertical structure. travel positions and three valves for one stable position. In
Since elementary components do not have subcomponents, the this model, the symbols Xi (i = 0, 1) and Y0 denote sensor
assembly diagram is useless in this case. An exhaustive model inputs and an actuator command, respectively. More precisely,
GFB replaces it, where GFB is a DFA expressing the internal the values X0 and X1 indicate, respectively, that the jack is
behavior of a component in the absence of any control. For a completely retracted and completely extended. Furthermore,
composite component, GFB can be obtained from its assem- X0∧X1 holds when the jack is neither completely retracted nor
bly diagram. The control problem specification completely fully extended. Therefore, Y0∧X1 represents the case in which
describes a control problem, which is implicit in a behavioral the cylinder goes out. Likewise, in the symmetric case Y0∧X0,
model. It contains, among other things, a control specification it goes in. The expressions Xi and Xi denote, respectively,
and a control law. The control specification is expressed with a signal rising and falling edges. The signal Y0 corresponds
set of normalized logical formulas, which, in fact, corresponds to action extend and Y0 corresponds to actions retract and
to a set of illegal sub-state-trees, as formulated in [11], except cancel extension. The transitions with dashed edges have been
for explicit constraints. The control law is a state feedback identified as nonessential experimentally. Eliminating these
control function f such that Gts = f /GFB . In other words, transitions yields control actions, which disable the superfluous
Gts is the solution of the control problem. controllable transitions. The interface makes it possible to
The composition mechanisms are based on algebraic oper- extend and retract the cylinder repeatedly. Such an abstraction
ators that allow combining components while maintaining reduces the number of states to consider at the next layer.
invariant control coincidence, consistency of marking, and Even if the reduction ratio is small, the combined effect on
the observer property when applying any atomic operation several layers may be considerable. The two configurations in
of Fig. 2. For instance, components with the observer prop- which X0 ∧ X1 holds have been excluded from the model.
erty are closed under horizontal and vertical composition as They happen, for example, when a sensor is stuck at true,
well as under superposition of control [26]. This feature of which causes the nonfaulty model to block if all the symbols
the component model is very important because engineers that delineate the state space appear in conditions associated
only have to concentrate their efforts on the condition to be with a command. Taking into account faulty configurations
CÔTÉ AND ST-DENIS: COMPONENT-BASED METHOD FOR THE MODELING AND CONTROL OF MODULAR PRODUCTION SYSTEMS 1575
TABLE I
S AMPLE OF E LEMENTARY C OMPONENTS W ITH S OME S TATISTICS
Exhaustive Control
Implementation Interface
model specifica-
G G
Component GFB tion
(No. of (No. of
(No. of (No. of
states) states)
states) predicates)
Conveyorbelt 6 6 2 2
Conveyorrotary 3 4 2 2
Injector 8 12 2 4
Jack100 6 8 2 4
Jack101 6 7 2 4
Jack110 6 7 2 4
Jack111 6 6 2 4
Jack111:ce 6 6 3 4
Jack111:cecr 6 6 4 4
Jack111:cr 6 6 3 4
Jack111:ss 6 6 2 2
Fig. 3. Models for the elementary component Jack111:ce . Jack211::e 6 9 2 4
Jack211::r 6 9 2 4
Relayad 6 8 2 4
during code generation is not obvious and would require more Relaysd 4 4 2 4
SuctionCup 4 6 2 4
investigation. SuctionCup:cc 4 6 3 4
The header of a control problem specification contains the Timerod 4 4 2 3
name of an elementary component and an instantiation signa- Timerod:nc:e 4 4 3 3
ture. Every symbol declared in the instantiation signature has
a data type that falls under the scope of a set of conventional
type definitions for sensors, actuators, timers, registers, and For instance, Y0 is enabled if Y0 ∧ X0 ∧ X1. This example
memory elements. For example, the symbol Y0 designates a gives the reader an idea of the extent of pseudo-routines.
Boolean actuator, whereas X0 and X1 are Boolean sensors. The pseudo-routines Projectσ () represent the observer θ (lines
As a last step before code generation, engineers assign actual 5–12). The pseudo-routines Lactionsσ () send a command to an
physical resources to the symbols declared in the instantiation actuator to reflect the occurrence of the event σ (lines 13–14).
signature using a syntax that is proper to the target hardware The pseudo-routine Cycle() is accessible by the main loop and
[e.g., Y0 := Q0.5 assigns hardware Boolean input point Q0.5 its explanation appears later in this section.
to the symbol Y0 on a Siemens programmable logic controller
(PLC)]. On instantiation of a component, the instance has
access to a state variable containing the value corresponding B. Sample of Elementary Components
to its current state. It is declared from symbols that appear in Presently, the repository contains 48 elementary components
the instantiation signature. The rest of the control problem usually encountered in modular production systems. Table I
specification consists of glue code, mainly pseudo-routines presents a sample of them. There is a wide variety of conveyors
used by code generation procedures. for material handling. A conveyor belt conveys workpieces one
Fig. 4 contains the control problem specification of the after another. Two sensors detect when a workpiece reaches or
component Jack111:ce , in particular, the control law expressed leaves the belt, respectively. A relay starts and stops an elec-
by a family of predicates { f σ | σ ∈ } (lines 3–4) such trical motor that drives the belt. A rotary conveyor is a driving
that f σ (v) :⇔ σ ∈ f (v), where v denotes the state variable. mechanism equipped with a geared motor (i.e., with a latency
1576 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 21, NO. 5, SEPTEMBER 2013
TABLE II
S AMPLE OF C OMPOSITE C OMPONENTS W ITH S OME S TATISTICS
State- Flat state-
Control specification Interface
space space
upper upper
Component (No. of predicates) G
bound bound
(No.
(No. of (No. of
of
states) states)
states)
Conveyorts 12 32 2 5 2
Cranebr 256 5184 19 11 2
Cranelr 16 54 5 4 6
Cranelr:all 16 54 5 4 9
Cranelr2 64 5832 13 14 5
Cranelr2:f 192 17 496 14 24 7
Cranewlr2:f 21 52 488 5 38 2
Dispatcher 80 180 3 4 6
Drill 128 864 10 6 2
Hooke 32 72 6 4 4
Hooke:f 48 108 14 6 6
Servomotor 12 16 2 3 4
Tester 12 24 6 5 3
Fig. 8. Instantiation of Jack111:ce .
is a direct consequence of the first explicit control constraint free behavior of subcomponent instances. Furthermore, such
(lines 17–18). Since there is only one state in G with Seq = f constraints may vary from one control problem to another.
and Winch = r , the condition Hook = nv is superfluous and That of Hooke:f is 48 = 3 × 4 × 4. The upper bound of
has been eliminated. The predicate f wu (line 41) enables the the corresponding flat state space is 108 = 3 × 6 × 6 (3
occurrence of wu when the winch is extended only if there is for the memory and 6 for the size of Jack111:ce and the
no vacuum because of constraints 10, 11, and 13. The pseudo- size of SuctionCup:cc with respect to the data in the second
routines Projectσ () have not been included in Fig. 7 because column of Table I). The size of its interface G is 6. Its control
they are generated from G. specification includes 14 normalized constraints and reuses 6
constraints (3 from Jack111:ce and 3 from SuctionCup:cc ). It is
D. A Sample of Composite Components easy to observe the impact of abstraction on several levels by
The repository also includes 17 composite components comparing upper bounds in the first two columns.
common in transportation (e.g., cranes, complex conveyors,
dispatchers, and sorters) and processing (e.g., drills, microm- E. Instantiation of Reusable Components
eters, and testers). In Table II, Cranebr is a base rail crane Generally, the instantiation mechanism is used when build-
driven by a servomotor that picks up a workpiece from three ing a subsystem from subcomponent instances, where a sub-
possible input positions and moves it to a unique output system is the base unit of modularization and subcomponent
position, where it is put down. Cranelr is a unidirectional instances are derived from reusable components. A reusable
crane which moves a workpiece from left to right. The component is precisely a subsystem specification in which a
component Cranelr2 is similar, but it has two output positions causal map with the observer property is defined as a means
and an extendable hook. The version Cranelr2:f takes into to give the subsystem an interface. A system can then be seen
consideration a failure/recovery mode when trying to pick as the instance of a subsystem with no interface located at
up a workpiece. The component Cranelr:all is like Cranelr in the root of an aggregation tree of subcomponent instances
which all events are projected. Reusable components with an in which the leaves are instances of elementary components.
interface identical to their implementation make it possible Fig. 8 illustrates how the subcomponent instance Winch is
to impose constraints on their whole behavior when they created from the component Jack111:ce . The relabeling function
are instantiated. Cranewlr2:f wrap the interfaces of Cranelr2:f rWinch is based on an aliasing map defined in the with clause
for specific usages by adding more state information defined of a subcomponent instance declaration (lines 5–9 in Fig. 7),
by a memory. The former is not really reusable, but it has where each interface event is associated with a corresponding
been added to the repository to show how to create other alias given within square brackets. Since the alphabets of
components that model similar cranes, but with different, subcomponent instances must be pairwise disjoint within a
even more permissive, behaviors. The state-space size of a subsystem, event aliases are expected to be unique across all
component is given in terms of upper bounds calculated from subcomponents within the subsystem. The transition structure
the size of memories and subcomponent instances that appear resulting from this aliasing is identical to that of the original
in the assembly diagram without considering synchronization interface definition, except that the event names have been
(see Fig. 5). Upper bounds include reachable states as well as replaced by their aliases and transitions on synthetic events
unreachable states because the memories represent constraints have been added to synchronize with memories, if necessary.
that can shrink or expand the state space defined from the The relabeled version becomes a new formal object defined
CÔTÉ AND ST-DENIS: COMPONENT-BASED METHOD FOR THE MODELING AND CONTROL OF MODULAR PRODUCTION SYSTEMS 1579
For a given σ ∈ , Funcσ () evaluates the control predicate Routines Funcτ () are symbols that are declared in the
associated with σ (line 2). If it holds, σ is enabled locally local environment but not bound locally to any definition.
and Funcσ () invokes Projectσ () (line 3) to determine if σ They are rather bound at instantiation to routines Funcσ ()
is enabled globally when projected. If these two conditions located inside the outer subsystem. The information for the
are satisfied, then Funcσ () invokes Lactionsσ () to execute binding is given by the aliasing map defined in the control
actions consequent upon the occurrence of σ and returns true problem specification. As illustrated in Fig. 11, the with clause
(lines 4–5). In all other cases, the subsystem state remains contains terms of the form τ [σ ], which establish an aliasing
the same and Funcσ () returns false (line 7), meaning that σ is relationship between the two events (i.e., τ is aliased by σ ).
prohibited by global control. Routines Funcσ () can return false This relationship is implemented by binding the declaration
only for controllable events, since Pσ () always holds for an of Funcτ () (declared in the subcomponent environment) to
uncontrollable event σ , and the instantiation mechanism does Funcσ () (defined in the outer subsystem environment).
not permit the change of status of an event from uncontrollable For subsystems derived from elementary components, the
to controllable. A code generator can exploit this restriction to pseudo-routines Pσ (), Projectσ (), Lactionsσ (), and Cycle()
optimize the code generated for Funcσ (). It should be noted interact with the hardware and need glue code as a mechanism
that, when the call to Projectσ () is successful, any subsystems for adaptation. These code blocks appear between braces in
above the current subsystem in the aggregation tree have control problem specifications. In order to preserve the ability
already changed their state. Accordingly, the global system to generate code automatically, glue code insertion is restricted
state changes propagate from the root down to the leaves. to elements of the abstract dynamic, with the exception
In particular, the commands that correspond to controllable Funcτ () routines. Insertion of glue code takes the form of a
events are sent last in the sequence of environmental changes. routine redefinition, which is written as an assignment (“:=”)
The routine Cycle() is directly and exclusively accessible of a code block to the routine name. By default, f σ is assigned
by the main control loop. Based on a synchronous execution to Pσ (). A syntax variation can be used to add glue code
model for control applications, the control hardware cyclically at the beginning or at the end of routines Lactionsσ () and
executes a main control loop that allocates a time slice to every Cycle(). In Fig. 4, a code block is appended to Cycle()
single component subsystem by invoking its Cycle() routine. (lines 15–20). The syntax forbids adding glue code to Pσ (),
Invocation of Cycle() routines is done in depth-first post- Projectσ (), and Funcσ (), but they can be redefined completely
order along the aggregation tree. The active Cycle() routine with a single code block. For composite components, glue
calls the routines Funcσ () associated with all events generated code insertion can be avoided entirely as the control problem
by a subsystem instantiated from an elementary component specification and the assembly diagram are enough to generate
(see Fig. 4) or associated with all local synthetic events of the intermediate code. However, for elementary components,
a subsystem instantiated from a composite component (see glue code insertion seems unavoidable to provide hardware
Fig. 7) to evaluate the control law from the current state adaptation. Consequently cross-platform portability issues may
of sensors and memories, send commands to actuators, and arise. To circumvent this and ease code generator retargeting,
update memories in a hierarchical manner. In the case of an glue code should have its own proper syntax, which should
uncontrollable event, the call is conditional upon the detection forbid looping constructs as the proposed execution model is
of its occurrence. In the case of a controllable event, the call synchronous and cyclical. Here, a C-like idiom is used for
is systematic. The routine Cycle() may also be involved with conciseness but, for cross-platform portability, a proper subset
local periodic tasks such as timer activation and time out. of IEC 61131-3 [29], [30] may reveal to be more judicious.
CÔTÉ AND ST-DENIS: COMPONENT-BASED METHOD FOR THE MODELING AND CONTROL OF MODULAR PRODUCTION SYSTEMS 1581
G. Code Generation
TABLE III
S TATISTICS A BOUT THE D EVELOPMENT OF THE C ONTROL S OFTWARE S YSTEM FOR THE M ODULAR P RODUCTION S YSTEM
State-space upper bound 1.10 × 104 5.29 × 104 7.13 × 1013 7.17 × 108 2.97 × 1031
Number of components 5 6 19 13 44
Number of memories 1 2 10 7 22
Number of layers 3 3 5 5 6
Control specification 14 22 15 10 4
Control specification (reuse) 11 14 79 48 213
Total 25 36 94 58 217
Size of source code (LOC) 337 390 1272 901 3590
Size of object code (bytes) 3944 3964 13 454 9948 36 580
V. C ONCLUSION
The multifaceted method proposed in this paper is based on
knowledge and practices inherited from two fields: SCT and
CBSE. In particular, this paper showed how a formal frame-
work such as HCA can support CBSE to reduce modeling
complexity through abstraction, save a significant amount of
effort during system design through reuse, and avoid error-
prone programming through code generation. It also revealed
that the goal of correctness by construction is not antago-
nistic to scalability and within the scope of domain experts
with no deep knowledge of any control theory. Compared to
related work (e.g., [13] and [17]–[19]), this paper presented a
complementary perspective where CBSE issues were given as
much attention as SCT issues. It is hoped that associating SCT
and CBSE in this fashion will stimulate research in directions
Fig. 15. Hierarchical structure of the processing subsystem. which have so far mostly escaped formal treatment in SCT
despite a clear need for it (e.g., failure detection, diagnostic,
and recovery).
implementation of the algorithm developed by Wong and
Wonham [27]. To the best of our knowledge, this is the first
time that the HCA framework has been adapted to solve a A. Technical Notes with respect to Related Work
control problem of substantial size in the context of CBSE. While abstraction, reuse, and code generation techniques
This also demonstrates how the underlying hierarchical design have been investigated separately in previous SCT work,
method combined with CBSE is scalable. especially in the context of hierarchical control, they are
A previous paper reported an experiment to evaluate integrated in a uniform and consistent way in the method
whether it was possible to build a repository of reusable com- proposed in this paper.
ponents with a SAT-solving approach [32]. The condition (C1) The idea of exploiting both abstraction techniques and
imposed on Tc as well as consistency of marking, observer, and reusable components to develop software hierarchically goes
controllability properties were formulated with respect to the back to 1970, but it is relatively recent in SCT. On the
specification language A LLOY [34], a symbolic model checker one hand, reducing modeling complexity by using abstraction
that uses SAT-solvers to verify the satisfiability of axioms techniques has been considered many times in the DES com-
defined in a model and find counterexamples for properties munity. Some researchers have, however, mentioned that hier-
(theorems) that should be deduced from these axioms. This archical variants lag far behind in terms of application because
approach is interesting because the A LLOY model developed they are disparate and lacking a unifying theme [35]. The main
for this purpose is concise (about 400 lines) and close to the differences between the methods that combine both horizontal
mathematical formulation of HCA and SCT. The experiment and vertical aggregations can be given with respect to the
was successful for all elementary components. Because of following three points: 1) the mathematical objects to perform
the limitations imposed by A LLOY, however, it has been abstraction (e.g., natural projection [17], [18], [20]; causal
impossible to build some composite components because the map [16]; automaton abstraction [10]); 2) conditions to achieve
1584 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 21, NO. 5, SEPTEMBER 2013
nonblockingness and/or optimality; and 3) architectural restric- around a repository of reusable components and a hierarchical
tions (e.g., limited [12] or unlimited [13] number of levels software architecture, as described in Section III. For instance,
in module hierarchies). To appreciate the differences between abstraction is a means to reduce the state space and thus
such methods, we refer the reader to [20]. Nevertheless, even computation time for the synthesis of supervisors. Therefore,
though hierarchical variants are based on very different mod- interfaces are tied to specific control problem formulations
els and theoretical formulations, deeper examination quickly and a component does not have to represent a meaningful set
reveals many more commonalities among them than differ- of services. It should, however, be noted that the approach
ences in terms of the concepts used. For example, the observer followed by Schmidt and Breindl [20] to develop a solution
property in HCA is echoed by strict rules for holon matching for a system comparable to the one used in our case study is in
in the STS framework [11] and strict rules for level-wise the same spirit as ours notwithstanding the two latter points.
controllability and nonblocking in hierarchical interface-based
supervisory control [12], [13]. On the other hand, reusable B. Open Issues
components are omnipresent in industrial engineering [36]. In
the DES community, this issue has been tackled independently Some issues remain with respect to the work presented
of hierarchical control, except by Leduc et al. [12], where in this paper. First, the component model details in depth
low-level subsystems could be recast as generic models. Stan- an instantiation mechanism with its underlying creation of
dardized models have been proposed as a means to create an abstract computational environment. The latter is defined
global plant models [37]. Some state-machine templates have according to an abstract dynamic independent of machine
been introduced to program control software systems [35], architectures. In general, these aspects were lacking in pre-
[38]. Reuse of subsystem models is one of the main features vious attempts about reusable components in the context of
of a modeling, analysis, and synthesis tool [39]. However, SCT. The proposed solution, however, could be improved
the three last solutions do not include robust composition when considering, for example, the components Cranelr2:f and
mechanisms. Cranewlr2:f . Instead of including the latter in the repository,
As shown in this paper, code generation depends on a model instances of this type could be directly obtained from the
of the abstract dynamic. Balemi et al. [40] and Cieslack et former, if the instantiation mechanism made it possible to add
al. [41] were amongst the first to study the implementation state information in addition to relabeling. Second, the current
aspects of supervisors as theoretically defined in SCT. The implementation on a Siemens PLC was devised for illustration
former associated commands and responses to controllable purposes. The FB call chain and the abstract dynamic are
events and uncontrollable events, respectively. The latter were made obvious in the source code. The disadvantage is that this
preoccupied with the translation of supervisors into executable implementation does not provide object code reuse. Any call to
code. Charbonnier et al. [42] introduced a new supervised an outer subsystem FB must be explicit in the source code. To
control schema to force the occurrences of events associated obtain object code reuse would require the use of pointers or
with commands sent to actuators. Basile and Chiacchio [43] a similar mechanism. There seems to be little doubt that such
extended this schema by adding a dispatcher for conflict a mechanism can be provided at the expense of source code
resolution. They identified several problems that might arise clarity. Finally, the dominant rationale behind the proposed
in implementing supervisors and defined properties to avoid approach is to create repositories of reusable components
them. They also provided code generation algorithms from that could pass through a standard certification process that
automaton or Petri net supervisors. The target code, written assesses their reliability. In this way, the substantial work and
in ST [30], preserves the semantic meaning of the closed- effort invested in constructing components can eventually pay
loop behavior. These solutions are far from satisfying the for itself in subsequent years, potentially compounding the
goals mentioned in Section III-F, except for code generation. cost savings usually associated with reuse.
First, they consider a simpler theoretical framework that does
not support hierarchical aggregation of components. Second, ACKNOWLEDGMENT
they pay no attention to a mechanism for component runtime The authors would like to thank the anonymous reviewers
adaptation since instantiation was not a preoccupation. for their useful comments. They also gratefully acknowledge
Finally, it should be mentioned that several empirical studies the technical support of R. Desrochers and D. Imbeault.
have been conducted to assess the value of SCT and its hierar-
chical variants, in most cases to illustrate theoretical concepts
R EFERENCES
and show computational benefits of proposed methods. To the
best of our knowledge, only one work has been carried out to [1] J. C. Bicarregui, J. S. Fitzgerald, P. G. Larsen, and J. C. P. Woodcock,
“Industrial practice in formal methods: A review,” in Proc. 16th Int.
assess a (nonhierarchical) method with a significant number Symp. Formal Methods, LNCS 5850. Eindhoven, The Netherlands,
of industrial examples and case studies [44]. In general, only Nov. 2009, pp. 810–813.
one substantial system is used as an illustrative example. The [2] J. B. Almeida, M. J. Frade, J. S. Pinto, and S. M. de Sousa, Rigorous
Software Development: An Introduction to Program Verification. Lon-
manufacturing system of the Atelier Inter-établissements de don, U.K.: Springer-Verlag, 2011.
Productique [11], [45] and a system of automated guided [3] D. C. Schmidt, “Guest editor’s introduction: Model-driven engineering,”
vehicles [17], [18] served as reference systems. Other specific Computer, vol. 39, no. 2, pp. 25–31, Feb. 2006.
[4] G. T. Heineman and W. T. Councill, Component-Based Software Engi-
manufacturing systems with large state space have also been neering: Putting the Pieces Together. Boston, MA: Addison-Wesley,
used [10], [13], [19], [20]. All these studies ignored the aspects 2001.
CÔTÉ AND ST-DENIS: COMPONENT-BASED METHOD FOR THE MODELING AND CONTROL OF MODULAR PRODUCTION SYSTEMS 1585
[5] G. Gössler and J. Sifakis, “Composition for component-based modeling,” [30] K.-H. John and M. Tiegelkamp, IEC 61131-3: Programming Industrial
Sci. Comput. Program., vol. 55, nos. 1–3, pp. 161–183, 2005. Automation Systems. Berlin, Germany: Springer-Verlag, 2001.
[6] M. Broy, “A theory of system interaction: Components, interfaces, and [31] Modular Production System, Festo Didactic GmbH & Company, Denk-
services,” in Interactive Computation: The New Paradigm, D. Goldin, endorf, Germany, 1999.
S. A. Smolka, and P. Wegner, Eds. Berlin, Germany: Springer-Verlag, [32] D. Côté, B. Fraikin, M. Frappier, and R. St-Denis, “A SAT-based
2006, pp. 41–96. approach for the construction of reusable control system components,”
[7] K.-K. Lau, M. Ornaghi, and Z. Wang, “A software component model in Proc. 16th Int. Workshop Formal Methods Ind. Critical Syst., LNCS
and its preliminary formalisation,” in Formal Methods for Components 6959. Trento, Italy, Aug. 2011, pp. 52–67.
and Objects (Lecture Notes in Computer Science), vol. 4111, F. S. de [33] K. Åkesson, M. Fabian, H. Flordal, and R. Malik, “Supremica —
Boer, M. M. Bonsangue, S. Graf, and W.-P. de Roever, Eds. New York: An integrated environment for verification, synthesis and simulation of
Springer-Verlag, Nov. 2005, pp. 1–21. discrete event systems,” in Proc. 8th Int. Workshop Discrete Event Syst.,
[8] P. J. G. Ramadge and W. M. Wonham, “The control of discrete event Ann Arbor, MI, Jul. 2006, pp. 384–385.
systems,” Proc. IEEE, vol. 77, no. 1, pp. 81–98, Jan. 1989. [34] D. Jackson, Software Abstractions. Cambridge, MA: MIT Press, 2006.
[9] H. Flordal, R. Malik, M. Fabian, and K. Åkesson, “Compositional [35] L. Grigorov, B. Butler, J. E. R. Cury, and K. Rudy, “Conceptual design
synthesis of maximally permissive supervisors using supervision equiv- of discrete-event systems using templates,” J. Discrete Event Dynamic
alence,” J. Discrete Event Dynamic Syst., Theory Appl., vol. 17, no. 4, Syst., Theory Appl., vol. 21, no. 2, pp. 257–303, 2011.
pp. 475–504, 2007. [36] S. M. Lee, R. Harrison, and A. A. West, “A component-based control
[10] R. Su, J. H. van Schuppen, and J. E. Rooda, “Aggregative synthesis of system for agile manufacturing,” Proc. Inst. Mech. Eng., B, J. Eng.
distributed supervisors based on automaton abstraction,” IEEE Trans. Manuf., vol. 219, no. 1, pp. 123–135, 2005.
Autom. Control, vol. 55, no. 7, pp. 1627–1640, Jul. 2010. [37] F. Wenck, “Decentralized supervisory control of a distributed filling shop
[11] C. Ma and W. M. Wonham, Nonblocking Supervisory Control of State using standardized models,” in Proc. 44th IEEE Conf. Decision Control,
Tree Structures (Lecture Notes in Control and Information Sciences), Seville, Spain, Dec. 2005, pp. 3486–3492.
vol. 317. Berlin, Germany: Springer-Verlag, 2005. [38] G. Ekberg and B. H. Krogh, “Programming discrete control systems
[12] R. J. Leduc, B. A. Brandin, M. Lawford, and W. M. Wonham, “Hier- using state machine templates,” in Proc. 8th Int. Workshop Discrete
archical interface-based supervisory control-part I: Serial case,” IEEE Event Syst., Ann Arbor, MI, Jul. 2006, pp. 194–200.
Trans. Autom. Control, vol. 50, no. 9, pp. 1322–1335, Sep. 2005. [39] D. Shewa, J. Ashley, and L. Holloway, “Spectoll 2.4 Beta: A research
[13] R. C. Hill, J. E. R. Cury, M. H. de Queiroz, D. M. Tilbury, and tool for modular modeling, analysis, and synthesis of discrete event
S. Lafortune, “Multi-level hierarchical interface-based supervisory con- systems,” in Proc. 8th Int. Workshop Discrete Event Syst., Ann Arbor,
trol,” Automatica, vol. 46, no. 7, pp. 1152–1164, 2010. MI, Jul. 2006, pp. 477–478.
[14] H. Zhong and W. M. Wonham, “On the consistency of hierarchical [40] S. Balemi, G. J. Hoffmann, P. Gyugyi, H. Wong-Toi, and G. F. Franklin,
supervision in discrete-event systems,” IEEE Trans. Autom. Control, “Supervisory control of a rapid thermal multiprocessor,” IEEE Trans.
vol. 35, no. 10, pp. 1125–1134, Oct. 1990. Autom. Control, vol. 38, no. 7, pp. 1040–1059, Jul. 1993.
[15] K. C. Wong, “Discrete-event control architecture: An algebraic [41] R. Cieslak, C. Desclaux, A. S. Fawaz, and P. Varaiya, “Supervisory
approach,” Ph.D. dissertation, Dept. Electr. Comput. Eng., Univ. Toronto, control of discrete-event processes with partial observations,” IEEE
Toronto, ON, Canada, 1994. Trans. Autom. Control, vol. 33, no. 3, pp. 249–260, Mar. 1988.
[42] F. Charbonnier, H. Alla, and R. David, “The supervised control of
[16] K. C. Wong and W. M. Wonham, “Hierarchical control of discrete-event
discrete-event dynamic systems,” IEEE Trans. Control Syst. Technol.,
systems,” J. Discrete Event Dynamic Syst., Theory Appl., vol. 6, no. 3,
vol. 7, no. 2, pp. 175–187, Mar. 1999.
pp. 241–273, 1996.
[43] F. Basile and P. Chiacchio, “On the implementation of supervised control
[17] L. Feng and W. M. Wonham, “Supervisory control architecture for
of discrete event systems,” IEEE Trans. Control Syst. Technol., vol. 15,
discrete-event systems,” IEEE Trans. Autom. Control, vol. 53, no. 6,
no. 4, pp. 725–739, Jul. 2007.
pp. 1449–1461, Jun. 2008.
[44] B. A. Brandin, R. Malik, and P. Malik, “Incremental verification and
[18] R. C. Hill and D. M. Tilbury, “Incremental hierarchical construction of
synthesis of discrete-event systems guided by counter examples,” IEEE
modular supervisors for discrete-event systems,” Int. J. Control, vol. 81,
Trans. Control Syst. Technol., vol. 12, no. 3, pp. 387–401, May 2004.
no. 9, pp. 1364–1381, 2008.
[45] R. J. Leduc, M. Lawford, and P. Dai, “Hierarchical interface-based
[19] K. Schmidt, T. Moor, and S. Perk, “Nonblocking hierarchical control supervisory control of a flexible manufacturing system,” IEEE Trans.
of decentralized discrete event systems,” IEEE Trans. Autom. Control, Control Syst. Technol., vol. 14, no. 4, pp. 654–668, Jul. 2006.
vol. 53, no. 10, pp. 2252–2265, Oct. 2008.
[20] K. Schmidt and C. Breindl, “Maximally permissive hierarchical control
of decentralized discrete event systems,” IEEE Trans. Autom. Control,
vol. 56, no. 4, pp. 723–737, Apr. 2011.
Daniel Côté received the B.Sc., M.Sc., and Ph.D.
[21] K. C. Wong and W. M. Wonham, “Modular control and coordination of degrees in computer science from the Université
discrete-event systems,” J. Discrete Event Dynamic Syst., Theory Appl., de Sherbrooke, Sherbrooke, QC, Canada, in 1992,
vol. 8, no. 3, pp. 247–297, 1998. 2004, and 2011, respectively.
[22] E. Bruneton, T. Coupaye, and J. B. Stefani. (2004). The Fractal He has been involved in research for several years
Component Model [Online]. Available: http://Fractal.OW2.org on telecommunications and embedded systems with
[23] H. Zhong and W. M. Wonham, “Hierarchical coordination,” in Proc. 5th Nortel Networks, Ottawa, ON, Canada, and Positron
IEEE Int. Symp. Intell. Control, vol. 1. Philadelphia, PA, Sep. 1990, Fiber Systems, Montreal, QC. His current research
pp. 8–14. interests include discrete event systems, software
[24] L. Feng and W. M. Wonham, “On the computation of natural observers engineering, and formal language theory and its
in discrete-event systems,” J. Discrete Event Dynamic Syst., Theory applications.
Appl., vol. 20, no. 1, pp. 63–102, 2010.
[25] K. C. Wong, J. G. Thistle, R. P. Malhamé, and H.-H. Hoang, “Super-
visory control of distributed systems: Conflict resolution,” J. Discrete
Event Dynamic Syst., Theory Appl., vol. 10, nos. 1–2, pp. 131–186, Richard St-Denis received the B.Sc. and M.Sc.
2000. degrees in computer science from the Université
[26] D. Côté, M. Embe Jiague, and R. St-Denis, “Systems-theoretic view de Montréal, Montreal, QC, Canada, in 1975 and
of component-based software development,” in Proc. 7th Int. Workshop 1977, respectively, and the Ph.D. degree in applied
Formal Aspects Comp. Softw., LNCS 6921. Guimarães, Portugal, Oct. sciences from the École Polytechnique de Montréal,
2010, pp. 163–181. Montreal, in 1992.
[27] K. C. Wong and W. M. Wonham, “On the computation of observers in He has been with the Université de Sherbrooke,
discrete-event systems,” J. Discrete Event Dynamic Syst., Theory Appl., Sherbrooke, QC, since 1980, where he is currently
vol. 14, no. 1, pp. 55–107, 2004. a Professor of computer science, specializing in
[28] D. Harel “Statecharts: A visual formalism for complex systems,” Sci. software systems, formal languages, and algorithms.
Comput. Program., vol. 8, no. 3, pp. 231–274, 1987. His current research interests include modeling and
[29] Programmable Controllers—Part 3: Programming Languages, IEC control of discrete event systems, formal specification methods, and software
Standard 61131-3, 2003. engineering.