4.2 MDE Techniques Used
According to the conceptual process we outlined in
the previous section, and to the MDE practices, we
need concrete techniques to support both our
conceptual process and BOSIC model.
The BOSIC metamodel as well as the EMLs used
to define learning scenarios have to be specified
using the meta-modeling technique: construction of
a collection of "concepts" (things, terms, etc.) within
a certain domain
(Wikipedia, 08). A metamodel is a
precise definition of the constructs and rules needed
for creating semantic models. We illustrate an
example of a metamodel for an EML in section 5,
whereas the BOSIC metamodel is detailed in section
4.3.
We also need a technique to add information
about the elements that designers want to tag as
'observable' to the EML metamodel . Because these
potential elements can be concepts, attributes, as
well as relations between concepts and because
every metamodel conforms to the unique meta-meta-
model MOF
(OMG, 06), we need to use a MOF
concept to be able to attach the 'observable'
information to the class, attributes, association, etc.
This meta-construction is called annotation (for the
MOF 1.4), or comment (for the MOF 2.0). Section 5
shows how we use the equivalent EAnnotation
mechanism from the Eclipse Modeling Framework
(EMF) tooling.
Another issue from our conceptual process and
model is how can the 'context' and 'observable' parts
of an 'observation needs model' can refer to elements
from a specific 'learning scenario'. Following the
fact that the specification of an EML metamodel can
use various MOF building blocks (class, attributes,
relations...), it is not possible to specify a meta-
relation in the BOSIC metamodel to 'anything-
specified' in the EML metamodel. Also, because
EMLs can differ, it is more relevant to concretely
separate them. From our MDE expertise we choose
to add in the BOSIC metamodel a specific concept
which plays the role of a 'proxy' for the learning
scenarios elements (see the next subsection).
4.3 The EMF Tooling
To concretely formalize and support the
development of our proposition and dedicated
editors, we chose to use a unified set of modeling
frameworks, tooling, and standard implementations
from the Eclipse Modeling Projects
(Eclipse EMP,
08): EMF, GMF and ATL. In this article we only
focus on the Eclipse Modeling Framework (EMF)
because it provides the very first layer of support we
need.
Indeed, the EMF is a modeling framework and
code generation facility for building tools and other
applications based on a structured metamodel
(Steinberg et al., 2008). From a metamodel
specification, EMF provides tools and runtime
support to produce a set of Java classes for the
metamodel, along with a set of adapter classes that
enable viewing and command-based editing of the
model, and a basic editor.
We illustrate the use of this very basic editor in
section 5. Also, we have planned to use the
Graphical Modeling Framework (GMF) in a second
time to add a graphical layer on top of EMF, and,
incidentally, to develop a graphical editor dedicated
to the specification of observation needs.
Finally, the ATLAS Transformation Language
(ATL) is the model-to-model transformation
framework we will use to transform observation
needs conformed to our BOSIC proposition into
other machine-readable formats for the specification
for observation needs (like the XML-based one
proposed by UTL).
4.4 The BOSIC Metamodel
This sub-section details the BOSIC metamodel we
have specified using the EMF tooling (metamodels
are called ECORE models where ECORE is the
MOF-like meta-meta-model in EMF). Figure 4
illustrates this metamodel in the class-diagram-
oriented view proposed by the Ecore graphical
internal editor of EMF.
The ObservationNeeds concept plays the role of
the root for the specification of several observation
needs in a same model, according to a same learning
scenario too. In addition, the ObservationNeed
concept is the root node for all the information in
regard to one observation need. It is composed of
several Objectives and of three other concepts
representing the three layers of an observation need:
ContextLayer, ObservablesLayer and DataLayer.
The ContextLayer concept is the node element
under which are specified the PSElements (scenario
elements). As previously explained, this EClass is a
kind of 'proxy' that refers to an element from the
learning scenario: it can be an instance of an EClass
from the EML metamodel, a property (the
EAttribute and value pair) for a specific instance of
an EClass, as well as a link (instance of a ERelation)
between two instances of EClasses. For our very
first prototype, these PSElements will have to be
specified as new inputs even if they already exist in
SPECIFICATION OF OBSERVATION NEEDS IN AN INSTRUCTIONAL DESIGN CONTEXT - A Model-Driven
Engineering Approach
115