<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>OLSEN: An Object-Oriented Formalism for Information and Decision System Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ramzi Guetari</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frédéric Piard</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bettina Schweyer</string-name>
          <email>schweyer@esia.univ-savoie.fr</email>
        </contrib>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>- data, describing the different entities handled by the
IDS and the actions that they can perform or can be
subjected to ;
- temporal properties of the different kinds of
processes (including traceability of information) ;
- organisation, considered through information flows;
- economic facet, which describes the means of
performance evaluation in relation to enterprise
environment and objectives.</p>
      <p>The OLYMPIOS model [Beauchêneּ93] [BHPּ93]
[BHSּ93] covers the different stages of such a system
life cycle and proposes original solutions for its
analysis, specification, design and realisation.
OLYMPIOS describes activities, taking into account
the assigned objectives and the resources availability.
The basic modelling elements areּ:
an industrial information database, where products,
resources, machines,… are described.</p>
      <p>Consumer-Supplier Information Systems (CSIS). A
CSIS stands for an “atom” of organisation. It is a
generalisation of the customer-supplier exchange
relationship to every couple of actors in the
enterprise (men, machines, software). Every CSIS
is associated to an objective, transforms resources
and emits a satisfaction level.
an Objective Management System (OMS), whose
role is to create a graph from expressed objectives,
where every node is an objective associated to a
CSIS.
a Resource Management System (RMS), in charge
of the product and resource management and
sharing.
an activation system (AS), producing actions plans
to organise processes, taking into account the
a p p l i c a t i o n , t e m p o r a l c o n s t r a i n t s , a n d
communications/synchronisation between CSIS.</p>
    </sec>
    <sec id="sec-2">
      <title>3.ּThe IDS Life Cycle</title>
      <p>The OLYMPIOS model covers the different stages of
the IDS life-cycle (Fig.ּ1). We use an algebraic
approach for the four facets of industrial information so
as to obtain a coherent (i.e. sufficiently complete and
consistent) specification. The design stage enables us to
design the information system from specification and
by analysing the "existing" system of the enterprise and
its objectives. The result of this stage is a representation
of the IDS using structured entities. The OLYMPIOS
model introduces the uniformity of the model used
from specification up to design. It uses tools proving
the coherence of the system in the specification step
and maintaining this coherence by automating the
translation from one stage to another.</p>
      <sec id="sec-2-1">
        <title>3.1.ּAnalysis Stage</title>
        <p>In the analysis stage, the relevant information for the
data, the temporal, the organisational and the economic
facets is collected.</p>
        <p>The result of the data facet analysis consists in the
description of the data handled (resources etc.) in the
system to design and, for each datum, the set of
operations that can be realised (data dictionary). This
static description can be translated into a finite state
automaton in which every node represents a state of the
datum in question and every edge an operation which
produces a new state.
The analysis of the organisational aspects of the
manufacturing firm results in a set of interactions
between the different agents of the enterprise in the
form of exchange relationships. By interviewing each
of these agents we enumerate, on the one hand, the
exchange relationships in which he is consumer, i.e.
follows a certain objective by asking for satisfaction of
the respective needs, and on the other hand, we identify
the relationships in which he is supplier and performs a
certain function. For each of these functions (which we
would like to call basic operation) he enumerates the
resources necessary for realising this operation and the
algorithm he follows to obtain the wanted resource.
Thus, this interview gives us information about
objectives and their decomposition,
identification of the possible suppliers for the
realisation of a given objective,
the basic operations that can be performed and
knowledge about how to execute the operations and
which resources are needed.</p>
        <p>Starting from this information, we can establish a
knowledge base of the different ways to decompose
objectives and a knowledge base for the needed
resources for each basic operation. These knowledge
bases will help us, in addition to the predefined
structure of such an exchange relationship, to define the
enterprise organisation.</p>
        <p>The analysis of the temporal facet provides a dynamic
description of the system. It enables us to describe the
temporal behaviour of different agents and resources of
the system and their interactions. For this part of the
analysis, a method close to natural language is being
developed which will allow a user-friendly way of
describing temporal rules.</p>
        <p>From this analysis we also obtain a description which
