A Layered Reference Architecture for Metamodels to Tailor Quality Modeling and Analysis

Total Page:16

File Type:pdf, Size:1020Kb

A Layered Reference Architecture for Metamodels to Tailor Quality Modeling and Analysis IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, PREPRINT 1 A Layered Reference Architecture for Metamodels to Tailor Quality Modeling and Analysis Robert Heinrich, Misha Strittmatter, Ralf Reussner Abstract—Nearly all facets of our everyday life strongly depend on software-intensive systems. Besides correctness, highly relevant quality properties of these systems include performance, as directly perceived by the user, and maintainability, as an important decision factor for evolution. These quality properties strongly depend on architectural design decisions. Hence, to ensure high quality, research and practice is interested in approaches to analyze the system architecture for quality properties. Therefore, models of the system architecture are created and used for analysis. Many different languages (often defined by metamodels) exist to model the systems and reason on their quality. Such languages are mostly specific to quality properties, tools or development paradigms. Unfortunately, the creation of a specific model for any quality property of interest and any different tool used is simply infeasible. Current metamodels for quality modeling and analysis are often not designed to be extensible and reusable. Experience from generalizing and extending metamodels result in hard to evolve and overly complex metamodels. A systematic way of creating, extending and reusing metamodels for quality modeling and analysis, or parts of them, does not exist yet. When comparing metamodels for different quality properties, however, substantial parts show quite similar language features. This leads to our approach to define the first reference architecture for metamodels for quality modeling and analysis. A reference architecture in software engineering provides a general architecture for a given application domain. In this paper, we investigate the applicability of modularization concepts from object-oriented design and the idea of a reference architecture to metamodels for quality modeling and analysis to systematically create, extend and reuse metamodel parts. Thus, the reference architecture allows to tailor metamodels. Requirements on the reference architecture are gathered from a historically grown metamodel. We specify modularization concepts as a foundation of the reference architecture. Detailed application guidelines are described. We argue the reference architecture supports instance compatibility and non-intrusive, independent extension of metamodels. In four case studies, we refactor historically grown metamodels and compare them to the original metamodels. The study results show the reference architecture significantly improves evolvability as well as need-specific use and reuse of metamodels. Index Terms—Domain-Specific Modeling Language, Reference Architecture, Metamodel, Quality Analysis F 1 INTRODUCTION OFTWARE is an essential part not only of information early on qualities of a system. Of course, for such mod- S systems but various facets of our daily life. Mobility, els, specific modeling languages are needed. Examples for energy, economics, production and infrastructure strongly modeling languages and formalisms to reason on quality depend on software which is not always of high quality. are queuing networks, Petri nets, markov chains, fault trees Critical performance and security issues, for instance, may or the Palladio Component Model (PCM) [3]. arise from bad software quality [1]. Examples can be found In Model-Driven Engineering (MDE), graphical and tex- manifold in the press, like when Denver International Air- tual modeling languages are often defined through a meta- port opened 16 months delayed and almost $2 billion over model. A metamodel is a model which defines the structure budget due to lack of performance and scalability of the and characteristics of other models. The background of our baggage-handling software system or when 6.5 million user research is the model-based analysis of software-intensive account credentials were leaked from LinkedIn. systems for various quality properties. A plethora of dif- A system on which software contributes essential in- ferent metamodels for modeling the quality of software- fluence is called a software-intensive system [2]. Software- intensive systems exist. Such metamodels are specific to intensive systems comprise besides software other domains, different quality properties (e.g., performance versus re- such as electronics and mechanics. To specify a software- liability), tools (e.g., the Palladio bench [3] versus QPN- intensive system in the form of a model promises many Tool [4]) or analysis tasks (e.g., mean time analysis versus benefits like a better understanding due to abstraction, prediction of a statistical distribution). Approaches to come platform independence, model-based analysis for behavior to unified models, such as extending an existing well- and quality. Many quality properties mainly depend on a proven metamodel, showed that metamodels for quality good architectural design, such as performance, availability modeling and analysis are prone to growth due to features and maintainability. Therefore, models are needed to reason (e.g., new quality properties to be analyzed) being added to the modeling language over time. For example, the PCM • Robert Heinrich, Misha Strittmatter and Ralf Reussner are with the was initially designed as a metamodel for performance Karlsruhe Institute of Technology, Karlsruhe, Germany analysis of software architectures. Over time, the PCM has E-mail: {heinrich,strittmatter,reussner}@kit.edu been extended for modeling reliability, costs, maintainabil- https://doi.org/10.1109/TSE.2019.2903797 c 2019 IEEE IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, PREPRINT 2 ity, energy consumption and many other quality proper- with the base language. They do not support extending the ties. These modifications may lead to degradation of the language externally and independently. Further, they are structure of the metamodel [5]. Feature overload, feature designed for language engineering in general and do not scattering and unconstrained creation of dependencies harm take into account specifics of a given domain or quality. the evolvability and reusability of the metamodel. In this paper, we investigate the applicability of modu- When comparing metamodels for different quality prop- larization concepts as known from object-oriented design erties, substantial parts of the models for the specification of and reference architectures as known from architectural structure and behavior of the system show similar language design to metamodels. We do this by presenting the first features. For example, in [6] modeling performance and reference architecture for metamodels for quality modeling reliability rely on the same language features for structure and analysis to address shortcomings in extension and reuse and behavior and merely differ in quality-specific extensions that we mentioned earlier. The reference architecture lever- to this features. However, metamodels are seldom designed ages patterns that reoccur for several domains. It proposes so that parts (or the entire metamodel) can be reused in a top-level decomposition of metamodels for quality mod- different contexts. This is because to reuse a metamodel, eling and analysis into four layers — paradigm, domain, the whole metamodel and all of its dependencies must be quality and analysis. A layer is a set of metamodel modules reused. Otherwise, dependencies are left unresolved which which can be extended by lower-level layers and reused results in an invalid metamodel. Reusing the whole meta- in different metamodels. Metamodel modules are assigned model and all its dependencies is not suitable if only a to a specific layer depending on the features they offer to subset is required. Just ignoring the irrelevant parts of the the language. The modularization concepts and reference metamodel is not a feasible way either as they unnecessarily architecture are a substantial step towards our research increase complexity and reduce understandability when vision of tailored quality modeling and analysis proposed evolving the metamodel. in [9]. Both, extension and reuse bloat the metamodel with The modularization concepts are applicable to metamod- plenty of unnecessary complexity if the metamodel is not els in general. They are independent of quality modeling well modularized. A systematic way of extending and and analysis. Also the idea of a reference architecture can reusing metamodels for quality modeling and analysis, or be applied to any kind of metamodels as long as they face parts of them, while preserving their structure is required to variation and extension of basic language features. The lay- reduce complexity. ers specification, however, strongly depends on the specific In software engineering, reference architectures provide metamodels. Other scopes would result in other reference a general architecture for applications in a particular do- architectures. We believe metamodels for various purposes main, which partially or fully implement the reference archi- can benefit from a reference architecture. Nevertheless, our tecture [7]. For example, the Java EE architecture is a layered research focuses on metamodels for quality modeling and reference architecture which can be used as a template analysis as this kind of metamodels face high variability for for various systems developed in Java. Other examples of several quality properties. This is because when applying established reference architectures are the ISO/OSI
Recommended publications
  • Introduction Development Lifecycle Model
    DeveIopment of a Comprehensive Software Engineering Environment Thomas C. Hartrum Gary B. Lamont Department of Electrical and Computer Engineering Department of Electrical and Computer Engineering School of Engineering School of Engineering Air Force Institute of Technology Air Force Institute of Technology Wright-Patterson AFB, Dayton, Ohio, 45433 Wright-Patterson AFB, Dayton, Ohio, 45433 Abstract The concept of an integrated software development environment The generation of a set of tools for the software lifecycle is a recur- can be realized in two distinct levels. The first level deals with the ring theme in the software engineering literature. The development of access and usage mechanisms for the interactive tools, while the sec- such tools and their integration into a software development environ- ond level concerns the preservation of software development data and ment is a difficult task at best because of the magnitude (number of the relationships between the products of the different software life variables) and the complexity (combinatorics) of the software lifecycle cycle stages. The first level requires that all of the component tools process. An initial development of a global approach was initiated at be resident under one operating system and be accessible through a AFIT in 1982 as the Software Development Workbench (SDW). Also common user interface. The second level dictates the need to store de- other restricted environments have evolved emphasizing Ada and di5 velopment data (requirements specifications, designs, code, test plans tributed processing. Continuing efforts focus on tool development, and procedures, manuals, etc.) in an integrated data base that pre- tool integration, human interfacing (graphics; SADT, DFD, structure serves the relationships between the products of the different life cy- charts, ...), data dictionaries, and testing algorithms.
    [Show full text]
  • Filling the Gap Between Business Process Modeling and Behavior Driven Development
    Filling the Gap between Business Process Modeling and Behavior Driven Development Rogerio Atem de Carvalho Rodrigo Soares Manhães Fernando Luis de Carvalho e Silva Nucleo de Pesquisa em Sistemas de Informação (NSI), Instituto Federal Fluminense (IFF), Brazil {ratem, rmanhaes, [email protected]} 1. Introduction Behavior Driven Development (NORTH, 2006) is a specification technique that is growing in acceptance in the Agile methods communities. BDD allows to securely verify that all functional requirements were treated properly by source code, by connecting the textual description of these requirements to tests. On the other side, the Enterprise Information Systems (EIS) researchers and practitioners defends the use of Business Process Modeling (BPM) to, before defining any part of the system, perform the modeling of the system's underlying business process. Therefore, it can be stated that, in the case of EIS, functional requirements are obtained by identifying Use Cases from the business process models. The aim of this paper is, in a narrower perspective, to propose the use of Finite State Machines (FSM) to model business process and then connect them to the BDD machinery, thus driving better quality for EIS. In a broader perspective, this article aims to provoke a discussion on the mapping of the various BPM notations, since there isn't a real standard for business process modeling (Moller et al., 2007), to BDD. Firstly a historical perspective of the evolution of previous proposals from which this one emerged will be presented, and then the reasons to change from Model Driven Development (MDD) to BDD will be presented also in a historical perspective.
    [Show full text]
  • Change and Version Management in Variability Models for Modular Ontologies
    Change and Version Management in Variability Models for Modular Ontologies Melanie Langermeier1, Thomas Driessen1, Heiner Oberkampf1;2, Peter Rosina1 and Bernhard Bauer1 1Software Methodologies for Distributed Systems, University of Augsburg, Augsburg, Germany 2Siemens AG, Corporate Technology, Munich, Germany Keywords: Variability Model, Modular Ontologies, Version Management, Change Management, Enterprise Architecture Management. Abstract: Modular ontology management tries to overcome the disadvantages of large ontologies regarding reuse and performance. A possibility for the formalization of the various combinations are variability models, which originate from the software product line domain. Similar to that domain, knowledge models can then be individualized for a specific application through selection and exclusion of modules. However, the ontology repository as well as the requirements of the domain are not stable over time. A process is needed, that enables knowledge engineers and domain experts to adapt the principles of version and change management to the domain of modular ontology management. In this paper, we define the existing change scenarios and provide support for keeping the repository, the variability model and also the configurations consistent using Semantic Web technologies. The approach is presented with a use case from the enterprise architecture domain as running example. 1 INTRODUCTION quirements, for instance, that the domain Ontology A and Ontology B should not be used together. For the Knowledge management is an important aspect in or- creation of a configuration, this variability knowledge ganizations. Typically, different models are used to can be automatically processed, and therewith sup- capture all relevant aspects of the organization. These ports the domain expert in creating a consistent con- models can extend each other, but can also overlay figuration.
    [Show full text]
  • Job Description - Software Engineer I
    Job Description - Software Engineer I Department: Engineering - 2013-03 Exemption Status: Non-Exempt Summary: This position is responsible for software development in multi-application, multi-server, and hosted environments. The candidate will primarily provide system/configuration support with a focus in helping the needs of both internal and external customers. He or she will participate in all facets of software and system development life-cycle. The most qualified candidate for this role will have experience working with business intelligence in the public safety and/or public health software fields and have formal software education and/or a ton of practical experience. We develop primarily in C#, .NET, SQL, SSRS and mobile. Anyone that might fit well at FirstWatch must be hard-working, people-oriented, friendly, patient, a fast learner, think quickly on their feet, take initiative and responsibility, and LOVE providing our customers great and honest customer service. This person will need to maintain a high quality productivity level within a fast paced environment. This position shares responsibility (rotates) with other engineering staff for 24×7 on call duties and so must be able to thrive in this environment. Responsibilities: - Maintain and modify the software and system configurations of production, staged, and test applications. - Interface with different stakeholders to determine and propose appropriate and effective technology solutions to meet business and technical objectives. - Develop interfaces, applications and other technical solutions to support the business needs through the planning, analysis, design, development, implementation and maintenance phases of the software and systems development lifecycle. - Create system requirements, technical specifications, and test plans.
    [Show full text]
  • Structured Programming - Retrospect and Prospect Harlan D
    University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange The aH rlan D. Mills Collection Science Alliance 11-1986 Structured Programming - Retrospect and Prospect Harlan D. Mills Follow this and additional works at: http://trace.tennessee.edu/utk_harlan Part of the Software Engineering Commons Recommended Citation Mills, Harlan D., "Structured Programming - Retrospect and Prospect" (1986). The Harlan D. Mills Collection. http://trace.tennessee.edu/utk_harlan/20 This Article is brought to you for free and open access by the Science Alliance at Trace: Tennessee Research and Creative Exchange. It has been accepted for inclusion in The aH rlan D. Mills Collection by an authorized administrator of Trace: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. mJNDAMNTL9JNNEPTS IN SOFTWARE ENGINEERING Structured Programming. Retrospect and Prospect Harlan D. Mills, IBM Corp. Stnuctured program- 2 ' dsger W. Dijkstra's 1969 "Struc- mon wisdom that no sizable program Ste red .tured Programming" articlel could be error-free. After, many sizable ming haxs changed ho w precipitated a decade of intense programs have run a year or more with no programs are written focus on programming techniques that has errors detected. since its introduction fundamentally alteredhumanexpectations and achievements in software devel- Impact of structured programming. two decades ago. opment. These expectations and achievements are However, it still has a Before this decade of intense focus, pro- not universal because of the inertia of lot of potentialfor gramming was regarded as a private, industrial practices. But they are well- lot of fo puzzle-solving activity ofwriting computer enough established to herald fundamental more change.
    [Show full text]
  • It Software Engineer 1
    Pierce County Classification Description IT SOFTWARE ENGINEER 1 Department: Finance FLSA: Non-Exempt Job Class #: 632700 Represented: No Pay Range: Professional 15 Classification descriptions are intended to present a descriptive list of the range of duties performed by employees in this class and are not intended to reflect all duties performed within the job. GENERAL FUNCTION: This is professional, technical, analytical, and customer-oriented work in the Software Development Division of the Information Technology Division of Finance. An employee in this classification provides technical expertise to Pierce County departments and agencies in multiple areas. The Software Engineer 1 may include any or all of the essential functions listed below and functions as an IT professional in the capacity of a software designer, coder, and project manager. SERIES CONCEPT: This is the first level in the series. This classification is distinguished from other IT Software Engineers by performing a narrower range of technically complex duties and the level of direction required to perform job functions. ESSENTIAL FUNCTIONS: Perform professional functions in software programming and analysis. Assist in designing, coding, testing, deploying, maintaining, enhancing, and supporting County software systems. Assist in working with business customers in translating requirements into plans and specifications. Assist in developing new software and customize, developing interfaces to, or integrating with third- party business systems. Work in a team-based environment, communicating effectively with all levels of staff and management. Collaborate on the identification of business and system requirements. Address customer’s information needs by developing technology solutions and supporting information and technology systems on multiple computing platforms.
    [Show full text]
  • Sysml Distilled: a Brief Guide to the Systems Modeling Language
    ptg11539604 Praise for SysML Distilled “In keeping with the outstanding tradition of Addison-Wesley’s techni- cal publications, Lenny Delligatti’s SysML Distilled does not disappoint. Lenny has done a masterful job of capturing the spirit of OMG SysML as a practical, standards-based modeling language to help systems engi- neers address growing system complexity. This book is loaded with matter-of-fact insights, starting with basic MBSE concepts to distin- guishing the subtle differences between use cases and scenarios to illu- mination on namespaces and SysML packages, and even speaks to some of the more esoteric SysML semantics such as token flows.” — Jeff Estefan, Principal Engineer, NASA’s Jet Propulsion Laboratory “The power of a modeling language, such as SysML, is that it facilitates communication not only within systems engineering but across disci- plines and across the development life cycle. Many languages have the ptg11539604 potential to increase communication, but without an effective guide, they can fall short of that objective. In SysML Distilled, Lenny Delligatti combines just the right amount of technology with a common-sense approach to utilizing SysML toward achieving that communication. Having worked in systems and software engineering across many do- mains for the last 30 years, and having taught computer languages, UML, and SysML to many organizations and within the college setting, I find Lenny’s book an invaluable resource. He presents the concepts clearly and provides useful and pragmatic examples to get you off the ground quickly and enables you to be an effective modeler.” — Thomas W. Fargnoli, Lead Member of the Engineering Staff, Lockheed Martin “This book provides an excellent introduction to SysML.
    [Show full text]
  • Innovations in Model-Based Software and Systems Engineering
    Journal of Object Technology Published by AITO — Association Internationale pour les Technologies Objets http://www.jot.fm/ Innovations in Model-based Software And Systems Engineering Katrin Hölldoblera Judith Michaela Jan Oliver Ringertb Bernhard Rumpea Andreas Wortmanna a. Software Engineering, RWTH Aachen University, Germany b. Department of Informatics, University of Leicester, UK Abstract Engineering software and software intensive systems has become in- creasingly complex over the last decades. In the ongoing digitalization of all aspects of our lives in almost every domain, including, e.g., mechanical engineering, electrical engineering, medicine, entertainment, or jurisdiction, software is not only used to enable low-level controls of machines, but also to understand system conditions and optimizations potentials. To remain in control of all these heterogeneous systems of systems, a precise, but abstract understanding of these systems is necessary. To this end, models in their various forms are an important prerequisite to gain this understanding. In this article, we summarize research activities focusing on the de- velopment and use of models in software and systems engineering. This research has been carried out by the working group of Bernhard Rumpe, which started 25 years ago in Munich, continued in Braunschweig, and since 10 years carries on at RWTH Aachen University. Keywords Model, Modeling, Software Engineering, Language Workbench 1 Introduction Development of a system consists of understanding what the system should do, decom- posing the problem into smaller problems until they can be solved individually and composed into an overall solution. An important part of this process is decomposition, which leads to an architecture for the individual components.
    [Show full text]
  • Feature-Based Composition of Software Architectures Carlos Parra, Anthony Cleve, Xavier Blanc, Laurence Duchien
    Feature-based Composition of Software Architectures Carlos Parra, Anthony Cleve, Xavier Blanc, Laurence Duchien To cite this version: Carlos Parra, Anthony Cleve, Xavier Blanc, Laurence Duchien. Feature-based Composition of Soft- ware Architectures. 4th European Conference on Software Architecture, Aug 2010, Copenhagen, Denmark. pp.230-245, 10.1007/978-3-642-15114-9_18. inria-00512716 HAL Id: inria-00512716 https://hal.inria.fr/inria-00512716 Submitted on 31 Aug 2010 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Feature-based Composition of Software Architectures Carlos Parra, Anthony Cleve, Xavier Blanc, and Laurence Duchien INRIA Lille-Nord Europe, LIFL CNRS UMR 8022, Universit´edes Sciences et Technologies de Lille, France {carlos.parra, anthony.cleve, xavier.blanc, laurence.duchien}@inria.fr Abstract. In Software Product Lines variability refers to the definition and utilization of differences between several products. Feature Diagrams (FD) are a well-known approach to express variability, and can be used to automate the derivation process. Nevertheless, this may be highly complex due to possible interactions between selected features and the artifacts realizing them. Deriving concrete products typically involves the composition of such inter-dependent software artifacts.
    [Show full text]
  • Valley College of Technology
    VALLEY COLLEGE ONLINE CAMPUS CATALOG SUPPLEMENT STAFF Name Title Wennetta Marie Rhodes Campus Director Beth Gardner Acting Online Director Phillip Dues Admissions Representative Latishchel Dowdy Admissions Representative Beth Perry Admissions Representative Dianne Cordial-Milam Placement & Student Affairs Director Sarah Redman Financial Aid Advisor Consuela Phillips Financial Aid Advisor Andrea Vest Director of First Impressions Open Receptionist Nancy Nickel Faculty Assistant Priscilla Harrison Faculty Aide Lindsay Reed Administrative Assistant Cheryl Long Online Facilitator Shelly Smith Student Affairs Advisor FACULTY (Instructors) Name Department Degree Shelly Smith Online -Lead Juris Doctorate Business Adjunct Appalachian School of Law B.S. Business Administration Mountain State University Stephanie Gaiser Online M.S. Adult & Technical Education Healthcare Adjunct Marshall University B.S. Business Administration Mountain State University (formally CWV) Brenda Fox Hashem Online B.S. Nursing Healthcare Adjunct Chamberlain College A.A. Nursing Alleghany College of Nursing Penethia Mack Online Ed. D. Counseling Psychology Business Adjunct University of Sarasota M.S. Counseling Education University of South Florida B.A. Education Eckerd College Mark Mahoney Online B.S. Business/ HR Management Business Adjunct Mountain State University A.S. Business Management / Accounting Mountain State University Sebrina Mahoney Online B.S. Diagnostic Medical Sonography Healthcare Adjunct Mountain State University Catalog Supplement-Online Revised: June 11, 2014 Catalog Supplements are subject to change. Please contact the campus for the most up-to-date information. Ann Nagye Online MBA Business Adjunct Marshall University Healthcare Adjunct B.S. Business Administration Concord University Janice Spangenburg Online PH.D. Business Business Adjunct C.A.G.S. Organizational Leadership Regent Univeristy M.A. Organization Development Fielding Graduate University M.S.
    [Show full text]
  • A Model-Based Approach to Managing Feature Binding Time in Software Product Line Engineering
    A Model-Based Approach to Managing Feature Binding Time in Software Product Line Engineering Armaya’u Zango Umar Jaejoon Lee Lancaster University Lancaster University Lancaster, United Kingdom Lancaster, United Kingdom [email protected] [email protected] ABSTRACT EduPL Software Product Line Engineering (SPLE) is a software reuse par- Course Registration adigm for developing software products, from managed reusable Result Computation................. Account Creation Payment ...... ..... assets, based on analysis of commonality and variability (C & V) .......... ......... Application of a product line. Many approaches of SPLE use a feature as a Messaging Service Sub-degree key abstraction to capture the C&V. Recently, there have been in- Contact Validation Email Graduate creasing demands for the provision of flexibility about not only Text Message Under Graduate the variability of features but also the variability of when features Composition Rule Legend should be selected (i.e., variability on feature binding times). Cur- Contact Validation Requires Messaging Service Optional Alternative Group rent approaches to support variations of feature binding time mostly GraduateRequires Payment OR group Composed-of relationship focused on ad hoc implementation mechanisms. In this paper, we first identify the challenges of feature binding time management and then propose an approach to analyze the variation of feature Figure 1: Partial feature model of EduPl binding times and use the results to specify model-based architec- tural components for the product line. Based on the specification, components implementing variable features are parameterized with be tailored to produce a potentially unique architecture for each of the binding times and the source codes for the components and the the products of a product line.
    [Show full text]
  • Matters of (Meta-) Modeling
    Appeared in the Journal on Software and Systems Modeling, Volume 5, Number 4, pp. 369-385, December 2006 Matters of (Meta-) Modeling Thomas Kuh¨ ne Darmstadt University of Technology, Darmstadt, Germany e-mail: [email protected] Abstract With the recent trend to model driven engineering ontologies for the basic terms of their discipline, any com- a common understanding of basic notions such as “model” munication may create the illusion of agreement where there and “metamodel” becomes a pivotal issue. Even though these is none, i.e., unnoticed misunderstandings, and raise barriers notions have been in widespread use for quite a while, there of communication where they are just accidental. is still little consensus about when exactly it is appropriate In the following we will focus on the term “model” in the to use them. The aim of this article is to start establishing a context of model driven engineering. Our models are thus all consensus about generally acceptable terminology. Its main language-based in nature, unlike, e.g., physical scale models contributions are the distinction between two fundamental- and they describe something as opposed to models in mathe- ly different kinds of model roles, i.e. “token model” versus matics which are understood as interpretations of a theory [3]. “type model”1, a formal notion of “metaness”, and the consi- In an attempt to define the scope of the notion “model” we deration of “generalization” as yet another basic relationship should consider how it has been traditionally used in softwa- between models. In particular, the recognition of the funda- re engineering.
    [Show full text]