Model-Driven Development: A Metamodeling Foundation
|
|
|
- Ralf Black
- 10 years ago
- Views:
Transcription
1 Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim Mannheim, Germany [email protected] Thomas Kühne Darmstadt University of Technology Darmstadt, Germany [email protected] KEYWORDS model driven development requirements, metamodeling, language definition, domain meta concepts ABSTRACT There is general agreement that metamodeling is an essential foundation for model driven development, but there is less consensus on the precise form it should take and role it should play. In this article we first analyze the underlying motivation for modeldriven development and then derive a concrete set of requirements that a supporting infrastructure should satisfy. In particular, we discuss why the traditional language definition interpretation of metamodeling is not a sufficient foundation, and explain how it can be extended to unlock the full potential of model driven development. 1 INTRODUCTION Ever since human beings started to program computers, software engineers have been working to raise the level of abstraction at which this activity takes place. The first FORTAN compiler was a major milestone in computer science since, for the first time, it allowed programmers to specify what the machine should do rather than how it should do it. The raising of programming abstraction levels has continued apace since then, and today s objectoriented languages enable programmers to tackle problems of a complexity undreamt of in the early days of programming. Model driven development (MDD) [1, 2] can be regarded as a natural continuation of this trend. Instead of requiring developers to use a programming language spelling out how a system is implemented, it allows them to use models to specifying what system functionality is required and what architecture is to be used. This move to yet higher-levels of specification holds the potential to drastically reduce the complexity of problems considered to be hard by today s standards. Issues like object allocation, method lookup, exception handling, etc. which had to be programmed manually in the past are nowadays handled automatically by compilers behind the scenes. The aim of MDD is to achieve the same degree of automation for issues which today are very complex when dealt with manually, such as system persistence, interoperability, distribution, etc. Because of its potential, many MDD initiatives are underway and companies are already trying to deliver supporting technology. However, there is no universally accepted definition of precisely what MDD is and what support for MDD entails. In particular, many requirements for MDD support where they have been identified remain implicit. In this article we therefore first review the underlying motivations for MDD and then derive a concrete set of requirements that MDD infrastructures should support. We finally analyze the technical implications of these requirements and discuss some of the basic principles by which they can be supported. 2 REQUIREMENTS FOR MODEL DRIVEN DEVELOPMENT The underlying motivation for model-driven development is to improve productivity that is, to increase the return that a company derives from its software development effort. It delivers this benefit in two basic ways 1. by improving the short-term productivity of developers that is, by increasing the value of primary software artifacts in terms of how much functionality they deliver. 1
2 2. by improving the long-term productivity of developers that is, by reducing the rate at which primary software artifacts become obsolete. The level of short-term productivity depends on how much functionality can be derived from a primary software artifact. The more executable functionality that can be generated, the higher the productivity. To date, most tool support for MDD is centered around this form of productivity, i.e., most tool vendors have focused their efforts on automating the production of code from visual models. However, this only tackles one of the two main aspects of MDD. The level of long-term productivity depends on the longevity of a primary software artifact. The longer an artifact remains of value, the greater the return derived from the effort that went into the creation of that artifact. Thus, a second and strategically even more important aspect of MDD is reducing the sensitivity of primary artifacts to change. Four main fundamental forms of change (I)-(IV) are of particular importance: I) Personnel As long as certain vital development knowledge is stored only in the minds of developers, such information will be lost in the all too frequent event of personnel fluctuations. To ensure that software artifacts outlive the tenure of their creator it is, therefore, essential that they be made accessible and useful to as wide a range of people as possible. In addition to being presented in as concise a way as possible, they should also take a form which maximizes the ease with which they can be understood by all interested stakeholders (including customers). The implication for the technical level is that primary software artifacts can be expressed using a concise and tailorable presentation. II) Requirements Changing requirements have always been a big problem in software engineering, but never more so than today. Not only must new features and capabilities be supplied at an ever increasing rate, but the impact of these changes on existing parts of the system must be low in terms of both maintenance efforts and in terms of disrupting online-systems. Today s enterprise applications cannot simply be taken offline for extended periods of time in order to be extended. Instead, changes must be realized while a system is running. At a technical level, this implies the need to support the dynamic addition of new types at runtime. III) Development Platforms Development platforms are also in a state of constant evolution. Yet, primary software artifacts are dependent on the particular tool that created them, i.e., their lifetime is limited by the corresponding tool lifetime. This strongly suggests that artifacts should be decoupled from their development tools. Consequently, another technical requirement is that tools should store artifacts in formats that can be used by other tools, in other words, they should support highlevels of interoperability. IV) Deployment Platforms Yet another growing problem for software organizations is keeping up with the rate of platform evolution. No sooner have developers mastered one new platform technology then another one comes along to take its place 1. To increase the lifetime of primary software artifacts it is therefore necessary to shield them from changes at the platform level. Technically this means that it is necessary to automate (to the greatest extent possible) the process of obtaining platform specific software artifacts from platform independent ones through the application of user definable mappings. All these different forms of change can occur concurrently, so the techniques used to accommodate them must be at least compatible with one another, and at best complement each other synergistically. However, before one proceeds to pick and enhance existing techniques for this purpose, it is useful to summarize which technical requirements they should support. The need for concise models (I) can be addressed by providing a visual modeling language (see bullets (1)- (3) below). Requiring models to be tailorable (I) and to enable the addition of new types at runtime (II) implies that the modeling language needs to be dynamically extensible (see (4) below). Finally, interoperability between tools (III) and user definable mappings from models to other models or code (IV) must be supported (see (5) & (6) below). In summary, a model driven development supporting infrastructure must define: 1 1. the concepts that are available for the creation of models and the rules governing their use. 2. the notation to be used in the depiction of models. This is the form of change which is usually associated with the MDD/MDA approach. 2
3 3. how the elements of a model relate to (i.e., represent) real world elements, including software artifacts. 4. concepts to facilitate dynamic user extensions to (1) and (2), and models created from them. 5. concepts to facilitate the interchange of (1) and (2), and models created from them. 6. concepts to facilitate user defined mappings from models to other artifacts (including code). Having clarified what capabilities we would like an MDD infrastructure to provide, we can turn our attention to how these requirements can be satisfied. In particular, we identify what approaches need to be integrated and what basic form they should take. 3 TOWARDS AN MDD INFRASTRUCTURE As established above it is clear that visual modeling is one of the technological foundations for a technological MMD support, addressing requirements (1)-(3). It has a long record of success in engineering disciplines, including software engineering, since it makes effective use of human visual perception. The technology which has the best track record at supporting the flexible choice of modeling concepts (1) and extendable languages (4) (in its static form) is object-orientation. Object-oriented languages enable language users to extend the set of available types. Thus, object-orientation is generally accepted as one of the other key foundations of model driven development. Finally, the approach which has been the most effective at addressing the issues defined by requirements (5)-(6) is the use of metalevel descriptions. Beyond that, metalevel descriptions are also vital for supporting both static and dynamic aspects of requirement (4). Only with a metalevel above user types can models be fully customized to a certain domain or class of stakeholders, and only with a metalevel above classes is it possible to add new types dynamically at runtime 2. Thus, all four forms of change essentially call for a descriptive metalevel which can be systematically accessed and manipulated by humans and tools. The challenge that we face in creating an infrastructure for model driven development is therefore to optimally integrate visual modeling, object-orientation, and metalevel description. In the following we first analyze the existing approach for doing this and then suggest some enhancements that 2 Not counting techniques that emulate this effect. better address the complete list of technical requirements (1)-(6). 3.1 Traditional MDD Infrastructure Figure 1 illustrates the traditional four layer infrastructure that underpins the first generation of MDD technologies namely the UML [3] and the MOF [4]. M 3 M 2 M 1 M 0 instance_of instance_of instance_of MOF UML Concepts User Concepts User Data Figure 1 Traditional OMG Modeling Infrastructure This infrastructure consists of a hierarchy of model levels, each (except the top) being characterized as an instance of the level above. The bottom level, also referred to as M 0 is said to hold the user data, i.e., the actual data objects the software is designed to manipulate. The next level, M 1, is said to hold a model of the M 0 user data. This is the level at which user models reside. Level M 2 is said to hold a model of the information at M 1. Since it is a model of a (user) model, it is often referred to as a metamodel. Finally, level M 3 is said to hold a model of the information at M 2, and hence is often characterized as the meta-metamodel. For historical reasons it is also referred to as the MOF (Meta Object Facility). This venerable four layer architecture has the advantage of easily accommodating new modeling standards (e.g., the CWM) as instances of MOF at the M 2 level. MOF aware tools can thus support the manipulation of new modeling standards and enable information interchange across MOF compatible modeling standards. Although it has been a successful foundation for the first generation of MDD technologies, this traditional infrastructure does not scale up well to handle all technical requirements (1)-(6). In particular, four key problems can be identified. a) There is no explanation of how entities within the infrastructure relate to the real world. Are the real 3
4 world elements accommodated within the infrastructure or do they lie outside? b) There is an implication that all relationships between elements are of fundamentally the same kind. Is this a valid approach or should one be more discriminating? c) There is no explicit principle for judging at which level a particular element should reside. Using a single relationship to define the metalevels 3 always seems to introduce inconsistencies in one way or the other. Is it at all possible to use instantiation to define metalevel boundaries and if so how? d) There is a preference for the use of metalevel description (sometimes in the form of stereotypes) to provide predefined concepts. How can the other way of supplying predefined concepts libraries of (super)-types, to be used or specialized be integrated within the architecture? To address these problems it is necessary to adopt a more sophisticated view of the role of metamodeling in MDD and to refine the simple one-size-fits-all view of instantiation. Regarding all relationships as being of essentially the same form and playing the same role does not scale up well for all requirements (1)-(6). Instead, it is helpful to identify two separate orthogonal dimensions of metamodeling, giving rise to two distinct forms of instantiation [6, 7]. One dimension is concerned with language definition and hence makes use of instantiation. The other dimension is concerned with domain definition and thus uses ontological instantiation. Both forms occur simultaneously, and serve to precisely locate a model element with the language-ontology space. 3.2 Linguistic Metamodeling As stated before, technical requirements (1)-(3) essentially state the need for a language definition capability (see Table 1). Much of the recent work on enhancing the infrastructure has therefore focused on the use of metamodeling as a language definition tool. With this emphasis, the relationship is viewed as being dominant, and levels M 2 and M 3 are essentially viewed as being language definition layers. This approach relegates ontological 3 Sometimes know as the strictness condition for metamodelling. concept purpose UML solution abstract syntax concrete syntax wellformedness semantics the concepts from which models are created (1) concrete rendering of these concepts (2) rules for the application of the concepts (1) description of the meaning of a model (3) class diagram at level M 2 UML notation, informally specified constraints on the abstract syntax (e.g., using OCL) natural language specification Table 1 Language Definition relationships, which relate user concepts to their domain types, to a secondary role. In other words, whereas relationships cross (and in fact form the basis for) metalevels, ontological relationships do not cross such levels, but relate entities within a given level. Figure 2 shows this latest interpretation of the four layer architecture as embraced by the forthcoming UML 2.0 and MOF 2.0 standards. Although the latter take a predominantly view, it is very useful to nevertheless let ontological (intra-level) instantiation establish its own kind of ontological (vertical) meta level boundaries, as indicated by the different shades within level M 1 in Figure 2. As well as making the existence of two orthogonal metadimensions explicit, Figure 2 also illustrates the relationship between model elements and corresponding real world elements. The M 0 level is no longer inhabited by user objects, but rather by the real world elements that they model 4. Note that the real Lassie is said to be represented by object Lassie, i.e., is no longer used to characterize the real Lassie as an instance of 5. User objects (i.e., model representatives of real world objects 6 ) now occupy the M 1 level, along with the types of 4 The lightbulb is meant to denote the mental concept. 5 It is possible to make such a statement, but it remains a derived property of the real Lassie (via object Lassie). 6 Note that user data is also considered to be part of the real world, even though it is artificial and may even represent other real world elements. 4
5 which they are (ontological) instances. From level M 1 on, every level is regarded as a model expressed in the language defined at the level above. M 3 another ontological level (O 2 ), showing that can be regarded as an instance of Breed. An ontological metatype such as Breed not only distinguishes types like and Poodle from other types such as CD and DVD but can also be used to define breed properties, for example, where a particular breed first originated or from what other breed it was developed. L 0 L 1 M 2 type instance Object O 2 Breed Metaclass type O 1 O 0 ontological M 1 ontological Lassie O 1 instance type ontological M 0 O 0 Lassie Object instance Figure 2 Linguistic Metamodeling View 3.3 Ontological Metamodeling Although metamodeling 7 addresses many of the technical requirements, it is not sufficient on its own. In particular, requirement (4) requires the capability to dynamically extend the set of domain types available for modeling, and this in turn requires the capability to define domain metatypes (i.e., types of types). We refer to this form of metamodeling as ontological metamodeling since it is concerned with describing what concepts exist in a certain domain and what properties they have. Figure 2 actually already contains an example of ontological instantiation. The model element Lassie is an ontological instance of, and thus resides at a lower ontological level than. This expresses the fact that in the real world, the mental concept is the logical type of Lassie. Figure 2 only contains two ontological model levels (O 0 & O 1 ) both contained within the level M 1, but this dimension can be naturally extended to give further ontological levels. Figure 3 features 7 Previously also referred to as physical metamodeling [EssenceReference]. Figure 3 Ontological Metamodeling View Figure 2 also makes another very important point regarding the relationship of the two meta dimensions ( and ontological), since it is in fact a 90 degree clockwise rotation of Figure 2 (with level O 2 added). Instead of arranging the metalevels horizontally, so as to suggest that the metalevels of the traditional infrastructure are, Figure 3 arranges the ontological metalevels horizontally so as to suggest that the traditional metalevels are ontological. Both arrangements are equally valid because the traditional infrastructure made no distinction between ontological or instantiation, and thus made no choice about the meaning of its metalevels. Not only are both arrangements (or viewpoints) equally valid, they are equally useful. Just as ontological metmodeling is relegated to a secondary role when the viewpoint is emphasized, the metmodeling is relegated to a secondary role when the ontological viewpoint is emphasized. Ideally, therefore, ontological and metamodeling should be given equal importance in an MDD infrastructure, and neither should be subservient to the other. Unfortunately this is not the case in most of the recent infrastructure proposals. In the case of the UML2.0/MOF2.0 it is the 5
6 dimension which is emphasized. Levels O o & O 1 exist within M 1 but are not explicitly separated by a metalevel boundary. Ontological metamodeling is not excluded per se, but the encouraged mechanisms for enabling it profiles and stereotypes have known limitations. While it is possible to express that is an instance of Breed (see Figure 4), the full arsenal of M 1 modeling concepts is not available for stereotype modeling, e.g., a visual model of associations and generalization relationships between metaconcepts. «Breed» Figure 4 Ontological metamodeling through stereotypes However, being able to freely model with metaconcepts (i.e., make full use of an O 2 level) has long been recognized as being useful. Being able to make use of metaconcepts such as TreeSpecies [5] or Breed is a big advantage. Figure 5 shows perhaps one of the most mature and established examples of ontological metamodeling, the biological taxonomy for living beings. Metaconcepts such as Breed, Species, etc. serve to allow new classes of creatures to be added to the taxonomy. In a software system, they would facilitate the dynamic addition of new types at runtime. Note that it is not possible to cast Breed, Species, etc. as supertypes at the O 1 level. While it makes sense to say that Lassie is a, Dog, etc. it does not make sense to say that Lassie is a Breed, Species, etc. Also, it is not a problem to accommodate level O 3 (see Figure 5) within the ontological meta-dimension, while stereotypes are not designed to support this. Biological Rank O 3 Kingdom Phylum Order Genus Species Breed O 2 Animal Chordate Mammal Carnivore Canine Dog O 1 Lassie O 0 Figure 5 Ontological Metamodel of Biological ification Ontological metamodeling is particularly important for model driven development because it is explicitly called for in two of the main strategies for model transformation defined in the MDA Users guide [8]. First, it is the basis for the marking mechanism which is envisaged as one of the key ways to support the user-driven definition of model transformation, that is, to enable the use of technical requirement (6). Second, it serves as the basis for defining mappings in the framework-based version of type level transformation [8]. This assumes the existence of an ontologically predefined set of superclasses (with associated predefined mappings) which users specialize with their own application classes. 4 FINAL REMARKS In this article we have defined a concrete set of requirements that an ideal MDD infrastructure should support, and have argued that the explicit distinction of two orthogonal forms of metamodeling and ontological is the key to fixing some of the problems in the first generation MDD infrastructure and to scaling it up to satisfy all of the identified requirements. The forthcoming revision of the OMG s MDD infrastructure in the UML2.0/MOF2.0 standards a significant step forward in this regard in that for the first time it accommodates two distinct forms of instantiation. However, two significant problems remain. First, although the distinction is present, it is not made explicit enough. For instance, while metalevel boundaries are recognized, ontological boundaries do not exist. Moreover, when coupled with the fact that stereotypes are the strongly preferred mechanism for metamodeling, there is a strong suggestion metamodeling is the only meaningful form of metamodeling. Second, in the current profile mechanism there is still a major bias in favor of defining predefined concepts at the meta-level (i.e. as part of the modeling language, given the current infrastructure preoccupation with metalevels) rather than as regular user types at the M 1 level. This is despite the fact that libraries or frameworks at the M 1 level have established a strong track record for making predefined concepts available for direct use or specialization by users. In fact, this form of reuse and predefinition is explicitly exploited in the MDA User Guide as a means for defining reusable type mappings. Despite this reservation, the new OMG MDD infrastructure does represent a significant step 6
7 forward and provides most of the identified technical capabilities. We hope that the discussion in this paper might help improve subsequent versions of the infrastructure in the future. 4 REFERENCES 1. J. Mukerji & J. Miller (ed), Model Driven Architecture, July David S. Frankel, Model Driven Architecture: Applying MDA to Enterprise Computing, OMG Press, Object Management Group, Unified Modelling Language 1.5 specification, March Object Management Group, Meta-Object Facility 1.4 specification, April J. Odell, Power Types, Journal of Object- Oriented Programming, May Colin Atkinson and Thomas Kühne, Rearchitecting the UML Infrastructure ACM journal "Transactions on Modeling and Computer Simulation", Vol. 12, No. 4, Jean Bézivin and Richard Lemesle, Ontology- Based Layered Semantics for Precise OA&D Modeling, Proceedings of the ECOOP'97 Workshop on Precise Semantics for Object-Oriented Modeling Techniques, editors Haim Kilov and Bernhard Rumpe, OMG, MDA Guide V1.0, May
What is a metamodel: the OMG s metamodeling infrastructure
Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova [email protected] http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid
Mapping between Levels in the Metamodel Architecture
Mapping between Levels in the Metamodel Architecture José Álvarez, Andy Evans 2, Paul Sammut 2 Dpto. de Lenguajes y Ciencias de la Computación, University Málaga, Málaga, 2907, Spain [email protected]
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Towards a Common Metamodel for the Development of Web Applications
Towards a Common Metamodel for the Development of Web Applications Nora Koch and Andreas Kraus Ludwig-Maximilians-Universität Munich, Germany Motivation Overwhelming diversity of Web methodologies Goal:
SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation
Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since
Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1
The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions
An MDA Approach for the Development of Web applications
An MDA Approach for the Development of Web applications Santiago Meliá Beigbeder and Cristina Cachero Castro {santi,ccachero}@dlsi.ua.es Univesidad de Alicante, España Abstract. The continuous advances
Meta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development
Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany [email protected]
Business Process Modeling and Standardization
Business Modeling and Standardization Antoine Lonjon Chief Architect MEGA Content Introduction Business : One Word, Multiple Arenas of Application Criteria for a Business Modeling Standard State of the
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
The value of modeling
The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article
A UML 2 Profile for Business Process Modelling *
A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
From Business World to Software World: Deriving Class Diagrams from Business Process Models
From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: [email protected];
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling
UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling PATHS TO DOMAIN-SPECIFIC MODELING... 1 UML PROFILING... 2 The Origin of the UML Profiling Specifications... 2 The Vision...
Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform
Driven and Oriented Integration---The Method, Framework and Platform Shuangxi Huang, Yushun Fan Department of Automation, Tsinghua University, 100084 Beijing, P.R. China {huangsx, fanyus}@tsinghua.edu.cn
Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *
for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston [email protected] and [email protected] Abstract. This
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
SERENITY Pattern-based Software Development Life-Cycle
SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
Modeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
Developing in the MDA Object Management Group Page 1
Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG
Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1
Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra
Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.
Co-Creation of Models and Metamodels for Enterprise Architecture Projects Paola Gómez [email protected] Hector Florez [email protected] ABSTRACT The linguistic conformance and the ontological
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Semantic-enabled Software Engineering and Development
Semantic-enabled Software Engineering and Development Bernhard Bauer, Stephan Roser Programming of Distributed Systems, University of Augsburg, 86135 Augsburg [bauer roser]@informatik.uni-augsburg.de Abstract:
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Quality Ensuring Development of Software Processes
Quality Ensuring Development of Software Processes ALEXANDER FÖRSTER,GREGOR ENGELS Department of Computer Science University of Paderborn D-33095 Paderborn, Germany {alfo engels}@upb.de ABSTRACT: Software
FHIM Model Content Overview
FHIM Model Content Overview Federal Health Information Model (FHIM) and Associated Terminology Models Goal Produce a logical, health information model that supports semantic interoperability and that is
Overview of major concepts in the service oriented extended OeBTO
Modelling business policies and behaviour based on extended Open edi Business Transaction Ontology (OeBTO) Introduction Model Driven Development (MDD) provides a basis for the alignment between business
A Taxonomy of Metamodel Hierarchies
A Taxonomy of Metamodel Hierarchies Ralf Gitzel, Tobias Hildenbrand Department of Information Systems University of Mannheim, Schloss D-68131 Mannheim, Germany Tel.: +49 621 181 1642 email: [email protected],
Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems
1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data
Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data Randall M. Hauch VP Development, Chief Architect Metadata Management OMG's Second Workshop on UML for Enterprise Applications:
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Ontological Representations of Software Patterns
Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software
Clarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
CIM to PIM Transformation: A criteria Based Evaluation
ISSN:2229-6093 CIM to PIM Transformation: A criteria Based Evaluation Abdelouahed KRIOUILE *, Taoufiq GADI, Youssef BALOUKI Univ Hassan 1, LAVETE Laboratory, 26000 Settat, Maroc * E-mail of the corresponding
Document Engineering: Analyzing and Designing the Semantics of Business Service Networks
Document Engineering: Analyzing and Designing the Semantics of Business Service Networks Dr. Robert J. Glushko University of California Berkeley [email protected] Tim McGrath Universal Business
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
Towards Collaborative Requirements Engineering Tool for ERP product customization
Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,
Agile Test-based Modeling
Agile Test-based Modeling Bernhard Rumpe Software Systems Engineering TU Braunschweig, Germany www.sse.cs.tu-bs.de Model driven architecture (MDA) concentrates on the use of models during software development.
BUSINESS RULES AND GAP ANALYSIS
Leading the Evolution WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Discovery and management of business rules avoids business disruptions WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Business Situation More
Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert
Int'l Conf. Software Eng. Research and Practice SERP'15 225 Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and
MDE Adoption in Industry: Challenges and Success Criteria
MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
Designing a Semantic Repository
Designing a Semantic Repository Integrating architectures for reuse and integration Overview Cory Casanave Cory-c (at) modeldriven.org ModelDriven.org May 2007 The Semantic Metadata infrastructure will
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Jack Greenfield Keith Short WILEY Wiley Publishing, Inc. Preface Acknowledgments Foreword Parti Introduction to
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de
Domain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software Development Karsten Klein, hybrid labs, January 2007 Version: 1.0 Introduction Eric Evans Book Domain Driven Design was first published end of 2003 [Evans2003].
Model-Driven Data Warehousing
Model-Driven Data Warehousing Integrate.2003, Burlingame, CA Wednesday, January 29, 16:30-18:00 John Poole Hyperion Solutions Corporation Why Model-Driven Data Warehousing? Problem statement: Data warehousing
Model Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
Ontologies for Software Engineering and Software Technology
Coral Calero Francisco Ruiz Mario Piattini (Eds.) Ontologies for Software Engineering and Software Technology With 84 Figures and 46 Tables y Springer Contents 1. Ontological Engineering: Principles, Methods,
Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture
Business Business Services Services and Enterprise and Enterprise This Workshop Two parts Background: Business Value of Enterprise TOGAF s and the Business Services We will use the key steps, methods and
Enterprise and Business Processes - How to Interoperate? The Standards View
Enterprise and Business Processes - How to Interoperate? The Standards View Kurt Kosanke 1, Richard Martin 2 1 CIMOSA Association, Germany 2 a. [email protected] Tinwisle, USA, Convenor of ISO TC 184 SC5/WG1
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
MDA Transformations Applied to Web Application Development 1
MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED BUSINESS INTEGRATION MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED BUSINESS INTEGRATION MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
Enterprise Architecture at Work
Marc Lankhorst et al. Enterprise Architecture at Work Modelling, Communication and Analysis Third Edition 4y Springer Contents 1 Introduction to Enterprise Architecture 1 1.1 Architecture 1 1.2 Enterprise
Model-Driven Architecture: Vision, Standards And Emerging Technologies
1 Model-Driven Architecture: Vision, Standards And Emerging Technologies Position Paper Submitted to ECOOP 2001 Workshop on Metamodeling and Adaptive Object Models John D. Poole Hyperion Solutions Corporation
Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations
Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank and IT University
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Protégé/OWL
Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Protégé/OWL Holger Knublauch Stanford Medical Informatics, Stanford University, CA [email protected]
Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence
Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence OMG First Workshop on UML in the.com Enterprise: Modeling CORBA, Components, XML/XMI and Metadata November
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
Elite: A New Component-Based Software Development Model
Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-
Chapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
Using UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins
Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins Rushiraj Heshi Department of Computer Science and Engineering Walchand College of Engineering, Sangli Smriti
A methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 [email protected] 1. Introduction A good percentage of the
CHAPTER 2 LITERATURE SURVEY
CHAPTER 2 LITERATURE SURVEY This chapter describes the survey of existing literature on multiple views. Later, it presents literature survey conducted on frameworks for tool comparison and stakeholder
Introduction to Software Paradigms & Procedural Programming Paradigm
Introduction & Procedural Programming Sample Courseware Introduction to Software Paradigms & Procedural Programming Paradigm This Lesson introduces main terminology to be used in the whole course. Thus,
Evaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
Semantic Transformation of Web Services
Semantic Transformation of Web Services David Bell, Sergio de Cesare, and Mark Lycett Brunel University, Uxbridge, Middlesex UB8 3PH, United Kingdom {david.bell, sergio.decesare, mark.lycett}@brunel.ac.uk
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object Anne Monceaux 1, Joanna Guss 1 1 EADS-CCR, Centreda 1, 4 Avenue Didier Daurat 31700 Blagnac France
Software Architecture
Cairo University Faculty of Computers and Information Computer Science Department Premasters Studies Software Architecture Report on Software Product Line Submitted to: Dr. Hany Ammar Submitted by: Hadeel
Model Based Software Development: Issues & Challenges
N Md Jubair Basha 1, Salman Abdul Moiz 2 & Mohammed Rizwanullah 3 1&3 IT Department, Muffakham Jah College of Engineering & Technology, Hyderabad, India 2 IT Department, MVSR Engineering College, Hyderabad,
UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application
UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application Siti Azreena Mubin Faculty of Computer Science and Information Technology, Universiti Putra Malaysia, 43400 Serdang,
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE
Rules and Business Rules
OCEB White Paper on Business Rules, Decisions, and PRR Version 1.1, December 2008 Paul Vincent, co-chair OMG PRR FTF TIBCO Software Abstract The Object Management Group s work on standards for business