we call realization programs. These programs contain
the description of the CSIS functionning and of the
operations which are not formally describable.
As far as the economic facet is concerned, we are
actually working on an interview structure including
fuzzy logic in order to acquire the information
necessary for evaluating the system's performance.</p>
      </sec>
      <sec id="sec-2-2">
        <title>3.2.ּSpecification Stage</title>
        <sec id="sec-2-2-1">
          <title>3.2.1.ּData Specification</title>
          <p>The data facet corresponds to the IDS functional and
structural aspects, and aims at representing the
technical and technological data. We use Algebraic
Specifications
of</p>
          <p>Types (ASAT)
[Guttagּ78] [Jacquenetּ86] [Liskovּ87] so as to have
efficient and simple proof techniques at our disposal.
An ASAT enables us to express an entity behaviour in a
high level formalism. For a given entity, an ASAT is a
triple &lt;Ω,Σ,A&gt;, where Ω is a set of domains containing
the domain of the entity values, Σ is a set of operations
on the entity, and A is a set of equations (axioms and
preconditions) on these operations, which determines
the entities behaviour and the relationships between
them. ASAT are automatically constructed from the
entities automata, which are the result of the analysis
Description
of Entities
by automata</p>
          <p>ASAT
Generator
Generated</p>
          <p>ASAT</p>
          <p>Class
Generator
Standard
Classes</p>
          <p>OLSEN</p>
          <p>Generator</p>
          <p>MRS
Resources</p>
          <p>Affectation
stage. This automatic construction is realised by the
algorithms [Nkongoּ90] developed in our laboratory.</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>3.2.2.ּOrganization Specification</title>
          <p>It starts from the analysis of the "existing system",
which results (inter alia) in the identification of actors
and their functions and
objectives.</p>
          <p>Specifying
organisation consists in formally expressing identified
objectives (in the "triple" form), and in constructing
their associated</p>
          <p>CSIS from standard parametrized
ASAT of organisation [Beauchêne9ּ3]. Simultaneously,
one must elaborate the different graphs of objectives.
intervals;
the CSIS.</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>3.2.3.ּTemporal Specification</title>
          <p>The specification of the industrial information temporal
facet uses a synchronous process algebra, directly
derived from
the</p>
          <p>SCCS calculus of
[Piardּ93]. We specify four kinds of processes with this
language :
1- chronological and event-based clocks, essential to
specify synchronisation and to measure temporal
2- behaviours of data facet entities, which are not
completely determined by ASAT axioms;
3- behaviours of CSIS;
4- activation plans, elaborated by the activation system
from graphs of objectives and resources to schedule</p>
          <p>Existing System Analysis
CSIS</p>
          <p>Resources</p>
          <p>OLSEN Realization
program</p>
          <p>CSIS A CSIS B CSIS C Closing Down
Procedures Interfaces</p>
          <p>Users</p>
          <p>Application
Programs</p>
          <p>Data
Bases</p>
        </sec>
        <sec id="sec-2-2-4">
          <title>3.2.4.ּEconomic Specification</title>
          <p>This facet cannot be specified independently of data
and organisation. Indeed it is shared between them, and
the most important part is included in the organisation
facet. Works are still going on to sharpen the economic
view of OLYMPIOS on the information system (with
the help of performance indicators, fuzzy logic and
project-based management approach).</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>3.3.ּDesign Stage</title>
        <p>The OLYMPIOS model, in its design stage, is based on
the class model. This model was extended in order to
allow to take all industrial information features into
account, in particular real time ones. The result of the
design stage is an organisation of entities independent
of possible target programming languagesּ: OLSEN
(OLympios Structured ENtity).</p>
        <p>An OLSEN [Guetariּ94] is composed of a “class” part
and another part called “scenario” which indicates the
interactions with its environment. The difference
between an OLSEN and a classical object is the
scenario which describes the temporal behaviour
generally missing in the standard class model. The
OLSEN model is a “design object”.</p>
        <p>In this paper, we present only the specification and
design of Activation System (AS part) and Resource
Management System (RMS). The Objective
Management System is the subject of a publication to
come.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4.ּThe Transition from the Analysis to the</title>
    </sec>
    <sec id="sec-4">
      <title>Specification Stage</title>
      <p>This stage consists in describing data types using finite
