Model-Driven Software Development

Total Page:16

File Type:pdf, Size:1020Kb

Model-Driven Software Development ModelModel--DrivenDriven SoftwareSoftware Development:Development: WhatWhat itit cancan andand cannotcannot dodo JonJon WhittleWhittle AssociateAssociate ProfessorProfessor InformationInformation && SoftwareSoftware EngineeringEngineering GeorgeGeorge MasonMason UniversityUniversity http://ise.gmu.edu/~jwhittle OutlineOutline Introduction to Modeling Introduction to OMG’s Model-driven Architecture (MDA): – What is MDA? – Example – MDA supporting technologies: metamodeling, transformations, executable UML – Tool support Introduction to Microsoft’s Software Factories – Domain Modeling – Domain-Specific Languages – The Microsoft-OMG Debate Model-Driven Development (MDD) in the future 2 SystemSystem ModelingModeling WhatWhat isis aa (system)(system) model?model? – “A simplified description of a complex entity or process” [web dictionary] – “A representation of a part of the function, structure and/or behavior of a system” [ORM01] – “A description of (part of) a system written in a well- defined language” [KWB03] KeyKey point:point: – Models are abstractions – Entire history of software engineering has been one of raising levels of abstraction (01s → assembly language → 3GLs → OO → CBD → patterns → middleware → declarative description) 3 WhyWhy Model?Model? ModelsModels cancan bebe usedused in:in: – System development – System analysis – System testing/validation/simulation EachEach requiresrequires abstractionabstraction ofof complexitycomplexity WhyWhy notnot model?model? – Large(r) effort required – Synchronization – Delayed return – Requires specialized skills 4 ModelModel TaxonomyTaxonomy Model Business System Model Model Logical Physical Model Model Requirements Computational Model Model Platform Platform Independent Specific From FRA03 Model Model 5 Internal reqmts: Cost/planning, schedule, Cf.Cf. 4+14+1 viewsviews Monitoring, reuse, portability, Etc. Layered view. OO decomposition Performance, Availability, Fault tolerance, Pipe/filter scalability Client/server etc. Driver, validator From [4+1] 6 AbstractionAbstraction inin UMLUML Use case model abstracts away: – Computation – Irrelevant or low-priority functionality – Non-functional requirements Analysis model abstracts away: – Decisions on “ilities”: performance and distribution requirements; optimizations etc. – Decisions on data structures – Booch/Rumbaugh/Jacobson: 1:5 ratio going from analysis to design – (for class diagrams): operations interface, “design attributes”, visibilities, navigability Design model abstracts away: – Physical deployment (nodes, processors etc.) – Use of Source files, libraries etc. 7 AbstractionAbstraction inin UMLUML (cont(cont’’d)d) SequenceSequence diagramsdiagrams abstractabstract to:to: – Inter-object (component, process) communications StateState machinesmachines abstractabstract to:to: – Intra-object behaviors – Without method implementations – Without middleware concerns – Abstract communication ClassClass diagramsdiagrams abstractabstract to:to: – Structure, no behavior 8 UML2.0UML2.0 WhatWhat’’ss new:new: –– SupportSupport forfor componentscomponents –– MuchMuch improvedimproved interactioninteraction diagramsdiagrams MSC-like constructs Interaction overview diagrams –– MetamodelMetamodel forfor OCL2.0OCL2.0 –– MoreMore consistentconsistent UMLUML metamodelmetamodel –– TighterTighter relationshiprelationship betweenbetween MOFMOF andand UMLUML 9 ModelingModeling softwaresoftware systems:systems: –– WhatWhat isis thethe future?future? Sketch Blueprint Programming language Rhapsody, RoseRealTime, Simulink, Rational XDE, OptimalJ DS1: 10 230,000LOC 10 OutlineOutline Introduction to Modeling Introduction to OMG’s Model-driven Architecture (MDA): – What is MDA? – Example – MDA supporting technologies: metamodeling, transformations, executable UML – Tool support Introduction to Microsoft’s Software Factories – Domain Modeling – Domain-Specific Languages – The Microsoft-OMG Debate Model-Driven Development (MDD) in the future 11 MDAMDA DefinitionDefinition ModelModel DrivenDriven Architecture:Architecture: – Recent initiative from the Object Management Group (OMG) making models and transformations between models first-class elements – Builds on UML and OCL (Object Constraint Language) – More info: MDA Explained: The Model Driven Architecture, Practice & Promise, Anneke Kleppe, Jos Warmer & Wim Bast Model Driven Architecture. Applying MDA to Enterprise Computing. David S. Frankel. OMG Press 2003. http://www.omg.org 12 WhyWhy MDA?MDA? ProductivityProductivity problem:problem: – Time/budget-crunch means early lifecycle artifacts are not maintained Requirements documents, design documents etc. (UML or other) become obsolete – Why spend so much time on high-level specs anyway? Cf. eXtreme programming, agile modeling PortabilityPortability problem:problem: – Technology is growing fast (Java, XML, UML, J2EE, .NET, JSP, SOAP, Flash etc.) – How does software keep up? 13 WhyWhy MDA?MDA? InteroperabilityInteroperability problem:problem: –– SystemsSystems needneed toto interoperateinteroperate withwith otherother systemssystems Cf. web-based systems, component-based systems Maintenance/DocumentationMaintenance/Documentation problem:problem: –– DespiteDespite bestbest--practicepractice advice,advice, mostmost softwaresoftware projectsprojects dodo notnot adequatelyadequately model/documentmodel/document software,software, letlet alonealone maintainmaintain itit 14 MDAMDA DevelopmentDevelopment LifecycleLifecycle MDA lifecycle similar to requirements traditional lifecycle, but: Mostly text MDA – Emphasis on creation of Process formal models (i.e., models analysis that can be understood by computer) PIM 2 types of models: design – Platform-independent model PSM – Platform-specific model 3 types of transformations: coding – PIM-to-PIM – PIM-to-PSM Code – PSM-to-code testing Importance of transformation automation Code deployment 15 Taken from [KWB03] MDAMDA BenefitsBenefits Productivity: – Work is done mainly at the PIM level – PIM-to-code transformation is automated – Caveat: need to define transformations, but they can be reused (hopefully) Portability: – PIMs are implementation-independent – Incorporate new technologies by defining new (reusable) transformations Interoperability: – MDA tools should generate bridges Maintenance/Documentation: – Changes to the PIM can be filtered down to PSM/code by re- applying transformations 16 MDAMDA requirementsrequirements ConsistentConsistent && preciseprecise highhigh--levellevel modelsmodels Standard,Standard, wellwell--defineddefined language(slanguage(s)) toto writewrite highhigh--levellevel modelsmodels –– OMGOMG StandardsStandards Modeling – UML; Metamodeling – MOF; Action semantics; Model interchange – XMI; Human- readable textual notation – HUTN; … Transformations:Transformations: –– DefinitionsDefinitions –– TransformationTransformation languagelanguage (formal)(formal) QVTQVT –– TransformationTransformation toolstools 17 ModelsModels inin MDAMDA MDAMDA models:models: – Must be precise (enough) – May be software or business models – May be written in UML or some other language – May be code (code is a model) Caveats:Caveats: – How precise is UML? – Is there a clear distinction between a PIM and a PSM? 18 WhatWhat isis aa transformation?transformation? Transformation consists of: – A set of transformation rules Unambiguous specifications of the way that (part of) one model can be used to create (part of) another model Definitions: – A transformation is the automatic generation of a target model from a source model, according to a transformation definition – A transformation definition is a set of transformation rules that together describe how a model in the source language can be transformed into a model in the target language – A transformation rule is a description of how one or more constructs in the source language can be transformed into one or more constructs in the target language Preferred characteristics: – A transformation should be semantics-preserving Note: transformations may be between different languages. In particular, between different dialects of UML (UML profiles) 19 Taken from [KWB03] SimpleSimple Example:Example: public/privatepublic/private attributesattributes Transformation: UML PIM to UML/Java PSM Purpose: transform public attributes into get/set operations Customer Customer title : String title : String name : String name : String dateOfBirth : Date dateOfBirth : Date getTitle() : String setTitle(title : String) getName() : String setName(name : String) getDateOfBirth() : Date setDateOfBirth(d : Date) 20 Taken from [KWB03] TransformationTransformation DefinitionDefinition ForFor eacheach classclass namednamed classNameclassName,, transformtransform intointo aa classclass namednamed classNameclassName forfor eacheach publicpublic attributeattribute attributeNameattributeName :: TypeType ofof classclass classNameclassName,, createcreate attributes/operationsattributes/operations forfor classNameclassName inin thethe PSMPSM asas follows:follows: – Private attribute attributeName : Type – Public operation getAttributeName() : Type – Public operation setAttributeName(att : Type) Exercise:Exercise: definedefine aa JavaJava PSMPSM--toto--codecode transformationtransformation thatthat generatesgenerates JavaJava codecode forfor JavaJava PSMsPSMs 21 Taken from [KWB03] SimpleSimple example:example: associationsassociations Customer Order title : String +customers +orders number : Integer name : String date : Date dateOfBirth : Date 1 * +items 1..* Item number : String name : String
Recommended publications
  • Capabilities Statement
    Capabilities Statement Email: [email protected] Web site: www.modeldriven.com 1 Model Driven Solutions Model Driven Solutions is a leading provider of professional services and products that leverage Services Oriented Architecture (SOA), the Object Management Group’s (OMG) Model Driven Architecture (MDA), Information Sharing, Ontologies and Semantics and W3C’s Semantic Web techniques and standards to federate processes, information, systems and organizations. A current focus is information interoperability and federation with a current emphasis on finance, risk and threats across cyber and physical domains as well as a model-driven approach to NIEM. We assist major organizations in achieving effectiveness and agility in a changing and collaborative world. Founded in 1996, as Data Access Technologies, Inc., its division, Model Driven Solutions, has been a leader in the development of open standards and supporting products that result in SOA based Executable Enterprise Architectures (EEA). Model Driven Solutions’ EEA focus helps drive information systems to quickly and cost effectively address business and defense initiatives. Active in the Object Management Group (OMG), the Organization for the Advancement of Structured Information Standards (OASIS), the Open Group and other standards development organizations, Model Driven Solutions has provided industry leadership that is, today, resulting in significant technological advancements and customer satisfaction. With customers like the General Services Administration (GSA), the U.S. Information Sharing Environment, the US Army, Raytheon, Lockheed Martin, Kaiser Permanente, Unisys and many others, Model Driven Solutions is at the leading edge of today’s software technology advances. General Information Parent Company Name: Data Access Technologies, Inc. (DAT) Virginia Affiliate: Model Driven Solutions, Inc.
    [Show full text]
  • Unifying Modeling and Programming with ALF
    SOFTENG 2016 : The Second International Conference on Advances and Trends in Software Engineering Unifying Modeling and Programming with ALF Thomas Buchmann and Alexander Rimer University of Bayreuth Chair of Applied Computer Science I Bayreuth, Germany email: fthomas.buchmann, [email protected] Abstract—Model-driven software engineering has become more The Eclipse Modeling Framework (EMF) [5] has been and more popular during the last decade. While modeling the established as an extensible platform for the development of static structure of a software system is almost state-of-the art MDSE applications. It is based on the Ecore meta-model, nowadays, programming is still required to supply behavior, i.e., which is compatible with the Object Management Group method bodies. Unified Modeling Language (UML) class dia- (OMG) Meta Object Facility (MOF) specification [6]. Ideally, grams constitute the standard in structural modeling. Behavioral software engineers operate only on the level of models such modeling, on the other hand, may be achieved graphically with a set of UML diagrams or with textual languages. Unfortunately, that there is no need to inspect or edit the actual source code, not all UML diagrams come with a precisely defined execution which is generated from the models automatically. However, semantics and thus, code generation is hindered. In this paper, an practical experiences have shown that language-specific adap- implementation of the Action Language for Foundational UML tations to the generated source code are frequently necessary. (Alf) standard is presented, which allows for textual modeling In EMF, for instance, only structure is modeled by means of of software systems.
    [Show full text]
  • The Convergence of Modeling and Programming
    The Convergence of Modeling and Programming: Facilitating the Representation of Attributes and Associations in the Umple Model-Oriented Programming Language by Andrew Forward PhD Thesis Presented to the Faculty of Graduate and Postdoctoral Studies in partial fulfillment of the requirements for the degree Doctor of Philosophy (Computer Science1) Ottawa-Carleton Institute for Computer Science School of Information Technology and Engineering University of Ottawa Ottawa, Ontario, K1N 6N5 Canada © Andrew Forward, 2010 1 The Ph.D. program in Computer Science is a joint program with Carleton University, administered by the Ottawa Carleton Institute for Computer Science Acknowledgements A very special, and well-deserved, thank you to the following: a) Dr. Timothy C. Lethbridge. Tim has been a mentor of mine for several years, first as one of my undergraduate professors, later as my Master’s supervisor. Tim has again helped to shape my approach to software engineering, research and academics during my journey as a PhD candidate. b) The Complexity Reduction in Software Engineering (CRUISE) group and in particular Omar Badreddin and Julie Filion. Our weekly meetings, work with IBM, and the collaboration with the development of Umple were of great help. c) My family and friends. Thank you and much love Ayana; your support during this endeavor was much appreciated despite the occasional teasing about me still being in school. To my mom (and editor) Jayne, my dad Bill, my sister Allison and her husband Dennis. And, to my friends Neil, Roy, Van, Rob, Pat, and Ernesto – your help will be forever recorded in my work. Finally a special note to Ryan Lowe, a fellow Software Engineer that helped to keep my work grounded during our lengthy discussion about software development – I will miss you greatly.
    [Show full text]
  • Executable UML: a Foundation for Model Driven Architecture
    01-Introduction.fm Page 1 Wednesday, April 17, 2002 4:33 PM 1 Introduction Organizations want systems. They don’t want processes, meetings, mod- els, documents, or even code.1 They want systems that work—as quickly as possible, as cheaply as possible, and as easy to change as possible. Organizations don’t want long software development lead-times and high costs; they just want to reduce systems development hassles to the abso- lute minimum. But systems development is a complicated business. It demands distilla- tion of overlapping and contradictory requirements; invention of good abstractions from those requirements; fabrication of an efficient, cost- effective implementation; and clever solutions to isolated coding and abstraction problems. And we need to manage all this work to a successful conclusion, all at the lowest possible cost in time and money. None of this is new. Over thirty years ago, the U.S. Department of Defense warned of a “software crisis” and predicted that to meet the burgeoning need for software by the end of the century, everyone in the country would have to become a programmer. In many ways this prediction has come true, as anyone who has checked on the progress of a flight or made a stock trade using the Internet can tell you. Nowadays, we all write our own 1 Robert Block began his book The Politics of Projects[1] in a similar manner. 1 01-Introduction.fm Page 2 Wednesday, April 17, 2002 4:33 PM 2 INTRODUCTION programs by filling in forms—at the level of abstraction of the application, not the software.
    [Show full text]
  • Executing UML Models
    Executing UML Models Miguel Pinto Luz1, Alberto Rodrigues da Silva1 1Instituto Superior Técnico Av. Rovisco Pais 1049-001 Lisboa – Portugal {miguelluz, alberto.silva}@acm.org Abstract. Software development evolution is a history of permanent seeks for raising the abstraction level to new limits overcoming new frontiers. Executable UML (xUML) comes this way as the expectation to achieve the next level in abstraction, offering the capability of deploying a xUML model in a variety of software environments and platforms without any changes. This paper comes as a first expedition inside xUML, exploring the main aspects of its specification including the action languages support and the fundamental MDA compliance. In this paper is presented a future new xUML tool called XIS-xModels that gives Microsoft Visio new capabilities of running and debugging xUML models. This paper is an outline of the capabilities and main features of the future application. Keywords: UML, executable UML, Model Debugging, Action Language. 1. Introduction In a dictionary we find that an engineer is a person who uses scientific knowledge to solve practical problems, planning and directing, but an information technology engineer is someone that spends is time on implementing lines of code, instead of being focus on planning and projecting. Processes, meetings, models, documents, or even code are superfluous artifacts for organizations: all they need is well design and fast implemented working system, that moves them towards a new software development paradigm, based on high level executable models. According this new paradigm it should be possible to reduce development time and costs, and to bring new product quality warranties, only reachable by executing, debugging and testing early design stages (models).
    [Show full text]
  • Prodeling with the Action Language for Foundational UML
    Prodeling with the Action Language for Foundational UML Thomas Buchmann Chair of Applied Computer Science I, University of Bayreuth, Universitatsstrasse¨ 30, 95440 Bayreuth, Germany Keywords: UML, Java, Model-driven Development, Behavioral Modeling, Code Generation. Abstract: Model-driven software development (MDSD) – a software engineering discipline, which gained more and more attention during the last few years – aims at increasing the level of abstraction when developing a soft- ware system. The current state of the art in MDSD allows software engineers to capture the static structure in a model, e.g., by using class diagrams provided by the Unified Modeling Language (UML), and to generate source code from it. However, when it comes to expressing the behavior, i.e., method bodies, the UML offers a set of diagrams, which may be used for this purpose. Unfortunately, not all UML diagrams come with a precisely defined execution semantics and thus, code generation is hindered. Recently, the OMG issued the standard for an Action Language for Foundational UML (Alf), which allows for textual modeling of software system and which provides a precise execution semantics. In this paper, an integrator between an UML-based CASE tool and a tool for Alf is presented, which empowers the modeler to work on the desired level of ab- straction. The static structure may be specified graphically with the help of package or class diagrams, and the behavior may be added using the textual syntax of Alf. This helps to blur the boundaries between modeling and programming. Executable Java code may be generated from the resulting Alf specification. 1 INTRODUCTION days need to manually supply method bodies in the code generated from structural models.
    [Show full text]
  • Textual, Executable, Translatable UML⋆
    Textual, executable, translatable UML? Gergely D´evai, G´abor Ferenc Kov´acs, and Ad´amAncsin´ E¨otv¨osLor´andUniversity, Faculty of Informatics, Budapest, Hungary, fdeva,koguaai,[email protected] Abstract. This paper advocates the application of language embedding for executable UML modeling. In particular, txtUML is presented, a Java API and library to build UML models using Java syntax, then run and debug them by reusing the Java runtime environment and existing de- buggers. Models can be visualized using the Papyrus editor of the Eclipse Modeling Framework and compiled to implementation languages. The paper motivates this solution, gives an overview of the language API, visualization and model compilation. Finally, implementation de- tails involving Java threads, reflection and AspectJ are presented. Keywords: executable modeling, language embedding, UML 1 Introduction Executable modeling aims at models that are completely independent of the ex- ecution platform and implementation language, and can be executed on model- level. This way models can be tested and debugged in early stages of the devel- opment process, long before every piece is in place for building and executing the software on the real target platform. Executable and platform-independent UML modeling changes the landscape of software development tools even more than mainstream modeling: graphical model editors instead of text editors, model compare and merge instead of line based compare and merge, debuggers with graphical animations instead of de- buggers for textual programs, etc. Figure 1 depicts the many different use cases such a toolset is responsible for. Models are usually persisted in a format that is hard or impossible to edit directly, therefore any kind of access to the model is dependent on different features of the modeling toolset.
    [Show full text]
  • Wp1-T12€: Evaluation Xml/Xmi
    WP1-T12 : EVALUATION XML/XMI RAPPORT N° CS/311-1/AJ000212/RAP/02/04/05 Version 1.0 (Version provisoire du 10/7 qui sera complétée par Charles MODIGUY) Préparé par CS SI Division Opérationnelle Ingénierie Scientifique Centre Opérationnel France Nord 16 avenue Galilée 92350 LE PLESSIS ROBINSON Rédigé dans le cadre du projet NOM(S) DATE(S) VISA(S) REDACTEUR(S) Michel NAKHLE 10/07/02 VERIFICATEUR(S) APPROBATEUR CS SI 16 avenue Galilée 92350 LE PLESSIS ROBINSON 01 58 33 70 50 " 01 58 33 70 99 © Ce document est la propriété exclusive de CS SI. Il ne peut être ni reproduit ni communiqué à un tiers sans autorisation préalable. CS/311- WP1-T12 : Evaluation XML/XMI 1/AJ000212/RAP/02/0 4/05 Version 1.0 FICHE DE SUIVI DES MODIFICATIONS Description des Version/Révision Références Auteur(s) modifications Indice Date Page N° § Première partie : l’existant. 19/04/02 Les résultats de l’évaluation 1.0 – étant à compléter par Michel NAKHLE 10/07/02 Charles Modiguy Rapport complet : Reste à Michel NAKHLE & 2.0 produire Charles MODIGUY CS SI 16 avenue Galilée 92350 LE PLESSIS ROBINSON 01 58 33 70 50 " 01 58 33 70 99 2/50 © Ce document est la propriété exclusive de CS Cisi. Il ne peut être ni reproduit ni communiqué à un tiers sans autorisation préalable. CS/311- WP1-T12 : Evaluation XML/XMI 1/AJ000212/RAP/02/0 4/05 Version 1.0 CS SI 16 avenue Galilée 92350 LE PLESSIS ROBINSON 01 58 33 70 50 " 01 58 33 70 99 3/50 © Ce document est la propriété exclusive de CS Cisi.
    [Show full text]
  • Experiences in Applying Architecture-Centric Model Based System Engineering to Large-Scale, Distributed, Real-Time Systems
    Experiences in Applying Architecture-Centric Model Based System Engineering to Large-Scale, Distributed, Real-Time Systems THOMAS M. WHEELER The MITRE Corporation,M/S 1630B, 202 Burlington RD., Bedford, MA 01730 [email protected] (781) 377-7010 MICHAEL D. BROOKS Northrop Grumman Corporation, 2000 West NASA BLVD., Melbourne, FL 32902 [email protected] (321) 726-7708 Experiences in applying Model Based Systems Engineering (MBSE) techniques on a large-scale, distributed, real-time system are presented. Challenges and applied approaches with associated lessons learned are described for both technical and socialogical issues. Examples of technical issues addressed include: defining timing requirements and analyzing the ramifications of design choices on these requirements; early execution of the design for behavior analysis to include the use of realistic publish and subscribe mechanisms; managing the rapidly evolving design model so that a large number of engineers can make modifications to it (including the need to incorporate practices of managing software builds); and incorporating legacy software into an MBSE approach. Socialogical issues addressed include: using MBSE to work as a team when members span multiple organizations and technical/business domains; the need for a variety of views of the model based on team members backgrounds (i.e., one type of view such as UML will not meet all needs); information hiding so that there is one logically consistent model, yet parts of it can be hidden from some members of the team (for example, when individuals may not have a security clearence that allows them to see certain aspects of the design); and aspects of MBSE that need to be accounted for when creating project schedules (for example, there may need to be model integration periods scheduled similar to software integration periods).
    [Show full text]
  • Demystifying UML Stephen J Mellor What Is UML—Exactly? How Is It Being Used? by Whom? Are There Many Ways to Use It, Or Is
    Demystifying UML Stephen J Mellor What is UML—exactly? How is it being used? By whom? Are there many ways to use it, or is there one true way? Does it apply to embedded and real-time systems? How? Really? What are the popular ways to use UML? How effective has it been? Why are there so many tools? Why do they seem to be so different—even though UML is a standard? What should I look for in a tool? Will using UML change my development process? Make it faster? Or not? Build better quality systems? Or is it all hype? If these, and myriad more, questions bombard you when you think about UML, this article is for you. It answers these questions and more by laying out the provenance of the language; its various usage styles, subsets and extensions, including real-time profiles; where it is being used and with what degree of success. A brief self-assessment is included to help you determine whether your team is ready for UML, and if so, how. What is UML—exactly? The Unified Modeling Language is a graphical (and textual) way to describe systems standardized by the Object Management Group. The OMG is a not-for-profit consortium of users and vendors dedicated to interoperability of object-oriented systems. For a user (i.e. a developer), the UML presents itself as a notation for common object-oriented concepts. For example, before the UML was standardized some folk represented a class as a box, and others a cloud, each with variations for attributes and other properties of a class.
    [Show full text]
  • Metamodelling for MDA
    Metamodelling for MDA First International Workshop York, UK, November 2003 Proceedings Edited by Andy Evans Paul Sammut James S. Willans Table of Contents Preface ........................................................ 4 Principles Calling a Spade a Spade in the MDA Infrastructure ................... 9 Colin Atkinson and Thomas K¨uhne Do MDA Transformations Preserve Meaning? An investigation into preservingsemantics ........................................... 13 Anneke Kleppe and Jos Warmer MDA components: Challenges and Opportunities ..................... 23 Jean B´ezivin, S´ebastien G´erard, Pierre-Alain Muller and Laurent Rioux SafetyChallengesforModelDrivenDevelopment ..................... 42 N. Audsley, P. M. Conmy, S. K. Crook-Dawkins and R. Hawkins Invited talk: UML2 - a language for MDA (putting the U, M and L intoUML)?................................................... 61 Alan Moore Languages and Applications Using an MDA approach to model traceability within a modelling framework .................................................... 62 John Dalton, Peter W Norman, Steve Whittle, and T Eshan Rajabally Services integration by models annotation and transformation .......... 77 Olivier Nano and Mireille Blay-Fornarino 1 A Metamodel of Prototypical Instances .............................. 93 Andy Evans, Girish Maskeri, Alan Moore Paul Sammut and James S. Willans Metamodelling of Transaction Configurations ......................... 106 StenLoecherandHeinrichHussmann Invitedtalk:MarketingtheMDAToolChain......................... 109 Stephen
    [Show full text]
  • Real Models Are Really on M0 - Or How to Make Programmers Use Modeling
    Real Models are Really on M0 - Or How to Make Programmers Use Modeling Joachim Fischer1 a, Birger Møller-Pedersen2 b and Andreas Prinz3 c 1Department of Computer Science, Humboldt University, Berlin, Germany 2Department of Informatics, University of Oslo, Oslo, Norway 3Department of ICT, University of Agder, Grimstad, Norway fi[email protected], birger@ifi.uio.no, [email protected] Keywords: Model, System, Language, Ontological Modeling. Abstract: This paper discusses the term ’model’ and the role of the level M0 in the four-layer metamodeling architecture of MOF/OMG. It illustrates the failures of the OMG MOF standard and how a model is an abstraction, not a description. We apply two simple approaches: (1) observing the use of models (of real or planned systems) in system development, including prototyping, simulations, and models in general, and (2) comparing modeling with programming. These approaches lead to the conclusion that models should be placed on M0, while UML models are model descriptions. This conclusion leads to a better understanding of InstanceSpecification for description of snapshots, and of metamodeling applied to ontologies. 1 INTRODUCTION standing by looking at the use of models in systems development, thereby giving the right role to models. Modeling and programming communities are diverg- The ultimate goal of systems development is to ing, each developing their own languages and tools1. produce systems, i.e. changing sets of executing ob- Programmers mainly focus on (program) execu- jects that interact with each other and with entities in tions, while modellers handle different kinds of what the environment of the systems. Systems are made in the modeling community are called models (do- using various kinds of descriptions, ultimately pro- main models, requirements and design models) in a grams from which executions with objects (on level mixture of diagrams and text.
    [Show full text]