¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
Modélisation déclarative, ontologies, génération de code,
modèles indépendants des plates-formes
Declarative
modelling, ontologies, code generation, platform independent models
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
Introduction ( Ù )
Ce dossier traite de modélisation déclarative, des ontologies qui permettent de considérer les modèles indépendamment des environnements et plates-formes informatiques sur lesquels ils « tournent » (sont simulés, exécutés).
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
Source ( Ù )
Ce dossier repose sur un article qui est paru lors de la conférence de l’iEMSs 2006 (International Environmental Modelling and Software Society) :
« Declarative modelling for architecture independence
and data/model integration : a case study » Ferdinando Villa, University of Vermont, USA, Marcello Donatelli, ISCI, Bologna, Italy, Andrea Rizzoli, IDSIA, Lugano, Switzerland, Peter Krause & Sven Kralisch, University of Jena, Jena, Germany, Frits K. van Evert, PRI, Wageningen, The Netherlands http://www.iemss.org/iemss2006 Chemin d’accès complet -
URL
http://www.iemss.org/iemss2006 , -
sous
la rubrique « Sessions »
, -
puis « S5. Integrated software solutions for environmental
problems - architecture, frameworks and data structures (ISESS) (Dave Swayne
and Rob Argent) » , -
puis « Theme 4: Knowledge Engineered Modelling ». |
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾
Relevé de quelques éléments ( Ù )
Il est repris ici – sans aucune complétude - quelques éléments de cet article, dont il est fait des citations (texte entre guillemets).
Some vocabulary ( Ù )
Du vocabulaire
Conceptualization : « A conceptualization is the
objects, concepts, and other entities that are presumed to exist in some area
of interest and the relationships that hold them. »
Modelling paradigm : « The set of abstractions that allows
conceptualizing and expressing [the] cause-effect relationships [of the model]
and their results is the adopted modelling paradigm. »
Declarative modelling : « The wording declarative
modelling […] has been used to identify a specification of models that is based
on the semantics of the natural systems being modelled rather than the
algorithms that calculate their changing states. »
Knowledge database : « A database that contains
both the ontology and the instances that populate it is usually called a
knowledge database. »
« The need for integrating dynamic models
with independently developed datasets and other models » ( Ù )
Le besoin d’intégrer des modèles dynamiques avec des données et autres
modèles développés indépendamment par ailleurs
The declarative modelling « decouple[s]
the representation of a model from its executable implementation ».
« Declaratively expressed models are independent on architectural and
software details, and need to be implemented into working algorithms before
they can be simulated ». So the declarative modelling can lead to
« the creation of repositories of models where the models’ lifetime is not
tied to that of specific modelling paradigms, execution architectures, or
storage technology ».
« Declarative models only depend on the
conceptualization (paradigm), and are thus easier to be exchanged and
communicated as long as the basic conceptualization is agreed upon ».
Declarative specifications « provide portability and facilitate integration
between independent, uncoordinated data and models ».
Declarative
modelisation content : ontologies and instances (
Ù
)
Contenu de la modélisation déclarative : ontologies et instances
Ontologies : « Declarative modelling can be
supported by ontologies ». « In recent years, the use of ontologies has
become commonplace to express formal conceptualizations in mutually
understandable ways. Ontologies are expressed using common representational
languages such as XML and they are optimized for web-based access and
sharing. »
Instances : « Given an ontology describing
model concepts, instances are defined to declaratively express specific models
by referring to concepts laid out in the ontologies. »
Domain concepts and
model concepts :
The ontology « specifies the domain concepts and the model concepts. The
domain concepts represent the entities (the variables and parameters), which
are used by the model concepts (the causal relationship, expressed as
equations) to describe the model itself ».
Illustration : « Temperature is a concept, airTemperature
and greenHouseTemperature are
instance of such concept which are also described via specific attributes,
and greenHouseTemperature
= airTemperature * k is a model concept ».
Reliability and
consistency :
Ontologies and instances declaration contains the information that « enable[s]
a software execution environment to simulate the behaviour of the model over a
temporal and spatial extent. Moreover, […] the rich meaning made possible by
current ontology frameworks » allows to « properly connect models and
data », « without risking the error resulting from matching inputs
and outputs that specify different natural-world entities ».
Causal relationships and declarative
approach / non declarative (“conventional”) approach ( Ù )
Relations causales et approche déclarative / approche non déclarative
(« conventionnelle »)
« A conceptualization capable of
describing scientific models requires, at minimum, to express the notion of
linkage between scientific observations and their change in time and space by
causal relationships. »
« Causality in conventional models is
usually expressed through equations, defined to calculate the value of
variables. Equations, by naming the values of other variables, implicitly
define causal relationships that are viewed as dependencies from a processing
point of view. An ontology-based framework can make these dependency
relationships explicit, and add meaning to them by means of specializing the
kind of relation. »
Automation ( Ù )
Automatisation
« The implementation of a declarative
model is […] delegated to an algorithm, rather than a human programmer. »
Consequently, « the modeller can focus on the modelling details rather
than the implementation ones : the modeller is forced into adopting tight,
well-reasoned, and usually better description paradigms ».
The knowledge
database ( Ù )
La base de données des connaissances
The knowledge database is « a database
that contains both the ontology and the instances that populate it ». « The
knowledge base can contain information on data, models, scientific workflows
and, in general, on all the concepts that are relevant to our modelling domain.
»
« Storing a model in a knowledge base
involves :
-
expressing
its logical structure by subdividing the model into components and
-
mapping
each component to a concept defined in the same storage. »
From the knowledge
database to code ; from the declarative specification to a targeting modelling
framework ( Ù )
De la base de données des connaissances au code ; de la
spécification déclarative à une plate-forme de modélisation cible
Les paragraphes « 2.3. From knowledge base
to code » et « 3. CASE STUDY » de l’article
présentent comment, à partir de la forme déclarative du modèle, il peut être
généré automatiquement la forme logicielle dédiée à une plate-forme
particulière de modélisation/simulation (c'est-à-dire qui permet de
« faire tourner », d’exécuter le modèle dans l’environnement cible
considéré). Le processus est ici illustré notamment avec les plates-formes JAMS et ModCom. Une telle conversion est
effectuée au moyen d’outils/composants génériques dédiés au processus de
génération, qui sont spécifiques de chaque plate-forme/environnement de
simulation.
« The declarative structure » can be « defined
by means of a formally specified XML schema ». Indeed « an XML schema
can be seen as a relatively informal ontology, where the meaning is suggested,
if not formally identified, by the names of the node identifiers, and basic
relationships are captured by the structure of containment of nodes within
other nodes ».
A model can be « declaratively represented
and translated to […] different target architectures » : « [The Domain
Concepts and the Model Concepts] can be expressed using the XML Schema
Definition Language (XSD), and the instances of the concepts are XML files
which can be processed and translated into software components targeting
various modelling framework platforms. »
« The conversion of a model from its
declarative format into a procedural form, ready to be compiled and executed,
can be automated, following a principled approach » : « The conversion
algorithm, implemented in the tools » will « parse all the model concepts,
retrieving the data type information from the domain concepts in order to
create the interface of the model component class in the target language or
modelling framework. The model classes are implemented as components, exposing
an interface for their use in various contexts and environments. The interface
varies according to the target framework, but in general it will include
accessor methods, to set input values and get outputs, execution methods, to
fire the model equations, and test methods, including pre and post-conditions.
The code of the body of the methods is then generated according to the content
of the state transition and output transformation equations. »
« In order to perform a translation from a
declarative specification to a working software component, the software
infrastructure must share and understand the conceptualization. The most
sophisticated systems can read explicit ontologies and infer the simulation
algorithms by reasoning on the contents of the ontologies. Other, simpler
systems can be envisioned that are tied to one or a few specific ontologies […]
and produce algorithms that calculate them in a high- or low-level programming
language, refusing to handle any knowledge that can’t be interpreted in those
terms. »
JAMS (
« The Jena Advanced Modelling System (JAMS)
provides a framework for the development, composition and application of
distributed and process oriented environmental models » …
ModCom ( Ù )
« ModCom is a modelling framework that was
first described by Hillyer et al. (2003). Recent developments, including a C#
implementation, are available online (Anonymous, 2006) » …
La page au format pdf (27/09/06)
-
mise en ligne
le 27/09/06 –
Plate-forme
INRA-ACTA-ICTA, Modelia http://www.modelia.org
¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