state automata. We must first insist on the fact that
every entity cannot be described by an automaton. Only
if it has successive states and if it is concerned by
actions passing from one state to another can it be
described by an automaton. We do not use the automata
as a specification tool but as a tool allowing us to shape
the evolution of some kind of data type over a set of
states. In this kind of automata, each transition
represents an operation changing the entity's state and
each node represents one state of the entity. The
automata may have many transitions corresponding to
the same operation, however, each state is unique. A
particular state called “starting state” must always exist.
It corresponds to the extremity of the transition which
stands for the operation creating the type of
interestּ(TI).</p>
      <p>The entities described by automata are distinguishable
by the successive states that they can have. The order in
which different states are occupied is well defined. The
graph of state changing is oriented and has a starting
state from which we can observe the evolution of the
entity. This graph allows us to distinguish the
constructor operations using a single method. The
transitions corresponding to these operations have
extremity nodes which can be reached from the starting
state by only one path of the graph. The construction of
axioms is done in two stepsּ: the construction of left
parts of axioms and the construction of right parts of
axioms, as it is shown belowּ:
The construction of left parts of axioms :
The construction of axioms left parts consists of
building the following sets :
- CT = {c(y*), c @ C}
- OT = {o(x, y*), o @ O, x @ CT}
- ST = {s(x, y*), s @ S, x @ CT}
OT and ST contain the left parts of specification
axioms. Axioms which define the semantic of the
abstract data type have their left parts in the OT set and
axioms which shows the simplification of terms of
T(Ω,Σ) have their left parts in the ST set.</p>
      <p>The construction of right parts of axioms :
The graph of states, whose every node is a state of
entities of TI type, and whose every transition is an
operation, providesּ:
1- Ω = {TI, STATES}, STATES = {E1,E2,E3,...}
2- Σ = {state, σ1, σ2, σ3, ..., σn} = O+C+S, T = S + C
= {σ1, σ2, σ3, ..., σn} is the set of operations which
create or transform the values of TI (represented in
the automata by transitions), O={state} contains a
single observer.
3- Left parts of axioms by the building of AC,AO,AT
from O,C et T.
4- Right parts (y) of axioms in the form state(c(x*)) =
y, where c@ C, and y is the expression of the name
of the node extremity of the path represented by
c(x*) from the starting state. If there are many of
these paths then the y term will be expressed in the
form if...then...else ...
5- Right parts (y) of axioms in the form s(c(x*)) = y,
where s @ S is a convertible operation and y
corresponds to the canonical form of the state
extremity of the path c(x*), i.e. the expression of
the shortest path between the starting state and the
state extremity of the path represented by the
expression c(x*). In other terms, these axioms are
represented in the automata by simple circular
paths. If there are many of these paths then the y
term will be expressed in the form if...then...else ...
6- Preconditions related to the state of arguments
(membership of TI) of each operation, which are
expressed by the restrictions on the domain of this
operation before its execution. These restrictions
are issued from the state origin of the arc
representing the operation.</p>
    </sec>
    <sec id="sec-5">
      <title>5.ּThe Transition from the Specification to the Design Stage</title>
      <p>The transition from the specification stage (ASAT and
SCCS) to the design stage is done automatically in two
steps. The first step consists in taking the ASAT one by
one and translating each one into a standard class. The
second step is a global one and permits the organization
of the communication between the obtained classes.
The benefit of this automation is the preservation of the
coherence obtained in the specification stage.</p>
      <sec id="sec-5-1">
        <title>5.1.ּThe Standard Class Generation</title>
        <p>The class attributes and methods are generated from the
