If you want to read the PDF, try requesting it from the authors.

Abstract

If the UML is to continue to meet the expectations of its ever-growing user community it is essential that it offer a simple and coherent mechanism for users to tailor the language to their specific needs. However, current UML extension approaches are not only unnecessarily limited in the capabilities that they provide, but also break some of the fundamental tenets of meta-modeling in a multi-level framework. In particular, they are all based on the assumption that instantiation, in one form or another, is the only mechanism by which end users can apply predefined model elements in their own applications. In this paper we identify the problems associated with this limitation and explain why inheritance is also important for allowing users to apply predefined model elements. We point out the fundamental differences and relationships between instantiation and inheritance for defining UML profiles and provide guidelines as to which mechanism should be used under which circumstances. We conclude by describing why both mechanisms should be utilized in the definition of UML profiles in the context of strict, linear metamodeling frameworks.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... The figure shows how the symbols of L2 can be interpreted relatively. From the point of view of model m, these symbols represent the different concepts in the model, whereas from the point of view of L1, a symbol of L2 is seen as one of its entities 6 6 We found a similar, although less aggressive, use of the triangle in . [87]. ...
... This ensures that the stereotype mechanism does not break the strict modeling hierarchy and that stereotyped models remain compatible with their originals for Class the concept Class can be restrained to only one generalization. [6]. ...
... Atkinson and Kühne [6] [10] report that MOF specifies that the modeling architecture is linear and strictly layered, meaning that it only permits instantiation between two subsequent layers. The original purpose of MOF, however, was a data repository: it provides structure for all models. ...
Article
MDE (Model Driven Engineering) promotes the use of models in software development process. Models are abstractions of reality made for communication, documentation and analysis. Models are expressed in a modeling language. Every language can be represented by a model and thus can be expressed in a meta-language. The model of the meta-language is often described in the meta-language itself. This stack of models (model, modeling language and meta-language) is called the modeling architecture and is commonly found in MDE technologies. Recent research shows anomalities in traditional modeling architectures which limit the application of MDE. They observe that several common concepts we find in the modeling languages lack explicit representation. We present a meta-language which does represent these concepts as first class entities: Ontology Grounded Meta-Language (OGML). We regard language design as making ontological commitments, OGML makes these commitments explicit when expressing the traditional modeling languages in it. Currently the emphasis of OGML is on making explicit the instantiation mechanism of modeling languages. The result is a better understanding of the traditional languages and their properties, better computability of operations on models (transformations) and better interoperability in tool support. To show the benefits of OGML we conducted a case study expressing several languages in OGML. This demonstrates the relevance of the language and the degree to which our goals have been achieved.
... The UML specification states that UML Profiles are defined at the metamodel layer (M2), and thus they are meta-concepts. Here we use a definition of UML Profiles in a strict metamodeling framework [9] where UML Profiles are placed at both the metamodel layer (M2) and the model layer (M1). ...
... In the MDA technological space we defined ODM and OUP. It is important to note that ODM is defined at the M2 layer, while OUP resides at both M1 and M2 layers according to [9]. Concrete real world models are at the M1 layer and they consist of classes and their instances. ...
... For the sake of symmetry we placed the OUP metamodel only at the M2 layer inFigure 7. As a matter of fact, this can be true if we would use a standard UML Profile for ontology development without user's extensions (see [9] for details). Note that this transformation can also be implemented through the XML technological space in terms of XML schemas and XML documents. ...
Article
Full-text available
Web Ontology Language (OWL) and Model-Driven Architectures (MDA) are two technologies being developed in parallel, but by different communities. They have common points and issues and can be brought closer together. Many authors have so far stressed this problem and have proposed several solutions. The result of these efforts is the recent OMG's initiative for defining an ontology development platform. However, the problem of transformation between an ontology and MDA-based languages has been solved using rather partial and ad hoc solutions, most often by XSLT. In this paper we analyze OWL and MDA-compliant languages as separate technological spaces. In order to achieve a synergy between these technological spaces we define ontology languages in terms of MDA standards, recognize relations between OWL and MDA-based ontology languages, and propose mapping techniques. In order to illustrate the approach, we use an MDA-defined ontology architecture that includes ontology metamodel and ontology UML Profile. Based on this approach, we have implemented a transformation of the ontology UML Profile into OWL representation.
... These DSMLs have a common super type and metamodel inheritance that can be used as a clean way to implement semantic variation points. 1 "When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck" (James Whitcomb Riley) ...
... Other authors define the conformance relation through the instantiation relation which stands between an object and the class from which it is built: "every element of an Mm-level model must be an instance-of exactly one element of an Mm+1-level model" [1]; "metamodels and models are connected by the instanceOf relation" [16]; "every object in the model has a corresponding nonabstract class in the metamodel" [10]. ...
... The significance of the sem relationship is as follows. All entities of model X find their definition in meta-model Y." Atkinson et Kühne [1] "In an n-level modeling architecture, M0, M1...Mn-1, every element of an Mm-level model must be an instance-of exactly one element of an Mm+1-level model, for all m < n -1, and any relationship other than the instance-of relationship between two elements X and Y implies that level(X)=level(Y)." Favre [13] Favre does not give a definition for conformance relation, but presents it as a shortcut for the sequence of two other relations: "elementOf" (which stands between a model of a language and this language) and "representationOf" (which stands between a metamodel and modeling language). ...
Article
Full-text available
While Domain-Specific Modeling Languages (DSMLs) are increasingly used in industry, both their definition and tooling (e.g., checkers, document or code generators, model transformations) still require significant development efforts that must be balanced with their limited number of users (by definition). Unfortunately, the current Model-Driven Engineering (MDE) technologies strongly rely on the conformance relation that bind a model to the unique DSML used to create it. Consequently, while most of the tools would be reusable for a family of close DSMLs, in practice it is not possible. In this paper, we propose to abstract the overly restrictive conformance relation with a typing relation allowing to manipulate a model through different DSMLs and uncover the need for model-oriented type systems. We introduce K3SLE a new modeling framework built on top of the Eclipse Modeling Framework (EMF) that leverages family polymorphism to support the typing relation. Based on the typing relation, it natively provides model polymorphism, language inheritance and DSML evolution and interoperability. We demonstrate its use on representative use cases.
... While no standard definition of the conformance relation exists, a recurring definition has emerged from the literature: a model conforms to a metamodel if every element of the model is an instance of one of the elements of the metamodel. Different names have been given to this relation in the literature: " sem " (e.g., Bézivin and Gerbé [4]), " instantiation " (e.g., Atkinson and Kühne [1]) or " conformance " (e.g., Bézivin et al. [5]). All these relations are directly based on the abstract syntax of DSLs, expressed in the form of a metamodel. ...
... a DSL. Other authors define the conformance relation through the instantiation relation that stands between an object and the class from which it is built: "every element of an Mm-level model must be an instance-of exactly one element of an Mm+1-level model " [1]; "metamodels and models are connected by the instanceOf relation" [29] ; "every object in the model has a corresponding nonabstract class in the metamodel " [22]. Bézivin et al. do not directly refer to classes, but prefer the terms "definition" [4] or "meta-element" [5] (i.e., element of a metamodel). ...
... The significance of the sem relationship is as follows. All entities of model X find their definition in meta-model Y." Atkinson and Kühne [1] "In an n-level modeling architecture, M0, M1. . . Mn-1, every element of an Mm-level model must be an instanceof exactly one element of an Mm+1-level model, for all m < n -1, and any relationship other than the instance-of relationship between two elements X and Y implies that level(X)=level(Y)." ...
Article
Domain-Specific Languages (DSLs) are increasingly used by domain experts to handle various concerns in systems and software development. To support this trend, the Model-Driven Engineering (MDE) community has developed advanced techniques for designing new DSLs. However, the widespread use of independently developed, and constantly evolving DSLs is hampered by the rigidity imposed to the language users by the DSLs and their tooling, e.g., for manipulating a model through various similar DSLs or successive versions of a given DSL. In this paper, we propose a disciplined approach that leverages type groups' polymorphism to provide an advanced type system for manipulating models, in a polymorphic way, through different DSL interfaces. A DSL interface, a.k.a. . model type, specifies a set of features, or services, available on the model it types, and subtyping relations among these model types define the safe substitutions. This type system complements the Melange language workbench and is seamlessly integrated into the Eclipse Modeling Framework (EMF), hence providing structural interoperability and compatibility of models between EMF-based tools. We illustrate the validity and practicability of our approach by bridging safe interoperability between different semantic and syntactic variation points of a finite-state machine (FSM) language, as well as between successive versions of the Unified Modeling Language (UML).
... The metamodelling languages developed in this dissertation synthesise modelling constructs found in previous conceptual modelling languages, such as UML (Unified Modeling Language) [119, 121], ER (entity-relationship) modelling [33] and Telos [87]. In addition, the metamodelling languages incorporate a number of recent ideas, most importantly, strict metamodelling [6], distinction between ontological and linguistic instantiation [9,69], unified modelling elements [7] and deep instantiation [4,11] and the role data model [14] dating back to 1977. ...
... These concepts are generalised to enable modelling on any number of levels in a uniform manner. In addition, Nivel incorporates a number of recent ideas including strict metamodelling [6], distinction between ontological and linguistic instantiation [9], unified modelling elements [7] and deep instantiation [4,11]. A formal semantics enabling automated and other forms of reasoning is given for Nivel by translation to WCRL. ...
... The strict metamodelling rule has been formulated as follows [6]: ...
... The flexibility, however, of modeling with DI is restricted by the tenets of strict metamodeling: DI only allows relationships between objects at the same level [3,4,5,9]. A common problem with strict metamodeling is illustrated by the following situation which cannot be represented. ...
... Deep instantiation was complemented by a Java implementation [16]. The discussion of deep instantiation of connectors, (relationships) [3,9] focuses on their graphical rendering and is limited to strict metamodeling [5]. The modeling language Nivel [2] provides a formal semantics for deep instantiation. ...
Conference Paper
Full-text available
Application integration requires the consideration of instance data and schema data. Instance data in one application may be schema data for another application, which gives rise to multiple instantiation levels. Using deep instantiation, an object may be deeply characterized by representing schema data about objects several instantiation levels below. Deep instantiation still demands a clear separation of instantiation levels: the source and target objects of a relationship must be at the same instantiation level. This separation is inadequate in the context of application integration. Dual deep instantiation (DDI), on the other hand, allows for relationships that connect objects at different instantiation levels. The depth of the characterization may be specified separately for each end of the relationship. In this paper, we present and implement set-theoretic predicates and axioms for the representation of conceptual models with DDI.
... Related to the above discussion regarding intended target audiences, there appear to be diverging views on what the intended target audience is. Some work appears to take a liberal approach, allowing concise and powerful solutions but also giving users rope to hang themselves [12], while other work attempts to enforce a discipline that is aimed at helping the user avoid inconsistent models [3]. ...
... We claim that is not ideal to point out perceived problems of disciplined approaches while not acknowledging the dangers that are implied by looser approaches. Strict metamodelling [3], for instance, has been criticised as being too restrictive and causing problems [10,12]. ...
Conference Paper
As the range of modelling approaches that claim to be "multi-level" diversifies, there is growing debate in the literature about what multi-level modelling actually is and what form supporting languages and infrastructures should take. However, there is no consensus yet on how this debate should be framed and what objective criteria should be used to evaluate different approaches. It is clear from the literature that proponents of different approaches base their arguments on fundamentally different assumptions about what multi-level modelling is and what benefits it should aim to provide. In this position paper we identify some of the core issues that currently hinder progress towards the required consensus and identify some of the terminological differences that have amplified confusion. Referencing various work that represents diverging viewpoints, our goal is to initiate a meta-discussion on what the open questions in multi-level modelling are, how respective proposals to answer them could be evaluated, and which kinds of discussions are expedient in this context.
... The significance of the sem relationship is as follows. All entities of model X find their definition in meta-model Y." Atkinson et Kühne [AK02] "In an n-level modeling architecture, M0, M1...Mn-1, every element of an Mm-level model must be an instance-of exactly one element of an Mm+1-level model, for all m < n -1, and any relationship other than the instance-of relationship between two elements X and Y implies that level(X)=level(Y)." Favre [Fav04a] Favre ne donne pas une définition de la relation de conformité, mais la présente comme un raccourci de la succession de deux autres relations : "elementOf" (qui lie un élément d'un langage à ce langage) et "represen-tationOf" (qui lie un métamodèle à un langage de modélisation). ...
... La relation de conformité est liée à la relation d'instanciation. En effet de nombreux auteurs définissent la relation de conformité en s'appuyant sur la relation d'instanciation qui lie un objet et sa classe : "every element of an Mm-level model must be an instance-of exactly one element of an Mm+1-level model" [AK02], "metamodels and models are connected by the instanceOf relation" [GKH07], "every object in the model has a corresponding non-abstract class in the metamodel" [ER10], "Un modèle est dit conforme à un métamodèle si chacun de ses éléments (objets et relations) est instance d'un élément du métamodèle" [JCV12]. Bézivin et al. ne font pas directement référence à la notion de classe mais de "définition" [BG01] ou de "méta-élement" [BJT05] (i.e., élément de métamodèle), autorisant la définition de la syntaxe abstraite d'un langage autrement que sous forme d'un graphe de classes. ...
Article
The ever growing number and complexity of concerns in software intensive systems (e.g., safety, HMI, scalability, business domain concerns, etc.) leads designers of such systems to separate these concerns to deal with them independently. Model-Driven Engineering (MDE) advocates the separation of concerns in Domain-Specific Modeling Languages (DSMLs). DSMLs are used to capitalize the knowledge and know-how associated with a concern through the language constructs and its associated tools. However, both definition and tooling of a DSML require a significant development effort for a limited audience. In this thesis, we propose a relationship between models and model interfaces in order to ease the design of typing facilities for the definition and tooling of a DSML. This interface exposes the model elements and model transformations associated with a DSML. We represent such an interface by a model type supporting subtyping and inheritance relationships. For this purpose we define : a typing relationship between models and DSMLs allowing to consider models as first-class entities; subtyping relationships between DSMLs enabling the reuse of abstract syntax and model transformations.
... In contrast to strict metamodeling [7], DDM allows to specify different clabject hierarchies with a different number of instantiation levels. For example, Product is specified with three instantiation levels, namely product categories, e.g., Car, which are instantiated by product models, e.g., Porsche911, which are in turn instantiated by product individuals, e.g., MarysCar. ...
... In a strict metamodeling framework, instantiation is the only relationship to crosslevel boundaries. Any other relationship occurs between objects at the same metalevel [7]. Following a data modeling agenda, the DDM approach relaxes the strictness condition by distinguishing between source and target potencies. ...
Article
Full-text available
An enterprise database contains a global, integrated, and consistent representation of a company’s data. Multi-level modeling facilitates the definition and maintenance of such an integrated conceptual data model in a dynamic environment of changing data requirements of diverse applications. Multi-level models transcend the traditional separation of class and object with clabjects as the central modeling primitive, which allows for a more flexible and natural representation of many real-world use cases. In deep instantiation, the number of instantiation levels of a clabject or property is indicated by a single potency. Dual deep modeling (DDM) differentiates between source potency and target potency of a property or association and supports the flexible instantiation and refinement of the property by statements connecting clabjects at different modeling levels. DDM comes with multiple generalization of clabjects, subsetting/specialization of properties, and multi-level cardinality constraints. Examples are presented using a UML-style notation for DDM together with UML class and object diagrams for the representation of two-level user views derived from the multi-level model. Syntax and semantics of DDM are formalized and implemented in F-Logic, supporting the modeler with integrity checks and rich query facilities.
... Related to the above discussion regarding intended target audiences, there appear to be diverging views on what the intended target audience is. Some work appears to take a liberal approach, allowing concise and powerful solutions but also giving users rope to hang themselves [12], while other work attempts to enforce a discipline that is aimed at helping the user avoid inconsistent models [3]. ...
... We claim that is not ideal to point out perceived problems of disciplined approaches while not acknowledging the dangers that are implied by looser approaches. Strict metamodelling [3], for instance, has been criticised as being too restrictive and causing problems [10,12]. ...
Conference Paper
Full-text available
As the range of modelling approaches that claim to be "multi-level" diversifies, there is growing debate in the literature about what multi-level modelling actually is and what form supporting languages and infrastructures should take. However, there is no consensus yet on how this debate should be framed and what objective criteria should be used to evaluate different approaches. It is clear from the literature that proponents of different approaches base their arguments on fundamentally different assumptions about what multi-level modelling is and what benefits it should aim to provide. In this position paper we identify some of the core issues that currently hinder progress towards the required consensus and identify some of the terminological differences that have amplified confusion. Referencing various work that represents diverging viewpoints, our goal is to initiate a meta-discussion on what the open questions in multi-level modelling are, how respective proposals to answer them could be evaluated, and which kinds of discussions are expedient in this context.
... In the MOF modeling space, we have defined the ODM and the OUP. It is important to note that the ODM is defined in the M2 layer, while the OUP resides in both the M1 and M2 layers according to [Atkinson & Kühne, 2002]. In Fig. 10-1, we show them both in the M2 layer for the sake of clarity. ...
... Although the OUP metamodel can reside in both the M1 and M2 layer, we have placed it in the M2 layer (see Fig. 10-3) in order to avoid problems that can arise when transforming between different metamodeling layers. As a matter of fact, this can happen if we use a standard UML profile for ontology development without the user's extensions (see [Atkinson & Kühne, 2002] for details). Note that this transformation can also be implemented through the EBNF modeling space in terms of XML schemas and XML documents. ...
Book
Full-text available
Defining a formal domain ontology is generally considered a useful, not to say necessary step in almost every software project. This is because software deals with ideas rather than with self-evident physical artefacts. However, this development step is hardly ever done, as ontologies rely on well-defined and semantically powerful AI concepts such as description logics or rule-based systems, and most software engineers are largely unfamiliar with these. Gaevic and his co-authors try to fill this gap by covering the subject of MDA application for ontology development on the Semantic Web. Part I of their book describes existing technologies, tools, and standards like XML, RDF, OWL, MDA, and UML. Part II presents the first detailed description of OMGa's new ODM (Ontology Definition Metamodel) initiative, a specification which is expected to be in the form of an OMG language like UML. Finally, Part III is dedicated to applications and practical aspects of developing ontologies using MDA-based languages. The book is supported by a website showing many ontologies, UML and other MDA-based models, and the transformations between them. "The book is equally suited to those who merely want to be informed of the relevant technological landscape, to practitioners dealing with concrete problems, and to researchers seeking pointers to potentially fruitful areas of research. The writing is technical yet clear and accessible, illustrated throughout with useful and easily digestible examples." from the Foreword by Bran Selic, IBM Rational Software, Canada. "I do not know another book that offers such a high quality insight into UML and ontologies." Steffen Staab, U Koblenz, Germany. © Springer-Verlag Berlin Heidelberg 2006. All rights are reserved.
... . FORM -the basic representation The metaphor above used the term physical which in this context can be seen as the same as concrete, one can choose to see the computer objects as existing physical objects [10]. " Abstract information " must be coded in concrete representation; the coded information is forming a pattern (structure) that might be interpreted by humans or machines . ...
... In addition, it offers tools for test configuration management and extends original definitions of UML 2.0's data and time concepts [11]. These concepts define a language for visualizing, specifying, analyzing, constructing and documenting the artifacts of a test system [10], and will be described in detail in the following. ...
... Fig. 4, and (2) a multi-level variant of OCL. Entities and Connections are clabjects, 8 and have a potency value, which dictates over how many levels they can be instantiated. In turn, generalization represents inheritance and uses the unfilled-triangle notion [39]. ...
... For example, as shown in Fig. 4 belongs_to needs to be instantiated latest four levels below. However, this does not allow to state that the link should be created specifically between an instance of Orga- 8 A clabject is a construct which has both a class facet and an object facet, cf. [7]. ...
Article
Full-text available
Conceptual modeling promises to support various analysis questions on organizational structures, such as allocation of tasks, responsibilities, and authority in an organization. In this paper, we first synthesize requirements on an organizational structure analysis from the business scholar literature and assess to what extent and how current modeling languages fulfill these. In particular, we find limitations in the covered scope as well as the information processing capabilities of the reviewed approaches. Second, as a response to identified gaps, we propose multi-level modeling and integrated modeling and programming as a way to support design and analysis of organizational structure. We use the structure of universities as a case scenario. This paper is an extension of our earlier work. Firstly, we add an explicit set of requirements derived from business scholar literature. Secondly, we draw a comparison to the abstraction mechanisms used in conventional meta-modeling, as prominently exemplified by UML class diagrams, and we critically discuss multi-level modeling. Finally, we discuss a prototypical implementation of our multi-level model in the XModeler software tool.
... given V B , V H and C B,B+1 . . . C H−1,H , construct the common of commons C B,H ; 5 else 6 the common specification C B,H is given; 7 given V B , V H and C B,H , construct the difference specification D ; 8 given V B , UD and D construct the merge of the differences MD ; 9 given MD 10 construct MD ′ by normalising MD ; 11 construct MD ′′ by conflict detection on MD ′ ; 12 construct MD ′′′ by conflict resolution on MD ′′ ; 13 if (<conflict>, γ), (<conflict>, η; δ) A MD ′′′ 14 given MD ′′′ construct the synchronised local copy U H and the synchronised local common specification UC H ; 15 else 16 display MD ′′′ ; 17 ask for manual conflict resolution ; 18 else 19 the local copy is already synchronised; ...
... In a traditional metamodelling stack (or hierarchy), models at each metalevel Traditional metamodelling stack conform to the corresponding metamodel of the modelling language at the adjacent metalevel above (see Figure 4.1). This pattern is often referred to as linear metamodelling in the literature [8]. Moreover, in strict metamodelling, a model element at each metalevel has exactly one type at the adjacent metalevel above. ...
Thesis
Full-text available
Model-driven engineering (MDE) is a branch of software engineering which aims at improving the productivity, quality and cost-effectiveness of software by shifting the paradigm from code-centric to model-centric. MDE promotes models and modelling languages as the main artefacts of the development process and model transformation as the primary technique to generate (parts of) software systems out of models. Models enable developers to reason at a higher level of abstraction, while model transformation restrains developers from repetitive and error-prone tasks such as coding. Although techniques and tools for MDE have advanced considerably during the last decade, several concepts and standards in MDE are still defined semi-formally, which may not guarantee the degree of precision required by MDE. This thesis provides a formalisation of concepts in MDE based on the Diagram Predicate Framework (DPF), which was already under development before this work was initiated. DPF is a formal diagrammatic specification framework founded on category theory and graph transformation. In particular, the main contribution of this thesis is the consolidation of DPF and the formalisation of two novel techniques in MDE, namely model versioning and deep metamodelling. The content of this thesis is based on a sequence of publications resulting from the joint work with researchers from the University of Bergen, the Bergen University College and the Autonomous University of Madrid. The work presented in this thesis is neither purely theoretical nor purely practical; it rather seeks to bridge the gap between these worlds. It provides a formal approach to model versioning and deep metamodelling motivated and illustrated by practical examples, while it introduces only the theoretical constructions which are necessary to investigate, formalise and solve these practical challenges.
... Stereotypes have been analyzed in different contexts in a theoretical way by Atkinson et al. [1][2][3][4], where the authors discuss and analyze various scenarios of using stereotypes in UML designs. The experiment design presented in this paper builds on the analyses in order to use appropriate stereotypes in an appropriate context for empirical evaluation. ...
Article
Stereotypes were introduced into the Unified Modeling Language to provide means of customizing this general purpose modeling language for its usage in specific application domains. The primary role of stereotypes is to brand an existing model element with specific semantics, but stereotypes can also be used to provide means of a secondary classification of modeling elements. This paper elaborates on the influence of stereotypes on the comprehension of models. The paper describes a set of controlled experiments performed in academia and industry which were aimed at evaluating the role of stereotypes in improving comprehension of UML models. The results of the experiments show that stereotypes play a significant role in the comprehension of models and the improvement achieved both by students and industry professionals.
... The above constraints guarantee a (meta-) level-constructing relationship, however, relationships might be "loose" in the sense that they may cross more than one level boundary. If this is undesired, as it is for strict metamodeling [16], a further property is required: level respecting ∀ n, m : (∃ e 1 , e 2 : e 1 R n e 2 ∧ e 1 R m e 2 ) → n = m ...
Article
Full-text available
With the recent trend to model driven engineering a common understanding of basic notions such as “model” and “metamodel” becomes a pivotal issue. Even though these notions have been in widespread use for quite a while, there is still little consensus about when exactly it is appropriate to use them. The aim of this article is to start establishing a consensus about generally acceptable terminology. Its main contributions are the distinction between two fundamentally different kinds of model roles, i.e. “token model” versus “type model” (The terms “type” and “token” have been introduced by C.S. Peirce, 1839–1914.), a formal notion of “metaness”, and the consideration of “generalization” as yet another basic relationship between models. In particular, the recognition of the fundamental difference between the above mentioned two kinds of model roles is crucial in order to enable communication among the model driven engineering community that is free of both unnoticed misunderstandings and unnecessary disagreement.
... That is, by using the class facet it is possible to extend the concept up to the project layer. More details about compliance with strict metamodeling in [3], [19]. ...
Conference Paper
Full-text available
One widely accepted approach to implement traceabilitypractices is the use of methodologies. But the information relatedto organization, stakeholders, product size, and qualityrequirements may change from one project to another. As aconsequence, traceability information differs as well, whicharises specific traceability requirements to each project.One common way to cope with this fact is the use ofmetamodels to underpin methodologies. However most ofthe traceability metamodeling approaches simply provide apredefined set of concepts, with no extension mechanism.Therefore, customizing a methodology for a specific projectis often unsatisfactory. This paper justifies that this problemcan be approached if traceability metamodels includea basic set of items, including concepts and traceabilitystructures, designed to be extended according to projectfeatures. For this, the right modeling tools are required:that is, some metamodeling principles that support typingand extensibility, together with a general and extensibledescription of the software process. This second issue isobtained from ISO/IEC 24744 with some additional inputs.This paper explains how to use these tools in practice todefine the so called TmM metamodel. Within this paper TmMis applied to a case study in which non-conventional workproducts have to be considered as part of the traceabilityinformation.
... In the first case, 8 is an instance of the class Integer, whereas an instance of Cat is also an instance of Animal (thanks to the transitivity, it is an instance of Animal because it is an instance of Cat). Papers such as [65,66] analyze the consequences derived from the use of the inheritance or the instantiation across levels in modeling (metamodeling). [4] studies the use of the inheritance and the instantiation relationships in OO, comparing them to the conforms-to and represented-by relationships in the modeling theory. ...
Conference Paper
Full-text available
While developing an integral security model to be used in a Service Oriented Architecture (SOA) context, we find a lot of ambiguities and inaccuracies when authors speak of models, metamodels, profiles and so on. This led us to study a great number of references in a search for precise definitions to help us to address our research. Our study and discussions were so extensive that we are convinced they will be a valuable contribution to the community. In particular, in this paper we present several Reference Concept Maps that depict graphically a large number of definitions with their associated bibliographical references. Nevertheless, we truly believe that there are still a lot of concepts to be clarified and that this clarification is essential so that basic modeling concepts can be best used by non-expert modelers.
... Academia has already provided a number of solutions to this need [5,6,44]. However, academic solutions that attempt to view the system holistically often lack formal semantics, without which the solution cannot provide the necessary consistency between model views. ...
Article
Full-text available
Cyber-physical systems are complex systems that require the integration of diverse software, firmware, and hardware to be practical and useful. This increased complexity is impacting the management of models necessary for designing cyber-physical systems that are able to take into account a number of “-ilities”, such that they are safe and secure and ultimately resilient to disruption of service. We propose an ontological metamodel for system design that augments an already existing industry metamodel to capture the relationships between various model elements (requirements, interfaces, physical, and functional) and safety, security, and resilient considerations. Employing this metamodel leads to more cohesive and structured modeling efforts with an overall increase in scalability, usability, and unification of already existing models. In turn, this leads to a mission-oriented perspective in designing security defenses and resilience mechanisms to combat undesirable behaviors. We illustrate this metamodel in an open-source GraphQL implementation, which can interface with a number of modeling languages. We support our proposed metamodel with a detailed demonstration using an oil and gas pipeline model.
... However, there is no discussion of how this ability to define "meta" or "higherorder" classes should be used, and none of the problematic issues associated with multiple meta levels in MDA have been addressed. This includes the issue of how to simultaneously represent both the type and instance fact of higher order elements [Atkinson and Kühne 2002], and how to manage the different dimensions of metaness -the one dealing with "form" or linguistic classification and the other dealing with "content" or domain classification [Atkinson and Kühne 2003]. ...
Article
Full-text available
As model-driven approaches to software engineering and ontology-based approaches to knowledge representation have continued to expand their influence and importance in recent years they have inevitably started to encroach on each others' territories. There is therefore growing interest in understanding how precisely the two technologies relate to one another and how they can best be used together. Several papers have been published describing strategies for interchanging model and ontology information, and dedicated workshops on this topic have started to appear. This short position paper discusses the issues involved in integrating MDA and ontology representation languages and then argues the case for a core-level unification of the two technologies. INTRODUCTION Model Driven Development as embodied by the MDA, and ontology-based knowledge representation as embodied by the semantic web, are the IT industry's primary visions for the future of software engineering and the World Wide Web respectively. However, as software applications become increasingly web-based, and web applications require increasing "intelligence", it is clear that these technologies will need to work more and more closely together in the future. There is consequently a growing interest in finding practical ways of using them effectively together. Over the last couple of years researchers have put forward a number of different proposals for integrating Ontology Representation Languages (RDLs), exemplified by languages such as OWL [Bechhofer et. al. 2004] and DAML-OIL [McGuinness et. al. 2002], and MDA [Cranefield 2001, Baclawski et. al. 2002, Djuric et. al. 2003, Falkovych et. al. 2003]. Last year (2003) the OMG also issued an official RFP for an "Ontology Definition Metamodel" to define an ontology definition language within the framework of the MDA [OMG 2003]. The drive to integrate the two technologies is definitely picking up momentum therefore. However, all the existing initiatives to date share two fundamental premises:– Premise 1. MDA and ontology description technol-ogies are inherently distinct technology spaces with at least some fundamentally distinct concepts and mechanisms.
... We use a UML profile (Atkinson and Kühne, 2002;Gasevic et al., 2006) to model various WSMO constructs in conjunction with the UML static structure diagram. In terms of MDA, the stereotypes, tagged values and data types serve to mark up the PIM in order to facilitate transformation into WSMO specification. ...
Article
Full-text available
A semantic web service extends the capabilities of a web service by associating a semantic description of the web service in order to enable better search, discovery, selection, composition and integration. Semantically rich language such as Web Service Modeling Ontology WSMO has been created in order to provide a mechanism for describing the semantics of semantic web services. Unfortunately, for the common developer the learning curve for such languages can be steep, providing a barrier for adoption and widespread use. In this paper, we present a Model-Driven Architecture MDA approach for facilitating the specification of WSMO ontology through the use of meta-model and UML profile for modelling semantic web services; we concentrate our efforts to develop a transformation approach based on MDA to automate the generation of code by translating XMI specifications e.g. XML encodings of UML into equivalent WSMO specifications using Atlas Transformation Language ATL transformations.
... The most specific profiles, the so called " strict profiles " [13], are used in extending the language capabilities. Less specific profiles are often used as model libraries, which contain reusable modeling elements, and not elements dedicated for instantiation in user models (c.f. ...
Article
The Unified Modeling Language (UML) becoming the lingua franca in software development. One of the reasons of its popularity is the possibility to enrich the set of modeling elements of the language via the language's extension mechanisms. Such a customization of the language leads to a growing complexity of language's constructs. To improve understanding of such extensions, a set of measurements for them is required. This paper proposes three sets of metrics useful in measuring the size of the extensions and measuring the size of designs with stereotypes. The metrics are used in our research in order to compare various extensions with respect to their size and complexity and in order to provide a means for comparing quality of extensions. .
... Even though stereotypes are not designed for doing this, they are nevertheless often (mis-)used for exactly this purpose. A shorthand notation for specifying supertypes [3], e.g., " priced Animal" would probably reduce the amount of improper stereotype uses of this form. ...
Article
Although the UML is often perceived as a universal modeling language it was not designed to fulfill this goal. Rather, the primary goal of the designers was to provide a unified modeling language. Because the applicability of the core language is limited, the UML has always offered mechanisms to enable it to be adapted to the needs of different users and applications. Over the years, a wide variety of different language customization mechanisms have been proposed, ranging from stereotypes, profiles, and metamodeling to domain-specific languages. However, the relationships between these different approaches and the different capabilities and options that they provide to users have never been clearly elaborated. In this chapter we provide a tour of the most important language customization mechanisms and by means of a unified case study we compare and contrast their pros and cons. We also review the current “state of the art” and present our view of how the “domain-customized language” approach to software engineering can best be supported in the future.
... In a traditional metamodelling stack (or hierarchy), models at each metalevel conform to the corresponding metamodel of the modelling language at the adjacent metalevel above (see Figure 1(a)). This pattern is often referred to as linear metamodelling in the literature [AK02a]. Moreover, in strict metamodelling, a model element at each metalevel has exactly one type at the adjacent metalevel above. ...
Article
Full-text available
Metamodelling is one of the pillars of model-driven engineering, used for language engineering and domain modelling. Even though metamodelling is traditionally based on a two-metalevel approach, several researchers have pointed out limitations of this solution and proposed an alternative deep (also called multi-level) approach to obtain simpler system specifications. However, this approach currently lacks a formalisation that can be used to explain fundamental concepts such as deep characterisation, double linguistic/ontological typing and linguistic extension. This paper provides such a formalisation based on the Diagram Predicate Framework, and discusses its practical realisation in the metaDepth tool.
... they arise from theoretical analysis). The differences are applicable to the issue of language customization and as such are evaluated in this study. [10]), which is quite the opposite to UML modeling tools. Defining profiles is specified in the UML specification and thus is supported in the growing number of UML tools, not requiring special tools. [13] each element in the model can be an instance of only one element in the language definition. While this limits the integration possibilities of metamodels, it does not affect profiles since several stereotypes can be applied to the same element in the model. Evaluation of whether these differences are used in the choice between the two ...
Conference Paper
Effective usage of a general purpose modeling language in software engineering poses a need for languagecustomization – adaptation of the language for a specific purpose. In the context of the Unified Modeling Language (UML) the customization could be done using two mechanisms: developing profiles and extending the metamodel of UML. This paper presents an industrial case study on the choice between metamodel extensions and profiles as well as the influence of the choice on the quality of products based on the extensions. The results consist of a set of nine prioritized industrial criteria which complement six theoretical criteria previously identified in the literature. The theoretical criteria are focused on the differences between the extension mechanisms of UML while the industrial criteria are focused on development of products based on these extensions. The case study reveals that there are considerable differences in effort required to develop comparable products using each mechanism and that the quality (measured as correctness of a product) is different for these comparable products by an order of magnitude.
... The source metamodel A UML profile [18] is a collection of stereotypes, tagged values and custom data types used to extend the capabilities of the UML modeling language. We use a UML profile to model various WSMO constructs in conjunction with the UML static structure diagram. ...
Article
Full-text available
The semantic web promises to bring automation to the areas of web service discovery, composition and invocation. In order to realize these benefits, rich semantic descriptions of web services must be created by the software developer. A steep learning curve and lack of tool support for developing such descriptions thus far have created significant adoption barriers for semantic web service technologies. In this paper, we present a model-driven architecture approach for specifying semantic web service through the use of a UML profile that extends class diagrams. In this paper we describe our efforts to develop a transformation approach based MDA to translate XMI specifications (e.g., XML encodings of UML) into equivalent WSMO specifications via the use of ATL transformations.
... Kuhne and C. Atkinson [27,28] and B. Henderson-Sellers [29], MOF instantiation approach is not very precise from the formal semantics point of view. Various improvements such as strict versus loose metamodeling [30,31] and a Metamodeling Kernel [32] have been proposed. All this could mean that the metamodel specialization paradigm is also more precise formally than the traditional instantiation. ...
Conference Paper
Most of current modeling languages are based on graphical diagrams. The concrete graphical syntax of these languages typically is defined informally -- by text and diagram examples. Only recently, starting from UML 2.5, a formalism is offered for defining the graphical syntax of UML. This formalism is based on Diagram Definition standard by OMG, where the main emphasis is on enabling diagram interchange between different tools implementing the given language. While this is crucial for standardized languages such as UML, this aspect is not so important for domain specific languages. In this paper an approach is offered for simple direct definition of concrete graphical syntax by means of metamodels. Metamodels are typically used for language definition, but mainly the MOF-inspired approach via metametamodel instantiation is used. We offer an alternative approach based on core metamodel specialization, which leads to a more direct and understandable definition, staying at the same meta-layer. In addition, our approach permits a natural extension -- a facility for graphical editor definition for the given language, which is vital in the world of DSLs. In contrast to most DSL development platforms which are based on abstract syntax metamodel of the language and a mapping to graphics our facility is based directly on the graphical syntax.
... Kuhne and C. Atkinson [57,58] and B. Henderson-Sellers [59], MOF instantiation approach is not very precise from the formal semantics point of view. Various improvements such as strict versus loose metamodeling [60,61] and a Metamodeling Kernel [62] have been proposed. All this could mean that the metamodel specialization paradigm is also more precise formally than the traditional instantiation. ...
Article
Full-text available
Most of current modeling languages are based on graphical diagrams. The concrete graphical syntax of these languages typically is defined informally—by text and diagram examples. Only recently, starting from UML 2.5, a formalism is offered for defining the graphical syntax of UML. This formalism is based on Diagram Definition standard by OMG, where the main emphasis is on enabling diagram interchange between different tools implementing the given language. While this is crucial for standardized languages such as UML, this aspect is not so important for domain-specific languages. In this paper, an approach is offered for a simple direct definition of concrete graphical syntax by means of metamodels. Metamodels are typically used for a language definition, but mainly the MOF-inspired approach via meta-metamodel instantiation is used. We offer an alternative approach based on core metamodel specialization which leads to a more direct and understandable definition staying at the same meta-layer. In addition, our approach permits a natural extension—facility for a graphical editor definition for the given language, which is vital in the world of DSLs. In contrast to most DSL development platforms, which are based on the abstract syntax metamodel of the language and a mapping to graphics, our facility is based directly on the graphical syntax. But we show that in those cases where the relation to the DSL abstract syntax is really required, a mapping from the graphical syntax to abstract syntax can be relatively easily defined by the specialization approach.
... meaning that each element of a certain level is typed exactly by one entity at 937 the level above [53]. This precludes optional typing, multiple typings and typing 938 relations within the same level [54]. ...
Article
Full-text available
Model-Driven Engineering (MDE) uses models as its main assets in the software development process. The structure of a model is described through a meta-model. Even though modelling and meta-modelling are recurrent activities in MDE and a vast amount of MDE tools exist nowadays, they are tasks typically performed in an unassisted way. Usually, these tools cannot extract useful knowledge available in heterogeneous information sources like XML, RDF, CSV or other models and meta-models. We propose an approach to provide modelling and meta-modelling assistance. The approach gathers heterogeneous information sources in various technological spaces, and represents them uniformly in a common data model. This enables their uniform querying, by means of an extensible mechanism, which can make use of services, e.g., for synonym search and word sense analysis. The query results can then be easily incorporated into the (meta-)model being built. The approach has been realized in the Extremo tool, developed as an Eclipse plugin. Extremo has been validated in the context of two domains -- production systems and process modelling -- taking into account a large and complex industrial standard for classification and product description. Further validation results indicate that the integration of Extremo in various modelling environments can be achieved with low effort, and that the tool is able to handle information from most existing technological spaces.
... A metamodel helps define a modeling language or UML profile, and the concepts and relationships between the structures within it [21,341]. Their importance lies in their ability to help designers understand the language and detect inconsistencies within a language [231]. ...
Thesis
The presence of communicating embedded systems/IoTs in our daily lives have brought a myriad of benefits, from adding conveniences and entertainment, to improving the safety of our commutes and health care. However, the flaws and vulnerabilities in these devices expose their users to risks of property damage, monetary losses, and personal injury. For example, consumer vehicles, both connected and conventional, have succumbed to a variety of design flaws resulting in injuries and death. At the same time, as vehicles are increasingly connected (and in the near future, autonomous), researchers have demonstrated possible hacks on their sensors or internal control systems, including direct injection of messages on the CAN bus.Ensuring the safety of users or bystanders involves considering multiple factors. Conventional safety suggests that a system should not contain software and hardware flaws which can prevent it from correct function. `Safety of the Intended Function' involves avoiding the situations which the system or its components cannot handle, such as adverse extreme environmental conditions. Timing can be critical for certain real-time systems, as the system will need to respond to certain events, such as obstacle avoidance, within a set period to avoid dangerous situations. Finally, the safety of a system depends on its security. An attacker who can send custom commands or modify the software of the system may change its behavior and send it into various unsafe situations. Various safety and security countermeasures for embedded systems, especially connected vehicles, have been proposed. To place these countermeasures correctly requires methods of analyzing and verifying that the system meets all safety, security, and performance requirements, preferably at the early design phases to minimize costly re-work after production. This thesis discusses the safety and security considerations for embedded systems, in the context of Institut Vedecom's autonomous vehicle. Among the proposed approaches to ensure safety and security in embedded systems, Model-Driven Engineering is one such approach that covers the full design process, from elicitation of requirements, design of hardware and software, simulation/formal verification, and final code generation. This thesis proposes a modeling-based methodology for safe and secure design, based on the SysML-Sec Methodology, which involve new modeling and verification methods. Security modeling is generally performed in the last phases of design. However, security impacts the early architecture/mapping and HW/SW partitioning decisions should be made based on the ability of the architecture to satisfy security requirements. This thesis proposes how to model the security mechanisms and the impact of an attacker as relevant to the HW/SW Partitioning phase. As security protocols negatively impact performance, it becomes important to measure both the usage of hardware components and response times of the system. Overcharged components can result in unpredictable performance and undesired delays. This thesis also discusses latency measurements of safety-critical events, focusing on one critical to autonomous vehicles: braking as after obstacle detection. Together, these additions support the safe and secure design of embedded systems.
... M0 layer was included in the modeling space, which led to a lot of confusion [140]. MOF is a strict modeling paradigm [141], in which a model element on one layer must have a correspondence to a model element on the layer above. An alternative approach is the ISO/IEC 24744 specification that allows relations across multiple levels and different types of relations between layers. ...
Thesis
Full-text available
Domain modeling is an important model-driven engineering activity, which is typically used in the early stages of software projects. Domain models capture concepts and relationships of respective application fields using a modeling language and domain-specific terms. They are a key factor in achieving shared understanding of the problem area among stakeholders, improving communication in software development, and generating code and software. Domain models are a prerequisite for domain-specific language development and are often implemented in software and data integration and software modernization projects, which constitute the larger part of industrial IT investment. Several studies from recent years have shown that model-driven methods are much more widespread in the industry than previously thought, yet their application is challenging. Creating domain models requires that software engineers have both experience in model-driven engineering and detailed domain knowledge. While the former is one of the general modeling skills, the required domain knowledge varies from project to project. Domain knowledge acquisition is a time-consuming manual process because it requires multidisciplinary collaboration and gathering of information from different groups of people, documents, and other sources of knowledge, and is rarely supported in current modeling environments. Consistent access to large amounts of structured domain knowledge is not possible due to the heterogeneity of formats, access methods, schemas, and semantic representations. Besides, existing suitable knowledge bases were mostly manually created and are therefore not extensive enough. The automated construction of knowledge resources utilizes mainly information extraction approaches that focus on factual knowledge at the instance level and therefore cannot be used for conceptual-level domain modeling. This thesis develops novel methods and tools that provide domain information directly during modeling to reduce the initial effort of using domain modeling and to help software developers create domain models. It works on the connection of the areas of software modeling, knowledge bases, information extraction and recommender systems to automatically acquire conceptual knowledge from structured knowledge sources and unstructured natural language datasets, to transform the aggregated knowledge into appropriate recommendations, and to develop suitable assistance services for modeling environments. With this thesis, the paradigm of Semantic Modeling Support is proposed, the methodological foundation for providing automated modeling assistance. It includes an iterative procedure of model refinement, knowledge acquisition, and element recommendation that allows to query and provide the necessary domain knowledge for a range of support scenarios at each stage of domain model development, keeping the human in the loop. To address the lack of conceptual knowledge resources, new methods are developed to extract conceptual terms and relationships directly from large N-gram text data using syntactic patterns, co-occurrences, and statistical features of text corpora. A large Semantic Network of Related Terms is automatically constructed with nearly 6 million unique one-word terms and multi-word expressions connected with over 355 million weighted binary and ternary relationships. It allows to directly answer top-N queries. This thesis introduces an extensible query component with a set of fully connected knowledge bases to uniformly access structured knowledge with well-defined relationships. The developed Mediator-Based Querying Architecture with Generic Templates is responsible for retrieving lexical information from heterogeneous knowledge bases and mapping to modeling language-specific concepts. Furthermore, it is demonstrated how to implement the semantic modeling support strategies by extending the widely used Eclipse Modeling Project. The Domain Modeling Recommender System generates context-sensitive modeling suggestions based on the connected knowledge bases, the semantic network of terms, and an integrated ranking strategy. Finally, this thesis reports on practical experience with the application of the developed methods and tools in three research projects.
... Academia has already provided a number of solutions to this need [3,4,34]. However, academic solutions that attempt to view the system holistically often lack formal semantics, without which the solution cannot provide the necessary consistency between model views. ...
Preprint
Full-text available
System complexity has become ubiquitous in the design, assessment, and implementation of practical and useful cyber-physical systems. This increased complexity is impacting the management of models necessary for designing cyber-physical systems that are able to take into account a number of ``-ilities'', such that they are safe and secure and ultimately resilient to disruption of service. We propose an ontological metamodel for system design that augments an already existing industry metamodel to capture the relationships between various model elements and safety, security, and resilient considerations. Employing this metamodel leads to more cohesive and structured modeling efforts with an overall increase in scalability, usability, and unification of already existing models. In turn, this leads to a mission-oriented perspective in designing security defenses and resilience mechanisms to combat undesirable behaviors. We illustrate this metamodel in an open-source GraphQL implementation, which can interface with a number of modeling languages. We support our proposed metamodel with a detailed demonstration using an oil and gas pipeline model.
... For example, the Method Content Use stereotype is omitted , thus the Task Use stereotype is generalized from the Breakdown stereotype directly. The reason is because the SPEM UML Profile does not need the full taxonomy, because in general, the purpose of a UML profile is to provide concrete language elements to create a model rather than represent semantics [3]. However, it was finally certain, that the full automatic approach of the SPEM ontology was not possible. ...
Article
SPEM is MDA's standard used to define software and sys-tems development processes and their components. Un-fortunately, its specification is semiformal, thus it is not possible to make and to verify created language state-ments with formal techniques such as the consistency or satisfiability verification. In order to solve this insuffi-ciency, we propose an approach to SPEM transformation to the Semantic Web technical space that results into the SPEM ontology creation. Additionally, we present three approach's utilizations that are: a SPEM model valida-tion with ontology, an ontology based approach to project planning and an approach to software project enactment with a supplier.
Chapter
Full-text available
In this paper we report on some research activities in the ATLAS team in Nantes and the GOOD OLD AI research group in Belgrade in the domain of model-based engineering. We start from the idea that a convenient organization of various technical spaces in three “metamodeling” layers offers a convenient working environment. The main message of this paper is that it is possible to consider software engineering and ontology engineering as two similarly organized areas, based on different metametamodels (M3-level). Consequently, building bridges between these spaces at the M3-level seems to offer some significant advantages that will be discussed in the paper.
Conference Paper
The initial vision associated with multimedia is to achieve user interfaces (UI) which are highly interactive, intelligent, usable, and entertaining. Although early multimedia applications did not always fulfill these expectations, today's applications come much closer towards this vision. Examples are Rich Internet Applications like Google Maps, Edutainment Systems, or new UIs in the context of Ubiquitous Computing. The key difference is the increased dynamics of the UI (media objects are created/modified depending to the current context) and the tighter integration of UI elements with the application logic. Although this dynamism allows new forms of applications, it is problematic when engineering such applications: Existing multimedia modeling approaches focus mainly on the spatio-temporal integration of media objects. However, they hardly allow modeling the integration with the application logic or generic media objects. Hence, many of these concepts cannot be handled. To address these challenges, this paper first illustrates the problem with examples from common applications. Subsequently, we propose a solution how to integrate these concepts into a consistent modeling language. The discussed issues can be generalized from the presented language and integrated into other approaches, e.g., modeling languages for Rich Internet Applications.
Conference Paper
Full-text available
Book
Defining a formal domain ontology is generally considered a useful, not to say necessary step in almost every software project. This is because software deals with ideas rather than with self-evident physical artefacts. However, this development step is hardly ever done, as ontologies rely on well-defined and semantically powerful AI concepts such as description logics or rule-based systems, and most software engineers are largely unfamiliar with these. Gaševic and his co-authors try to fill this gap by detailing how to use model-driven engineering for ontology development on the Semantic Web. Part I of their book describes existing technologies, tools, and standards like XML, RDF, OWL, MDA, and UML. Part II presents the first detailed description of OMG's new ODM (Ontology Definition Metamodel) initiative, a specification which is expected to be in the form of an OMG language like UML. Finally, Part III is dedicated to applications and practical aspects of developing ontologies using MDA-based languages. For this second edition, the descriptions of the related standards (like MOF, ODM, OCL, and OWL) have been revised and updated; new chapters introducing the basic principles of model-driven engineering, recent research results on metamodeling Semantic Web rule languages, an introduction to the Atlas Transformation Language (ATL) and its tool support, and, last but not least, many new examples have been added. © Springer-Verlag Berlin Heidelberg 2006, 2009. All rights are reserved.
Article
The Model Driven Architecture (MDA) initiative gains a considerable and growing amount of interest in both academia and industry with the Unified Modeling Language (UML) placed in the center of MDA. A successful MDA realization in industry is determined by certain factors. In this paper, we identify key factors for the efficient accomplishment of the MDA by means of an industrial case study. The case study is performed in a context of a large IT company with distributed development units developing complex systems. The factors identified are grouped into two categories - associated with usage and development of an MDA-based framework. The factors stem from different activities performed during the process of MDA realization. We studied the process of MDA realization at the company and we discuss the factors in the context of the process. In addition to the identified process and factors, there was a need to investigate the importance of different elements in the process and assess their perception in the team. The results of a prioritization experiment performed in the course of the study show that language customization plays a central role in MDA even though the customization was initially perceived as a background activity by framework constructors.
Article
The following describes a certain subset of my research in-terests only. I have left out anything that has not immediate connection to the central CAMPaM themes. I general, I'm interested in looking at the fundamentals of approaches that have a practical application. For instance, I do think the main thrust of the model-driven development idea is heading in the right direction, but here and there a few basics should be sorted out before the whole thing may fly. Here are the areas related to CAMPaM themes in which I have been making contributions. 1.1 Metamodeling Fundamentals Together with Colin Atkinson I have tried to clarify when and when not to use metamodeling [8], figured out how parallel descriptions hierarchies may be aligned [2], and distinguis-hed two important dimensions of metamodeling (linguistic vs ontological) [6,5]. In work yet to be published I have distinguished between two kinds of model roles (token vs type models) and forma-lized what "metamodeling" could mean, including a clarifi-cation whether or not it is reasonable to refer to abstract syn-tax definitions (such as the UML superstructure) as metamo-dels [10].
Article
Full-text available
Model-driven software development (MDSD) aims to support the development and evolution of software intensive systems using the basic concepts of model, metamodel, and model transformation. In parallel with the ongoing academic research, MDSD is more and more applied in industrial practices. After being accepted both by a broad community of researchers and the industry, it is now being introduced in university courses. This article describes the experiences of three years of teaching of the graduate course Model-Driven Software Development at Bilkent University in Turkey. The lessons learned can be useful for peer educators who teach or aim to teach a similar course.
Thesis
Full-text available
(Dissertation available at http://www.scribd.com/doc/104766306/ ) The emerging Model-Driven Engineering (MDE) paradigm advocates the usage of models as the most important artifacts in the software development process, while artifacts such as documentation and source code can quickly be produced from those models by using automated transformations. On the other hand, we are witnessing the rising popularity of a particular kind of web application, Content Management Systems (CMS), whose importance for organizational websites and intranets is already acknowledged. Although CMS systems are typically unable to address all the business requirements of an organization by themselves, they can however be used as platforms for more complex web applications that can address those requirements. In fact, some CMS systems are evolving to become the next generation of web application platforms. This dissertation proposes the creation of an MDE approach for the development of web applications based on CMS systems. This approach is based on the creation of two CMS-oriented languages (which are located at different levels of abstraction, and are used to both quickly model a web application and provide a common ground for the creation of additional CMS-oriented languages), and a mechanism for the processing of models specified using those languages.
Article
Full-text available
Software process modeling has been recognized as an important topic since the early days of software engineering. Process modeling language plays a crucial role when it is used to define and analyze the processes. Complex processes have many elements and there are many potential ways to improve them. Without a quantitative understanding of the process steps, it is difficult to tell which ones are effective. Processes can be measured for size, effort, schedule and cost under successful performance. A process should be defined based on organization’s intents or business goals. Although current studies on software process improvement have aroused interest of many researchers in this field, software development strategies do not provide a clear indication for constituents of software processes. Under this circumstance, an approach based on Unified Modeling Language (UML) was proposed in the present study to define a software process as an effective way for identifying and defining the essential process elements of good evaluating practice. The study aimed to embed quantitative evaluation faculty into project’s process definition stage and satisfy the goal of organization process improvement. The proposed approach focused on the study of UML static models as class diagrams complemented with a set of Object Constraint Language (OCL) constraints.
Chapter
Businesses all over the world are faced with the challenge of having to flexibly react to change and to dynamically work with varying business partners. For establishing electronic business, the underlying processes and subsequent IT-support need to be described clearly. For doing so, conceptual modeling has become an indispensable means. Models describe interrelated business objects and activities, expressed in a certain modeling language with elements labeled in natural language. If the decision for the labels is not dominated by rules, models are semantically heterogeneous, not only concerning their modeling language, but more importantly, concerning their domain language, making their comparison or integration a non-trivial task. For its alleviation Semantic-Web technologies are applied. Transforming legacy models of different types into ontologies allows for reusing and connecting the domain facts modeled. Here, the novel method of semantic model referencing developed for this task is used, and this chapter will show how it can provide the basis for semantic integration.
Article
When developing domain-specific modeling languages (DSMLs), software engineers have to make a number of important design decisions on the DSML itself, or on the software-development process that is applied to develop the DSML. Thus, making well-informed design decisions is a critical factor in developing DSMLs. To support this decision-making process, the model-driven development community has started to collect established design practices in terms of patterns, guidelines, story-telling, and procedural models. However, most of these documentation practices do not capture the details necessary to reuse the rationale behind these decisions in other DSML projects. In this paper, we report on a three-year research effort to compile and to empirically validate a catalog of structured decision descriptions (decision records) for UML-based DSMLs. This catalog is based on design decisions extracted from 90 DSML projects. These projects were identified—among others—via an extensive systematic literature review (SLR) for the years 2005–2012. Based on more than 8,000 candidate publications, we finally selected 84 publications for extracting design-decision data. The extracted data were evaluated quantitatively using a frequent-item-set analysis to obtain characteristic combinations of design decisions and qualitatively to document recurring documentation issues for UML-based DSMLs. We revised the collected decision records based on this evidence and made the decision-record catalog for developing UML-based DSMLs publicly available. Furthermore, our study offers insights into UML usage (e.g. diagram types) and into the adoption of UML extension techniques (e.g. metamodel extensions, profiles).
Article
Context: In recent years, UML-based domain-specific model languages (DSMLs) have become a popular option in model-driven development projects. However, making informed design decisions for such DSMLs involves a large number of non-trivial and inter-related options. These options concern the language-model specification, UML extension techniques, concrete-syntax language design, and modeling-tool support. Objective: In order to make the corresponding knowledge on design decisions reusable, proven design rationale from existing DSML projects must be collected, systematized, and documented using an agreed upon documentation format. Method: We applied a sequential multi-method approach to identify and to document reusable design decisions for UML-based DSMLs. The approach included a Web-based survey with 80 participants. Moreover, 80 DSML projects¹, which have been identified through a prior systematic literature review, were analyzed in detail in order to identify reusable design decisions for such DSMLs. Results: We present insights on the current state of practice in documenting UML-based DSMLs (e.g., perceived barriers, documentation techniques, reuse potential) and a publicly available collection of reusable design decisions, including 35 decision options on different DSML development concerns (especially concerning the language model, concrete-syntax language design, and modeling tools). The reusable design decisions are documented using a structured documentation format (decision record). Conclusion: Our results are both, scientifically relevant (e.g. for design-space analyses or for creating classification schemas for further research on UML-based DSML development) and important for actual software engineering projects (e.g. by providing best-practice guidelines and pointers to common pitfalls).
Research
Full-text available
We propose an approach to provide modelling and meta-modelling assistance. The approach gathers heterogeneous information sources in various technological spaces, and represents them uniformly in a common data model. This enables their uniform querying, by means of an extensible mechanism, which can make use of services, e.g., for synonym search and word sense analysis. The query results can then be easily incorporated into the (meta-)model being built. The approach has been realized in the Extremo tool, developed as an Eclipse plugin.
Article
With the growing digitalization of manufacturing and the associated reliance on digital data, manufacturers, their supply chains, and their customers are exposed to many and varied digital threats. One such digital threat is compromised integrity of the data produced and consumed, the result of data tampering, either intentional (i.e., cyberattacks) or unintentional (e.g., human or system error). Because of the reliance on digital data, data tampering can lead to serious damage in the physical world, such as structurally weaker or functionally different parts. In the cybersecurity world, a key factor in the cost of a digital threat is the mean time to identify and contain that threat. Because of the complexity of today’s goods and the distributed nature of supply chains, designing, manufacturing, and distributing a product involves a significant number of heterogeneous information systems operating on both business and engineering data. These systems are integrated to consume data from each other in a high-volume and fast-paced environment where tampered data can be quickly propagated across many systems and organizations. To promptly identify the “infected” systems and contain the threat, an efficient data traceability strategy is required. Although we have previously developed traceability methods for file-based and agent-based integrations, this paper discusses the need for and benefits of traceability at the data field level, supported by model-based integration specifications (or data mappings). We then present a state of the art of existing formal integration definition methods. Finally, we conclude with an evaluation of these methods.
Chapter
Businesses all over the world are faced with the challenge of having to flexibly react to change and to dynamically work with varying business partners. For establishing electronic business, the underlying processes and subsequent IT-support need to be described clearly. For doing so, conceptual modeling has become an indispensable means. Models describe interrelated business objects and activities, expressed in a certain modeling language with elements labeled in natural language. If the decision for the labels is not dominated by rules, models are semantically heterogeneous, not only concerning their modeling language, but more importantly, concerning their domain language, making their comparison or integration a non-trivial task. For its alleviation Semantic-Web technologies are applied. Transforming legacy models of different types into ontologies allows for reusing and connecting the domain facts modeled. Here, the novel method of semantic model referencing developed for this task is used, and this chapter will show how it can provide the basis for semantic integration.
Conference Paper
Full-text available
The Meta-Modeling Language is a static object-oriented modeling language whose focus is the declarative definition of languages. It aims to enable the UML metamodel to be precisely defined, and to enable UML to evolve into a family of languages. This paper argues that although MML takes a metamodeling approach to language definition, it cannot be described as strict metamodeling. This has significant implications for the nature of the metamodel architecture it supports, yet without contravening the OMG's requirements for the UML 2.0 infrastructure. In particular it supports a rich generic nested architecture as opposed to the linear architecture that strict metamodeling imposes. In this nested architecture, the transformation of any model between its representations at two adjacent metalevels can be described by an information preserving one-to-one mapping. This mapping, which can itself be defined in UML, provides the basis for a powerful area of functionality that any potential metamodeling tool should seek to exploit.
Conference Paper
Full-text available
As the UMLattempts to make the transition from a single, albeit extensible, language to a framework for a family of languages, the nature and form of the underlying meta-modeling architecture will assume growing importance. It is generally recognized that without a simple, clean and intuitive theory of how metamodel levels are created and related to one another, the UML2.0 vision of a coherent family of languages with a common core set of concepts will remain elusive. However, no entirely satisfactory metamodeling approach has yet been found. Current (meta-)modeling theories used or proposed for the UML all have at least one fundamental problem that makes them unsuitable in their present form. In this paper we bring these problems into focus, and present some fundamental principles for overcoming them. We believe that these principles need to be embodied within the metamodeling framework ultimately adopted for the UML2.0 standard.
Conference Paper
Full-text available
The Unified Modeling Language is extensible, and so can be regarded as a family of languages. Implicitly or explicitly, any particular UML model should be accompanied by a definition of the particular UML family member used for the model. The definition should cover syntactic and semantic issues. This paper proposes a mechanism for associating models with such definitions. Any particular definition would form what we call a preface. The name is intended to suggest that the definition of a particular UML family member must conceptually come before any model built using that family member. A preface would be large, and should be organised using packages. This would allow large amounts of sharing between different prefaces. The paper proposes that prefaces should have an axiomatic style of semantics, through not necessarily fully formal, and it offers a general approach to semantics that would reduce problems of inconsistency within a large preface, based on the idea of general cases and special cases
Conference Paper
Full-text available
. The Unified Modelling Language (UML) ostensibly assumes a four level (meta) modelling framework, both for its definition and for the conceptual context in which its users operate. In practice, however, it is still dominated by the traditional two level (model + data) view of object modelling and neither supports nor applies the four level framework properly. This not only diminishes the clarity of the UML semantics, but also complicates the task of those users who do wish to fully embrace a multi-level approach. After outlining the characteristics of the intended conceptual framework, and the problems resulting from the UML's current two-level bias, this paper presents three simple enhancements to the UML which provide the required expressive power for multi-level modelling. The paper then goes on to discuss issues in the application of the conceptual framework within the UML's own definition. 1 Introduction Although the current version of the Unified Modelling Language ...
Article
The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out they've known about patterns all along. It's just that they've never considered them as such, or tried to centralize the idea behind a given pattern so that it will be easily reusable.
Article
The article presents information on the Unified Modeling Language (UML) in 2001. As the UML reaches the ripe age of four, both its proponents and its critics are scanning the recent changes in the UML 1.3 revision. In a relatively short period of time the UML has emerged as the software industry's dominant modeling UML is not only a de facto modeling language standard, it is fast becoming a de jure standard. Nearly two years ago the Object Management Group (OMG) adopted UML as its standard modeling language. As an approved Publicly Available Specification (PAS) submitter to the International Organization for Standardization (ISO), the OMG is proposing the UML specification for international standardization. This article explores how the UML is faring in the international standardization process. It assumes the reader is generally familiar with the use of UML, and instead focuses on the language's recent and future evolution. The processes and architectures for UML change management are examined, followed by discussion of how these processes and architectures were used in the recent minor revision of the language (UML 1.3), and how they may be applied in the next major revision (UML 2.0), which is tentatively scheduled to be completed in 2001. Factors contributing to the success of the UML will be assessed here, followed by speculation on its future.
Conference Paper
. We discuss a first-class extensibility mechanism for the UML based on Catalysis packages and frameworks [3]. Packages define and structure meta-model extensions for different modeling language "profiles". Package frameworks support lightweight extensions like stereotypes as well as heavyweight extensions. OCL can be used to define constraints and rules for profiles and frameworks. Our approach rationalizes and consolidates some core concepts within the UML standard, uses a simple general mechanism for layering facilities onto that core in a precise and well-defined way, and offers a way to simplify and refactor the UML specification. 1 Introduction The UML has become a family of modeling languages, each with its own specialized stereotypes and other extensions. This is understandable, since rule-based systems, compilers, signal-processors, control-systems, etc. all want the end-user modeling language to simplify the expression of their own problems and solutions. The OMG "...
Extending the unified modeling language, at: home.earthlink.net/∼salhir
  • S S Alhir
S.S. Alhir, Extending the uniÿed modeling language, at: home.earthlink.net= ∼salhir, 1999.
The essence of multi-level metamodeling
  • C Atkinson
C. Atkinson, T. K uhne, The essence of multi-level metamodeling, in: Proc. UML'01, Toronto, Canada, 2001, pp. 19–33.
Paper on the profile mechanism, OMG Document ad/99-04-07
  • White Omg