=Paper=
{{Paper
|id=Vol-52/paper-12
|storemode=property
|title=Using Meta-Model Technologies to Organize Functionalities for Active System Schemes
|pdfUrl=https://ceur-ws.org/Vol-52/oas01-breton.pdf
|volume=Vol-52
}}
==Using Meta-Model Technologies to Organize Functionalities for Active System Schemes==
Using Meta-Model Technologies to Organize
Functionalities for Active System Schemes
Erwan Breton Jean Bézivin
Société Soft-Maint LRSG, Université de Nantes
4, rue du Château de l'Eraudière,BP 588 2, rue de la Houssinière,BP 92208
44074 Nantes cedex 3, France 44322 Nantes cedex 3, France
ebreton@sodifrance.fr Jean.Bezivin@sciences.univ-nantes.fr
ABSTRACT
Keywords
A new information system landscape is emerging that will be more
Process Models and Meta-models; MOF; MDA; UML;
model-centered than object-oriented, characterized by many
models of low granularity and high abstraction, which describe
static or dynamic aspects of enterprise information systems. This 1. INTRODUCTION
This paper focuses on the particular challenge of interoperability of
paper focuses more particularly on the organization of dynamic
process models. In section 2 we discuss the new MDA scheme
models that we call here active system frameworks (process
(Model-Driven Architecture) [10] put forward by the OMG (Object
models by opposition to product models). They cover, among Management Group) and the central role of models and meta-models.
other concerns, the organization of work, its assignment to We show in section 3 how heterogeneous meta-models are
potential performers and interactions between them. Agent interleaved. This may oblige a particular domain meta-model to
technology is thus concerned in two ways. First, as active respect constraints in order to be integrated into more global
elements, they may intervene in a workflow in the same way as environments. As we observe similarities between them, we attempt
to organize them in a rational way. We particularly study two
real persons. Second, some of their aspects (organization,
problems of immediate interest to software engineering. First how to
processing and interaction) are also shared by other domains. All
couple the meta-models of process with the meta-models of
these schemes could and should be organized in a lattice of meta- products. Second how to organize the various process meta-models
models. The point of view taken here is essentially the one of the involv ed in the design and maintenance of information systems.
software engineering community. As we witness a rapid These problems may be considered as two application areas of agent
proliferation of product and process meta-models, the question of technology.
their overall organization arises. Inspiration may be provided in
this field by some results of ontology engineering. We specifically 2. MODEL DRIVEN ARCHITECTURE
point out at two practical areas of concern. First how to couple The arrival to maturity of object technologies has allowed the idea of
the meta-models of process and the meta-models of products. model-based software development to find its way to practicality.
The OMG is no more centering its activities on a unique
Second how to organize the various process meta-models involved
interoperability bus, but on two different ones: the classical CORBA
in the design and maintenance of information systems. software bus (for code interoperability) and the emerging MOF
(Meta-Object Facility) [7] knowledge bus (for model
Categories and Subject Descriptors interoperability). The consensus on UML (Unified Modeling
D.3.3 [Software Engineering]: Design Tools and Techniques – Language) [8] has been instrumental in this transition from code -
oriented to model-oriented software production techniques. A key
Object-Oriented Design Methods.
role is now played by the concept of meta-model in new software
organizations like the OMG meta-model stack architecture. The
General Terms notion of a meta-model is strongly related to the notion of
Design ontology, used in knowledge representation communities. The
concept of a MOF (Meta-Object Facility) has progressively emerged
in the last ten years from the work of different communities like
CDIF, IRDS, etc., as a framework to define and use meta-models.
The MOF is some kind of an upper -level ontology, defin ed and used
by OMG, for the specific task of building information system.
Delimiting with precision the boundaries of this task is not easy since
it may encompass the definition of business processes for any kind of
organization.
We face today a multiplicity of models. The information engineer or
the software engineer are usually working with several different ones
at the same time, i.e. with models of different semantics. The
executable source code is no more the main and central reference. may be performed both by persons of the organization and software
Product models are arranged in complex organization networks. components. Finally a process may generate some costs depending
They are produced and used within precise methodological on applications and people. Processes may be of different types. For
frameworks sometimes themselves defined by other models (process example a bank is concerned with business processes as cash retrieval
models). One view of Computer Science is that we are now achieving or account opening. The software development team of a bank
the first historical paradigm shift, namely from procedural performs software processes and produces software components,
refinement to object composition and that we are, at the same time, which are the result products of software processes. The agents who
starting the second paradigm shift, from object composition to perform the business processes will use these software components as
model transformation. Obviously to make this last scheme workable, applications.
we need to start with some basic models, mainly the domain model, One of the first problems is to define the precise relations between
the resource model and the requirement model. Each model is itself the various kinds of elements of a produc t model with the various
structured in a number of sub-models, allowing for example to define, kinds of elements of a process model. The difficulty here is often to
within the domain model, different entities like business objects, organize the product model in separate chunks that are logically
business processes and business rules. related. For example the UML meta-model defines nine different
There are two broad families of models: product and processes. A kinds of diagrams and a given engineer, with particular skills and
product model may describe for example the software artifacts one responsibilities, may for example accept use cases on input and
may find in an object -oriented design; these artifacts may be produce class diagrams on output. Modular decomposition of product
described with one of the nine basic diagrams of the UML formalism. models is thus of paramount importance. The various modules
Another example of a product model would be the QoS attributes defined by the product meta-model may play the role of structured
associated with the functional attributes of a similar system. One type definition in a classical organization whereas the process meta-
corresponding process model could be the software process intended models provides the basis for defining the control structures.
to produce the de sign model or the QoS model. If this kind of decomposition is necessary, it is far from being
The decision not to go for a unified object -oriented software sufficient. The product model defines what is being acted upon. The
production method was initially a wise decision. This conducted to process model is supposed to state who is doing what, when, how and
giving the priority to the definition of a meta-model for software why. As a consequence the process meta-model also cannot be
artifacts, namely the UML which is basically a product meta-model. viewed as a monolithic definition. Instead it should be composed of
The missing link to put this into practice was then the definition of a interrelated chunks of information (Figure 1), related to the actors,
corresponding generic process and this is what is being achieved with the performed tasks, the scheduling of tasks, the conditions for
the Unified Process Model (UPM), considered either as a first -class executing these tasks, the cost factors, etc.
meta-model or as a profile of the UML meta-model. UPM is
supposed to provide the building blocks to define a software
Objectives
production process in various environments. At the same time it was
also recognized that UML was not sufficient to cover all software
artifacts and this is one reason why the CWM (Common Warehouse
Meta-model) was defined, opening the path for the definition of
broader process like migration processes from legacy systems to Products
advanced component based systems.
All these considerations have brought the OMG to make an Organization
important move from OMA (Object Management Architecture) to Processes
MDA (Model Driven Architecture) [2], [10]. One particularity of
this scheme is the importance given to middleware parameterized
model management in the new vision. This means that, as new
middleware platforms are emerging and co-existing (CORBA,
Java/EJB, C#/DotNet, Web/HTTP, etc.), means should be provided Software components (agents, Costs
actors, objects, legacy systems)
to generate from the abstract models themselves, executable systems
for t he various target platforms.
3. ORGANIZATION OF META-MODELS Figure 1 A lattice of product and process meta-models
A meta-model defines a language for describing a specific domain of
interest. For example UML describes the artifacts of an object - Agents may be considered (from a process point of view) either as
oriented software system. Some other meta-models address domains single products or as performers of automated tasks. As a
like process, organization, quality of service, etc. Their number may consequence it should be possible to consider them according to both
be very important as identified domains are highly specialized. dimensions. They may have to perform a task lik e a person within
Though they are first defined as separated components, it is clear the organization. As agents may also perform activities, agent and
that many relationships exist between them. We found two areas as person specialize a common generic performer.
being of urgent concern: firstly how to organize the coupling of
meta-models of products with meta-models of processes. Second how
3.2 Organizing Process Meta-models
to organize the various models of process that we have to manage. There are many separate process domains. This implies many
separate meta-models. However there exist some core similarities. A
3.1 Coupling of Processes and Products process skeleton is a set of ordered activities (or tasks), grouped in
An enterprise has some objectives, which may be achieved by order to achieve common global objectives. It may thus be
products or processes. Products are the results of processes. Processes interesting to propose a process meta-model architecture, allowing a
specific process meta-model to be defined using a more general 4. CONCLUSION
process meta-model. Expected benefits are reuse and facilities for
It comes with no surprise that the software engineering community is
process models translation from one meta-model to another. Figure
today discovering the huge potentialities and also some of the
2 proposes such architecture based on domain identification and
unsolved problems of ontology engineering. Once we have laid out
hierarchy. A generic process meta-model may introduce common
the approximation that a meta-model is similar to an ontology, an
concepts like activities, objectives, and transitions. More specific important work of confrontation remains to be done, with certainly
meta-models specialize this root meta-model (or a specific one) by
a lot of fruitful outcome. Many insights could be found for example
adding new relations and entities. Manufacturing meta-model may
in TOVE [4] or similar research projects. Within a world of
thus define mechanisms to handle resources consumption, whereas
increasing complexity due to technological and social evolution, the
software process introduces iteration.
only sensible way to keep in contro l is to deal with this complexity
at a higher level of abstraction. Many meta-models of products have
Generic
Process already been defined to help in this task (UML, CWM, end-user
domains meta-models, etc.). It appears that this is only a first step
and that the definitio n of several process meta-models represents
also an urgent task (workflow, business process, software production
Software Workflow Manufacturing Business process, software maintenance process, system migration process,
Process Process
etc.). As a consequence we should be in a position to handle, both at
the description and at the execution level, the relations between
these various process models. Also, the coupling between process
models (e.g. workflow models) and product models (e.g. EJB
Software Buiding Software Maintenance Software Migration
Process Process Process component models) should be handled in a regular way.
5. REFERENCES
Figure 2 Some meta -models for various processes [1] BPMI.org Business Process Modeling Language
Agent technology may also find its place in such an architecture. (BPML) Working draft 0.4 March 2001.
Business process definition proposals like BPML[1] (Business [2] Dsouza, D. Model-Driven Architecture and
Process Modeling Language) or ebXML[3] (electronic business XML)
define complex interactions between partners, which may
Integration: Opportunities and Challenges Version 1.1.
encapsulate transactions and activities. The OMG workflow RFP [9] www.kinetiuym.com
has the purpose to define graph of activities (which may be either [3] ebXML Business Process Project Team The ebXML
manual, automatic or which even may lead to sub-processes). All Business Process Metamodel Second Draft June 2000.
these meta-models may share a core of common concerns with
AUML [3], namely interactions, activity flow and role assignment. [4] Fox, M.S., Gruninger, M., (1997), On Ontologies and
It would thus be interesting for some common patterns, or best Enterprise Modelling , International Conference on
practices, to be reused across separate domains. In this way meta- Enterprise Integration Modelling Technology 97,
models could cover either a particular domain of interest (like agents, Springer-Verlag, 1997.
business processes or bank documents, etc) or propose standard
frameworks (like group organization, interaction between multiple [5] Lee J., Grunninger M., Jin Y., Malone T., Tate A., Yost
partners, etc.). Framework meta-models would then be reused and G. & other members of the PIF Working Group The PIF
specialized by domain meta-models. Domain met a-models would Process Interchange Format and Framework Version
have integration relations between them as they form a strongly 1.2 The Knowledge Engineering Review, Vol. 13, No. 1,
interconnected lattice. For example a business process may assign pp. 91-120, Cambridge University Press, March 1998.
some activities to software agents and others to human beings.
What we may witness today is a lot of separate efforts to define
[6] Odell, J., Van Dyke Parunak, H., Bauer,B. Extending
various variants of domain dependent processes like the UPM UML for Agents AOIS Workshop, 17th National
(Unified Process Model) for production of object -oriented software conference on AI, Austin, TX, pp. 3-17
systems, in conjunction with the UML software product model. [7] OMG Meta Object Facility (MOF) Specification. OMG
Teams working in the related areas of workflow de finition, business
Document AD/97-08-14, september 1997.
process specification, maintenance and migration frameworks and
many other areas are all encountering similar problems. It would be a [8] OMG OMG Unified Modeling Language Specification
wise initiative to put all these contributions together and to study version 1.3 OMG Document AD/99-06-08, June 1999.
what may be common and what should stay specific. Learning from
previous similar projects like PIF [3] should be very helpful in this
[9] OMG Workflow Process Definition Request for
work. We have today the possibility to perform this meta-model Proposal OMG Document BOM/99-10-03, November
organization in a more operational way, by building on well-accepted 1999.
industrial frameworks like the OMG MOF. What we need is a global [10] Soley, R. & the OMG staff. Model Driven Architecture
context/organization to host this kind of cooperative work.
OMG Document, November 2000.