ASAT operations. This is done using the following
rules. We note an operation : σ : Ω1 é Ω2. Ω1 is the
Case 1 : σ : Ω1 é Ω2 / TI # Ω1 and Ω2 = {TI}.
This kind of operation corresponds to a particular
constructor. For each constructor, we generate a
method “New” with parameters of type Ω1.</p>
        <p>Case 2 : σ : Ω1 é Ω2 / Ω1 = {TI} and Ω2 = {ω ≠
TI}. This kind of operation corresponds to
observers. The class structure is obtained from these
observers. For each observer we generate an
attribute of type Ω2 and a method to access it.
Case 3 : σ : Ω1 é Ω2 / TI @ Ω1 and TI @ Ω2. This
case corresponds to a general one. For each
operation of this kind we generate a method with in
parameters of type ω @ Ω1 / ω ≠ TI and out of
parameters of type ω @ Ω2 / ω ≠ TI.</p>
        <p>The scenario of an OLSEN is issued from SCCS
formulae. An SCCS formula contains several
deterministic parts. Each part provides one script in the
OLSEN scenario. The scenario generation is done in
three steps : the first two provide the declarative part of
a scenario, the third one provides the dynamic part. For
each OLSEN, we determine the determinist parts of the
corresponding BEHAVIOUR (separated by a “sum”
operator). For each part, we execute the following three
stepsּ:
set of domains and Ω2 is the set of codomains. “TI” is
the data type that we specify. We distinguish three
kinds of operations :
•
•
•</p>
        <p>Event Detection. This step permits the detection
and declaration of the different kinds of events. The
type of each event is deduced from the SCCS
syntax. A communicational event appears in at least
two BEHAVIOURs, once preceded by the delay
operator δ, and once without this operator. An
environmental event is identified by the existence
of a clock emitting this event. An event is
conditional if its complementary event appears at
least once in a BEHAVIOUR. When all events are
declared, we proceed to the unification of the
communicational events. This unification is based
on the observational equivalence [Austryּ84] and
consists of giving the same name to two
synchronously successive events in a SCCS
formula.</p>
        <sec id="sec-5-1-1">
          <title>Identification of the Set of Suppliers. For each</title>
          <p>communicational event, we define its receiving
OLSENs whose BEHAVIOURs contain this event,
preceded by the delay operator δ. Any OLSEN
responding to this event by applying one of its
methods must be added to the suppliers list of the
treated OLSEN.</p>
          <p>Script Generation. A script is generated for each
determinist part. Each event described in the
formula is replaced by one or several simultaneous
dispatches of messages. The receivers of these
messages are the suppliers defined in step 2.</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>6.ּThe Transition from the Design to the</title>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Realization Stage</title>
      <p>This transition is based on the realization programs
which we have obtained in the analysis stage.
The OLSEN formalism helps us to generate data bases
on the realization stage. The application programs are
obtained through the OLSEN, the realization programs
and the CSIS organization.</p>
      <p>If we target object-oriented data bases in the realization
stage, we have to use the OLSEN and the realization
programs. In this case, each class part of an OLSEN is
directly translated into a data base object and the
scenario part is used for the data access in the
application programs. The realization programs allow
us to implement the methods of the data base objects.
If the data bases are not object-oriented, only the
structure of the OLSEN interferes for the realization of
these data bases. In a relational data base, for example,
the OLSEN structure is used for the table creation. The
inheritance relationship is eliminated in these data
bases and replaced by the result of merging the
structures of a super-class and the sub-classes.
In the realization stage we can obtain three different
types of CSIS translations: automatic CSIS where the
actors perform totally automated processes,
semiautomatic CSIS where one of the two actors performs
an automated task or the manual CSIS where both
actors perform manual tasks.</p>
      <p>The first type of CSIS with the realization programs
and the scenarii allow us to obtain the application
programs. These programs will act upon the data bases
with the classical operations like add, modify and
delete. These interactions with the data base are
performed through message sending between the data
base objects in the case of an object-oriented data base
or through primitives which are the result of the
OLSEN behaviour in the case of non object-oriented
data bases.</p>
      <p>The semi-automatic CSIS form the interactions
between a user and a process. These CSIS lead towards
the implementation of user interfaces and external
views which restrict the data base access according to
the user's rights.</p>
      <p>The manual CSIS finally, allow us to realize the manual
procedure for which the automation would be too
expensive.</p>
    </sec>
    <sec id="sec-7">
      <title>7.ּConclusion</title>
      <p>The OLYMPIOS model provides the means to analyse
