Conference PaperPDF Available

Melanie: multi-level modeling and ontology engineering environment


Abstract and Figures

Multi-level modeling based on deep instantiation has attracted growing interest over the last few years as a better way of creating and organizing models capturing problem domains featuring more than one classification level. However, until recently the approach has lacked practical tool support. This work introduces Melanie, a new MultiLevel Modeling and Ontology Engineering Environment, that has been specifically developed to support multi-level modeling as well as other important new modeling use cases such as unified exploratory / constructive modeling, symbiotic domain-specific / general purpose languages and interactive (meta)modeling. This work briefly explains the motivations and goals behind Melanie and provides a short overview of its features and architecture.
Content may be subject to copyright.
Melanie – Multi-level Modeling and Ontology Engineering
[Extended Abstract]
Colin Atkinson
University of Mannheim
A5, 6
68131 Mannheim, Germany
Ralph Gerbig
University of Mannheim
A5, 6
68131 Mannheim, Germany
Multi-level modeling based on deep instantiation has at-
tracted growing interest over the last few years as a bet-
ter way of creating and organizing models capturing prob-
lem domains featuring more than one classification level.
However, until recently the approach has lacked practical
tool support. This work introduces Melanie, a new Multi-
Level Modeling and Ontology Engineering Environment,
that has been specifically developed to support multi-level
modeling as well as other important new modeling use cases
such as unified exploratory/constructive modeling, symbi-
otic domain-specific/general purpose languages and interac-
tive (meta)modeling. This work briefly explains the mo-
tivations and goals behind Melanie and provides a short
overview of its features and architecture.
Categories and Subject Descriptors
D2.2 [Design Tools and Techniques]: Computer-aided
software engineering (CASE)
Melanie, orthogonal classification architecture, ontological
classification, linguistic classification.
Model-driven development (MDD) has come a long way
since it became a mainstream technology around the turn
of the Millennium and is now an indispensable part of most
modern software engineering projects. However, traditional
MDD tools based on the MOF infrastructure still have sig-
nificant problems supporting even standard, mainstream mod-
eling use cases, let alone the more advanced use cases that
have emerged in recent years. The basic problem is the use
of a rigid two-level, physical tool architecture to support the
multiple, logical classification levels that frequently occur in
applications domains (so called deep characterization).
Pan-level Model
Real World
Breed Collie
ID*ID = '128'0
ID = '128'0
ID = '128'0
= 5
= 8
Figure 1: Melanie and its different components.
Melanie [6], developed by the Software Engineering group
at the University of Mannheim, is based on a fundamentally
different architecture that more closely aligns the logical ar-
chitecture of multi-level models with the physical architec-
ture of modeling tools. As shown in figure 1, the Orthogo-
nal Classification Architecture (OCA) [4] on which Melanie
is founded achieves this by recognizing two fundamentally
distinct forms of classification and organizing them in two
orthogonal dimensions — linguistic classification (horizon-
tally dashed arrows) and ontological classification (vertically
dotted arrows). This architecture not only provides inher-
ent support for deep classification by treating all ontolog-
ical classification levels uniformly, it also provides a natu-
ral infrastructure for new modeling uses cases such as sym-
biotic domain specific/general purpose languages, unified
exploratory/constructive modeling and interactive (meta)-
The Pan Level model (PLM) depicted in L0of figure 1 de-
fines the abstract syntax of Melanie’s basic modeling lan-
guages in the form of an ECORE metamodel. This sup-
ports the basic structural modeling features of EMOF, but
in a much simpler and level-agnostic way. Modelers can cre-
ate content at the L1level (i.e. as instances of the PLM)
using a graphical concrete syntax for the PLM known as the
Level-agnostic Modeling Language (LML) [5].
The logical organization of the software components mak-
ing up Melanie are illustrated in Figure 2. The core pro-
vides basic support for PLM content generation and storage
Figure 2: Melanie and its different components.
in EMF and its rendering in LML. A second layer of com-
ponents adds additional capabilities including support for
Domain-Specific Languages (DSL), reasoning, transforma-
tion and model emendation. Third party developers can
also add extra capabilities in a third layer.
Reasoning and checking services. Melanie supports both
exploratory and constructuve reasoning/checking services.
These are divided into ontology validation and ontology pop-
ulation services. The former are concerned with checking
an ontology for correctness at different levels of granularity,
such as checking whether two clabjects fulfill certain classifi-
cation criteria or whether a complete ontology is valid. The
latter include features to infer types from instances or iden-
tify inheritance relationships between model elements based
on their properties (i.e. subsumption).
Graphical Domain-Specific Languages. The graphical DSL
support allows the default graphical rendering of multi-level
models to be augmented with custom notations. New graph-
ical symbols can be defined using a tree-based model editor
based on concepts supported by common GUI programing
frameworks such as SWT or GMF. The particular symbol
used to render a model element is selected through a visu-
alization search algorithm using the inheritance and classi-
fication hierarchies. If no custom visualization information
is found the default general-purpose LML rendering is used.
By having two visualizations available at one time — DSL
and GPL — it is possible to view some parts of a model
in the DSL and others in the LML as needed. This feature
is called symbiotic language support [2] because the gen-
eral and domain-specific notations of a model reinforce each
others strengths.
Textual Domain-specific Languages. The textual DSL sup-
port allows the default textual rendering of multi-level mod-
els to be augmented with a custom notation. A rendering
search algorithm is applied in the same way as for the graph-
ical rendering to find the desired textual rendering. The
textual and graphical renderings of models are of equal im-
portance and are fully symbiotic — that is, they are fully
interchangeable and useable simultaneously.
Emendation. Interactive multi-level (meta)modeling [1] is
a two-edged sword — it allows changes at any level in an
ontology to have an immediate effect, but also allows incon-
sistencies to arise easily. Without automated emendation
support, after each change modelers would have to manually
check all model-elements for correctness and apply changes
by hand to keep all parts of an ontology consistent. This
can quickly become unmanageable even for small ontologies.
The emendation module therefore continually monitors the
ontology and as soon as a change occurs that effects more
than the currently edited model element it suggests addi-
tional changes to keep the ontology consistent.
Multi-level aware Transformation Support. Traditional two-
level modeling environments such as EMF only allow model-
ers to work with two model levels at a given time, usually the
meta-model and the meta-model instance, and only support
operations on the lower level. This makes the definition of
constraints and transformations on multi-level content much
more complex than necessary. Melanie therefore incorpo-
rates an ATL adapter [3] that supports multi-level aware
transformations. This not only significantly simplifies the
definition of multi-level to multi-level transformations but
also of transformations between two-level and multi-level
models that are important for supporting interoperability
with traditional modeling formats.
The Melanie tool described in this extended abstract is the
only OCA based modeling tool supporting the graphical
definition and manipulation of multi-level model content.
At the time of writing there are several other OCA based
tools but these only support textual visualization of multi-
level models. To our knowledge Melanie is also the only
modeling tool that currently supports integrated construc-
tive/exploratory reasoning services, symbiotic languages and
interactive (meta)modeling. Since it is built using the Eclipse
EMF framework, all the standard languages and tools avail-
able in Eclipse can be applied to Melanie models, but in a
non-level-agnostic way. We plan to continue expanding and
enhancing the range of services supported by Melanie, and to
complement the LML with a full range of multi-level aware
model manipulation languages, such as constraint, transfor-
mation and action languages.
[1] C. Atkinson, R. Gerbig, and B. Kennel. On-the-fly
emendation of multi-level models. In Modelling
Foundations and Applications. Springer Berlin /
Heidelberg, 2012.
[2] C. Atkinson, R. Gerbig, and B. Kennel. Symbiotic
general-purpose and domain-specific languages. In
Proceedings of the 2012 International Conference on
Software Engineering, 2012.
[3] C. Atkinson, R. Gerbig, and C. Tunjic. Towards
multi-level aware model transformations. In Theory and
Practice of Model Transformations. Springer Berlin /
Heidelberg, 2012.
[4] C. Atkinson, M. Gutheil, and B. Kennel. A flexible
infrastructure for multilevel language engineering.
IEEE Transactions on Software Engineering, 2009.
[5] C. Atkinson, B. Kennel, and B. Goß. The level-agnostic
modeling language. In Software Language Engineering.
Springer Berlin / Heidelberg, 2011.
[6] University of Mannheim - Software Engineering Group.
MelAniE - Multi-levEl modeLing And oNtology
engIneering Environment.
... In the last decade, the importance of phenomena involving multiple levels of classification and the limitations of the fixed two-level scheme have motivated the development of a number of modeling approaches under the banner of "Multi-Level Modeling" (e.g., [5][6][7][8]). These approaches embody conceptual notions that are key to the representation of multi-level models, such as the existence of entities that are simultaneously types and instances (classes and objects), the iterated application of instantiation across an arbitrary number of (meta)levels, the possibility of defining and assigning values to attributes at the various type levels, etc. ...
... Orderless types may have ordered types, orderless types and individuals as instances. All these MLT* rules are expressed as syntactic constraints in ML2, and follow assertions that were verified in Alloy 6 . Concerning specialization, if the supertype is an ordered type, the subtype must be an ordered type at the same order (afterall, instances of the subtype are instances of the supertype, and if the instances of the supertype are all in the same order, so are the instances of the subtype). ...
... The size of the instantiation chains may vary according to the nature of the represented phenomena and the model's purposes. Because of this, a general-purpose multi-level modeling language should allow the representation of an arbitrary number of classification levels [6,11,31] (Feature F2) (including the two-level scheme as a special case). ...
In many important subject domains, there are central real-world phenomena that span across multiple classification levels. In these subject domains, besides having the traditional type-level domain regularities (classes) that classify multiple concrete instances, we also have higher-order type-level regularities (metaclasses) that classify multiple instances that are themselves types. Multi-Level Modeling aims to address this technical challenge. Despite the advances in this area in the last decade, a number of requirements arising from representation needs in subject domains have not yet been addressed in current modeling approaches. In this paper, we address this issue by proposing an expressive multi-level conceptual modeling language (dubbed ML2). We follow a principled language engineering approach in the design of ML2, constructing its abstract syntax as to reflect a fully axiomatized theory for multi-level modeling (termed MLT*). We show that ML2 enables the expression of a number of multi-level modeling scenarios that cannot be currently expressed in the existing multi-level modeling languages. A textual syntax for ML2 is provided with an implementation in Xtext. We discuss how the formal theory influences the language in two aspects: (i) by providing rigorous justification for the language’s syntactic rules, which follow MLT* theorems and (ii) by forming the basis for model simulation and verification. We show that the language can reveal problems in multi-level taxonomic structures, using Wikidata fragments to demonstrate the language’s practical relevance.
... In MLT and in the MLTbased language ML2, this phenomenon is addressed through "regularity attributes" [6], [10]. In Melanie [2], they are supported through a combination of the notions of "potency" along with attribute "durability" and "mutability". In MetaDepth [7] they are also supported by potency and durability. ...
... Here we discuss some consequences to potency-based approaches. More specially, we select Melanie [2], [13] as a prototypical exemplar of potency-based approach given its historical role. Melanie addresses deep characterization through a combination of the notions of "clabject" and "potency" along with attribute "durability" and "mutability". ...
... For example, referring back to the Robolang example presented in Section 2.3.1, the default value of the potency of an arrow out in robot _ 1 could be changed to some other one without being affected by the potency @1-2-* of its type arrow (out in robolang). Also, this kind of potency could be used for the realisation of abstract classes by declaring values 0-0-0, similar to [4], although our approach natively supports abstract classes with non-zero potency, so that classes inheriting from them can be instantiated. This allows for a clearer definition of abstract classes, in a similar manner to other tools like MetaDepth. ...
... 4 shows in detail the model legolang _ d _ and _ t from ...
Full-text available
Modern software engineering deals with demanding problems that yield large and complex software. The area of Model-Driven Software Engineering tackles this issue by using models during the development process, but it does not address some of the communication problems among different stakeholders. Domain-Specific Modelling Languages (DSML) aim at involving domain experts with non-technical profiles in that process. DSMLs define concepts with different levels of abstraction, but traditional modelling does not allow enough flexibility to organise them adequately. Multilevel Modelling (MLM) approaches provide an unbounded number of levels of abstraction, plus other features that perfectly fit DSMLs. Their development can also benefit from Model Transformations (MT), especially when these encode the behaviour of DSMLs. MTs can be exploited by MLM, becoming a precise and reusable definition of behaviour. This thesis presents a MLM and Multilevel MT approach which tackles open issues in the field and compares it with the state of the art through literature review and experiments, providing its formalisation and its implementation in the tool MultEcore, together with case studies.
... One of the most advanced tools for multi-level modeling is Melanee [2]. Our multi-phase modeling implementation and the Derivable Element is based on the concept of a Clabject, presented in their work. ...
Full-text available
In model-based systems engineering projects, engineers from multiple domains collaborate by establishing a common system model. Multi-level modeling is a technique that can be used to model the development from abstract ideas to concrete implementations. However, current multi-level modeling approaches are not adequate for processes with multiple modeling phases that might have to be rearranged later. In this paper, we introduce multi-phase modeling that utilizes concepts of multi-level modeling by considering a description of the expected phase ordering per domain. Constraints aware of this context can express that certain elements are only valid in specific phases without having to determine a concrete phase ordering for a particular model. This enables using multi-phase modeling in flexible workflows, adapting to changing requirements and the definition of access rules in domain notation. We show feasibility of this multi-phase modeling by applying it to multiple real-life systems engineering projects of the aerospace domain.
... However, this only works if two classification concerns unfold in parallel and a linear fashion. Furthermore, for instance in the case of Melanee [5], this approach implies that elements belonging to a product concern would be distributed over a number of classification levels, i.e., they would not be members of a single "Product" set (cf. Fig. 7). In contrast, orthogonal ontological classification allows one to individually select elements for classification. ...
Full-text available
The growth of multi-level modeling has resulted in an increase of level-organization alternatives which significantly differ from each other with respect to their underlying foundations and the well-formedness rules they enforce. Alternatives substantially diverge with respect to how level boundaries should govern instance-of relationships, what modeling mechanisms they employ, and what modeling principles they establish. In this article, I analyze how a number of multi-level modeling approaches deal with certain advanced modeling scenarios. In particular, I identify linear domain metamodeling, i.e., the requirement that all domain-induced instance-of relationships align with a single global level-hierarchy, as a source of accidental complexity. I propose a novel multi-dimensional multi-level modeling approach based on the notion of orthogonal ontological classification that supports modeling of domain scenarios with minimal complexity while supporting separation of concerns and sanity-checking to avoid inconsistent modeling choices.
... 5.4): The model that represents the code can be navigated and possibly changed at run time. A further approach to enhance the attractiveness of multi-level modeling is represented by tools that allow for model analysis, retrieval and reasoning such as, e.g., by Melanee [6] or ConceptBase [62]. ...
Full-text available
This expert voice paper presents a comprehensive rationale of multi-level modeling. It aims not only at a systematic assessment of its prospects, but also at encouraging applications of multi-level modeling in business information systems and at providing a motivation for future research. The assessment is developed from a comparison of multi-level modeling with object-oriented, general-purpose modeling languages (GPMLs) and domain-specific modeling languages (DSMLs). To foster a differentiated evaluation, we propose a multi-perspective framework that accounts, among others, for essential design conflicts, different types of users, as well as economic aspects. Besides the assessment of the additional abstraction offered by multi-level modeling, the evaluation also identifies specific drawbacks and remaining challenges. Based on the results of the comparative assessment, in order to foster the adoption and further development of multi-level modeling, we discuss the prospects of supplementing multi-level modeling languages with multi-level programming languages and suggest possible dissemination strategies customized for different groups of users. The paper concludes with an outline of future research.
... Modeling and Ontology Engineering Environment) [24] -платформа для многоуровневого предметноориентированного моделирования. Среда поддерживает проверку правильности онтологии на всех уровнях проектируемого языка и исправление модели после каждого изменения на всех уровнях, что позволяет не допускать несоответствий в процессе разработки. ...
... Currently, the only approach that does this is the deep, orthographic software modeling approach [22] which integrates the deep modeling variant of multi-level modeling [7] with the orthographic software modeling (OSM) variant of SUMbased modeling [19]. The resulting hybrid approach, deep OSM (DOSM) allows views showing information at multiple classification levels, or at any arbitrary classification level, (i.e. ...
Conference Paper
Full-text available
Projective modeling environments offer a more efficient and scalable way of supporting multiple views of large software systems than traditional, synthesis-based approaches to view-based development. However , the definition of the view projection transformations needed to create views, on demand, from the single underlying model and ensure that they remain synchronized is a complex and time-consuming process. In particular, to make views editable, the projection process involves the creation of "traces" to map view model elements to their sources in the single underlying model. While this is unavoidable for most view types, for a commonly occurring special case this level of complexity is not required. In this paper we therefore present a simpler approach, based on the OCL language, which simplifies the projection definitions for this kind of view. The approach is defined in the context of a deep, view-based modeling environment which combines support for views with multi-level modeling in order to seamlessly cover all phases of a system's life cycle.
... While some deep modeling languages such as MULT-ECORE [2] specifically embrace this principle, others such as METADEPTH [3] and the Level-agnostic Modeling Language (LML) supported by Melanee [4] at present do not. Achieving deep substitutability in the latter is more challenging because it uses impotence (i.e. ...
Conference Paper
Full-text available
As a continuation of our earlier work, in this paper we focus on the suitability of multi-level modeling for the creation and use of reference models. Specifically, we first discuss known challenges of reference modeling. Then, using the UML (for conventional meta modeling) and the FMMLx (for multi-level modeling) as language architectures of choice, we show how conventional meta modeling contributes to challenges of reference modeling, and how the added flexibility and expressiveness of multi-level modeling can address these. We use an excerpt of NISTIR 7628, a well-established reference model for smart grid cyber security, as an illustrative scenario.
Conference Paper
As practical tools for disciplined multi-level modeling have begun to emerge, the problem of supporting simple and efficient transformations to-and-from multi-level model content has started to assume growing importance. The problem is not only to support efficient transformations between multi-level models, but also between multi-level and traditional two-level model content represented in traditional modeling infrastructures such as the UML and programming languages. This is not only important to facilitate interoperability between multi-level modeling tools and traditional tools, but also to extend the benefits of multi-level modeling to transformations. Multi-level model content can already be accessed by traditional transformation languages such as ATL and QVT, but in a way that is blind to the ontological classification information they contain. In this paper we present an approach for making rule-based transformation languages "multi-level aware" so that the semantics of ontological instantiation can be exploited when writing transformations.
Conference Paper
One of the main advantages of multi-level modeling environments over traditional modeling environments is that all ontological classification levels are treated in a uniform way and are all equally available for immediate, on-the-fly modification. However, such flexibility is a two-edged sword, since a minor change in a (meta-) ontological level can have a dramatic impact on other parts of the ontology (i.e. collection of ontological levels) - requiring a large number of "knock-on" changes to keep the overall ontology correct. To effectively exploit the modeling flexibility offered by multi-level modeling environments therefore, modelers need semi-automated support for emending ontologies to keep them consistent in the face of changes. In this paper we describe a model emendation architecture and illustrate how it can help modelers maintain the correctness of an ontology.
Domain-Specific Modeling Languages (DSMLs) have received great attention in recent years and are expected to play a big role in the future of software engineering as processes become more view-centric. However, they are a “two-edged sword”. While they provide strong support for communication within communities, allowing experts to express themselves using concepts tailored to their exact needs, they are a poor vehicle for communication across communities because of their lack of common, transcending concepts. In contrast, General-Purpose Modeling Languages (GPMLs) have the opposite problem — they are poor at the former but good at the latter. The value of models in software engineering would therefore be significantly boosted if the advantages of DSMLs and GPMLs could be combined and models could be viewed in a domain-specific or general-purpose way depending on the needs of the user. In this paper we present an approach for achieving such a synergy based on the orthogonal classification architecture. In this architecture model elements have two classifiers: a linguistic one representing their “general-purpose” and an ontological one representing their “domain-specific” type. By associating visualization symbols with both classifiers it is possible to support two concrete syntaxes at the same time and allow the domain-specific and general-purpose notation to support each other — that is, to form a symbiotic relationship.
Conference Paper
As an alternative modeling infrastructure and paradigm, multi-level modeling addresses many of the conceptual weaknesses found in the four level modeling infrastructure that underpins traditional modeling approaches like UML and EMF. It does this by explicitly distinguishing between linguistic and ontological forms of classification and by allowing the influence of classifiers to extend over more than one level of instantiation. Multi-level modeling is consequently starting to receive attention from a growing number of research groups. However, there has never been a concrete definition of a language designed from the ground-up for the specific purpose of representing multi-level models. Some authors have informally defined the "look and feel" of such a language, but to date there has been no systematic or fully elaborated definition of its concrete syntax. In this paper we address this problem by introducing the key elements of a language, known as the Level-Agnostic Modeling Language (LML) designed to support multi-level modeling.
Although domain-specific modeling tools have come a long way since the modern era of model-driven development started in the early 1990s and now offer an impressive range of features, there is still significant room for enhancing the flexibility they offer to end users and for combining the advantages of domain-specific and general-purpose languages. To do this, however, it is necessary to enhance the way in which the current generation of tools view metamodeling and support the representation of the multiple, ?ontological? classification levels that often exist in subject domains. State-of-the-art tools essentially allow users to describe the abstract and concrete syntaxes of a language in the form of metamodels and to make statements in that language in the form of models. These statements typically convey information in terms of types and instances in the domain (e.g., the classes and objects of UML), but not in terms of types of types (i.e., domain metaclasses), and types of types of types, and so on, across multiple classification levels. In essence, therefore, while they provide rich support for ?linguistic? metamodeling, the current generation of tools provides little if any built-in support for modeling ?ontological? classification across more than one type/instance level in the subject domain. In this paper, we describe a prototype implementation of a new kind of modeling infrastructure that, by providing built-in support for multiple ontological as well as linguistic classification levels, offers various advantages over existing language engineering approaches and tools. These include the ability to view a single model from the perspective of both a general-purpose and a domain-specific modeling language, the ability to define constraints across multiple ontological classification levels, and the ability to tie the rendering of model elements to ontological as well as linguistic types over multiple classification levels. After first outlining the key conce- - ptual ingredients of this new infrastructure and presenting the main elements of our current realization, we show these benefits through two small examples.
Towards multi-level aware model transformations
  • C Atkinson
  • R Gerbig
  • C Tunjic
C. Atkinson, R. Gerbig, and C. Tunjic. Towards multi-level aware model transformations. In Theory and Practice of Model Transformations. Springer Berlin / Heidelberg, 2012.
Symbiotic general-purpose and domain-specific languages
  • C Atkinson
  • R Gerbig
  • B Kennel
C. Atkinson, R. Gerbig, and B. Kennel. Symbiotic general-purpose and domain-specific languages. In Proceedings of the 2012 International Conference on Software Engineering, 2012.