and specify coherently an industrial information and
decision system. It allows then to design the specified
IDS by preserving the coherence obtained in the
specification stage by using algebraic techniques. The
continuity and uniformity claimed by the Olympios
model is the result of two factorsּ:
- the use of algebraic tools to specify all the
components of an IDS like the data facet, the organization
facet or the temporal facet,
- the use of ASAT to specify data and Objects to
design them.</p>
      <p>This care of continuity and uniformity has lead us to
develop algorithms (and parts of a future CASE-Tool)
to automatically generate a coherent OLSEN
organisation from the analysis. Our objective is to
generate a maximum of code for applications.
[Piard 93] F. Piard, C. Braesch - Application du calcul
SCCS de Milner à la spécification de processus
informationnels par types abstraits algébriques dans
une entreprise manufacturière. Real Time Systems
Conference, Paris 1993.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [Austryּ84]
          <string-name>
            <surname>AUSTRY D.</surname>
          </string-name>
          , BOUDOL G., Algèbres de processus et synchronisation,
          <source>TCS</source>
          <volume>30</volume>
          (
          <issue>1</issue>
          )
          <year>1984</year>
          [Beauchêne 93]
          <string-name>
            <given-names>D.</given-names>
            <surname>Beauchêne</surname>
          </string-name>
          . L'
          <article-title>information industrielle : définition et spécification</article-title>
          .
          <source>PhD thesis</source>
          , University of Savoie.
          <source>December</source>
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [BHP 93]
          <string-name>
            <given-names>D.</given-names>
            <surname>Beauchêne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Haurat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Piard</surname>
          </string-name>
          . Une méthode de spécification de l'
          <article-title>information industrielle par types abstraits algébriques</article-title>
          .
          <source>Proceedings of ICO'93</source>
          ,
          <fpage>4</fpage>
          -7
          <source>May</source>
          <year>1993</year>
          , Montreal Canada.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [BHS 93]
          <string-name>
            <given-names>D.</given-names>
            <surname>Beauchêne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Haurat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Schweyer</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>Designing an information system for a manufacturing enterprise under the aspect of a CIM approach : the model OLYMPIOS</article-title>
          .
          <source>Proceedings of APMS'93</source>
          ,
          <fpage>28</fpage>
          -
          <lpage>30</lpage>
          September.
          <year>1993</year>
          , Athens Greece.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [Guetari 94]
          <string-name>
            <given-names>R.</given-names>
            <surname>Guetari</surname>
          </string-name>
          . and
          <string-name>
            <given-names>F.</given-names>
            <surname>Piard</surname>
          </string-name>
          .
          <article-title>From the Specification to the Design of an Industrial Information System: the Olympios Model</article-title>
          .
          <source>Accepted in the 1994 IEEE Conference on Systems Man and Cybernetics</source>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          San Antonio - Texas October 2 - 5
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [Guttag 78]
          <string-name>
            <given-names>J.V.</given-names>
            <surname>Guttag</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.J.</given-names>
            <surname>Horning</surname>
          </string-name>
          .
          <article-title>The algebraic specification of Abstract Data Type</article-title>
          .
          <source>Acta Informatica.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>1978</source>
          Vol 10. P 27-52.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [Jacquenet 86]
          <string-name>
            <given-names>J.P.</given-names>
            <surname>Jacquenet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lescanne</surname>
          </string-name>
          .
          <article-title>La réécriture</article-title>
          .
          <source>Techniques et Sciences Informatiques</source>
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <article-title>Vol 5 N° 6</article-title>
          . p.
          <fpage>433</fpage>
          -
          <lpage>452</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [Liskov 87]
          <string-name>
            <given-names>B.</given-names>
            <surname>Liskov</surname>
          </string-name>
          .
          <article-title>Data Abstraction and hierarchy</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <article-title>OOPSLA'87 Addendum to the proceedings</article-title>
          .
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [Nkongo 90]
          <string-name>
            <given-names>T.</given-names>
            <surname>Nkongo</surname>
          </string-name>
          .
          <article-title>Spécification algébrique de types abstraits pour le modèle Olympios</article-title>
          .
          <source>DEA report Ingénierie Informatique of INSA Lyon. September</source>
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>