Umple: An Open-Source Tool for Easy-To-Use Modeling, Analysis, and Code Generation
|
|
|
- Arnold Palmer
- 9 years ago
- Views:
Transcription
1 Umple: An Open-Source Tool for Easy-To-Use Modeling, Analysis, and Code Generation Timothy C. Lethbridge School of Electrical Engineering and Computer Science University of Ottawa, Canada K1N 6N5 Abstract. We demonstrate the Umple technology, which allows software developers to blend abstract models, including class-, state- and composite structure diagrams textually into their Java, C++ or PhP code. Umple is targeted at developers who prefer textual programming but also want additional abstractions in order to simplify their software and improve its quality. Umple development has involved over 60 people, mostly at Canadian and US universities, and is used to develop itself. Several systems have been umplified converted into Umple thus raising their abstraction and reducing code volume. The accompanying video can be found at Keywords: Code generation, Textual Modeling, Umple, UML, State Machines 1 Introduction Umple is a multi-faceted technology allowing users to integrate modeling into software development straightforwardly. It supports modeling using class diagrams, state machines and composite structure diagrams, and provides a textual syntax for these that can be blended into any C-family language such as Java or C++. The resulting system can consist completely of modeling abstractions, completely of base programming language code, or a blend of either. The Umple textual form is the master code for the system. Umple therefore renders the distinction between model and code somewhat moot. Umple can display and update model diagrams as text is edited, and allows changes to diagrams to automatically change the Umple text. This is accomplished in nearreal-time using UmpleOnline [1]. The developer can hence work productively, whether they prefer text or diagrams. Umple supports a rich feature set, all documented with examples in its user manual [2], and all generating fully-operational code in Java and C++. Features include: UML associations with capabilities such as referential integrity, sorting, and enforcement of multiplicity constraints [3]. State machines with unlimited nesting, concurrent activities, and a choice of implementation semantics such as having a separate thread for queuing events [4].
2 Traits to support inclusion of model or code fragments in different contexts, or to overcome lack of multiple inheritance. Active objects and ports for communicating among concurrent objects (including support of parts of Autosar [5]). Constraints for invariants, state transition guards, method preconditions and ports. Built-in patterns such as singleton and immutable, with idioms for other patterns such as delegation. Aspect-oriented code injection to allow tailoring of the generated code. Templates to allow construction of string output for language generation. Trace-directives to allow dynamic analysis at the model level [6]. Umple supports mixins to allow the system to be structured in several ways. These include separating model abstractions from methods of classes, or dividing up the system in a feature-oriented manner. With mixins, multiple definitions of a given model element (e.g. a class) found separately in the Umple source files, are merged. Umple can generate C++. Java, PhP, Ruby, SQL, metrics, documentation and various model-interchange formats such as ECore XMI, USE, TextUML and YUML. Particular focus is being placed on its ability to generate real-time systems. Umple is under active development. Upcoming features include formal method generation, incorporation of Use Cases, requirements, and product-line capabilities. Umple has been designed to be extensible; new code generators and modeling concepts can be added easily a process that has been going on for the last 7 years. 2 Envisioned Users Umple is intended for general-purpose development, so anybody currently developing in one of Umple s primary supported languages can use it to enhance productivity. Anyone who wants to model using UML class diagrams, state diagrams or composite structure diagrams can also use it purely for that purpose, even if they don t intend to generate code. However, Umple is particularly targeted at the following groups: Open source developers and small in-house developers: For these communities, code is king. They may use a little UML on whiteboards, but they don t generate code due to awkward or expensive tools, or poor quality of the code generated by many tools. University professors and students: Umple is designed to be as easy to use as possible to facilitate teaching and learning, as discussed in the next section. Developers who want the flexibility and the minimum of dependency: There are several ways of structuring an Umple system, and it can be managed with many tools: Umple supports command-line, Eclipse-based and web-based development. Umple generated code doesn t require linking with third-party libraries. Although Eclipse s EMF is powerful, we avoided it to preclude dependency on Eclipse. Developers who want generated code that is readable (and inspectable), but need to avoid modifying it: In Umple, any needed user code can be injected into
3 the master Umple files; nonetheless, generated code can be easily read as described in Section 3.2. Real-time developers: There are several UML profiles such as Marte and Autosar for real-time use, but these are hard to master. Umple s C++ code generation (supporting various platforms) and syntax for active objects, ports and composite structure are designed to simplify basic real-time system generation. Other open source modeling tools are available. ArgoUML [7] was once a contender but has never had full-fledged code generation, and its development has trickled to a very slow pace. Papyrus [8] is an actively-developed open-source modeling suite (According to Ohloh Black Duck Open Hub [9] its velocity and size is about twice that of Umple), but it is tied tightly to the Eclipse ecosystem, and is more complex than what we desire for our targeted users. 3 The MDE and modeling challenges that Umple addresses The key challenge Umple addresses is to make modeling simple and adoptable, and hence accessible to most developers. Recent papers have commented on the lack of use of modeling in practice [10], and the obstacles to adoption of modeling [11]. Umple specifically targets these obstacles as described in the following subsections: 3.1 Textual modeling that blends into code and avoids round-tripping Although many aspects of a system can be better understood using a diagram, textual formats have advantages: They allow rapid input and editing, they allow easier version-difference analysis, and the majority of targeted users are most comfortable with textual forms. We have therefore sought ways to make all modeling constructs textual, and to ensure they are syntactically compatible with our target programming languages. Umple is not the only textual modeling tool, but it is the only tool to allow transparent blending of models with multiple programming languages. 3.2 High quality code generation Most tools we have studied either do not generate code at all, or else do it in a halfhearted way. It is common that UML associations only generate stub methods [12]. Much Umple research has focused on ensuring generated code code is of top quality and can be used for real systems out of the box. All aspects of Umple-generated code work synergistically with other aspects, and with hand-written code. Although it is Umple philosophy to never edit generated code, Umple generates readable code. Comments in Umple source pass through to generated code, and traceability links are injected; this enables certification and raises confidence in code correctness. There are thousands of test cases verifying all aspects of the code generation.
4 3.3 A highly-usable user interface In a recent paper, we explained how for the education community, Umple s design was guided by the need to achieve usability, incrementality in learning how to model, and various other traits [13]. UmpleOnline instantly starts on the web, and generates code with one click, and diagrams with zero clicks. Umple s command-line tool works just like any other compiler that people have been familiar with for decades, and Umple s Eclipse plugin works just like any other language plugin for Eclipse. 4 Methodology for using Umple Umple gives the user the freedom to choose their methodology. Virtually any existing approach is possible. Umple can be used in any of the following modes, or in a hybrid of these: Model-first: The developer can start by creating the model (either graphically or textually). Developers can then inject any necessary additional program code, such as main programs or methods for algorithms, directly into the Umple text. It is possible in Umple to specify alternative versions of code in different languages. One model can hence be used to create a C++ and a java version of the same system. Code-first: An existing system written in a pure programming language such as Java or C++ can be umplified [14]. This can be done incrementally in a series of refactorings, gradually adding Umple syntactic constructs to replace existing code. We have so far performed this on systems such as JHotDraw [15] and Weka [16]. 5 Research and Development of Umple Umple has been under development since 2007, and has been the subject of several theses and many published papers that are referenced throughout this paper. The effectiveness of Umple has been evaluated in several contexts. For example in an experiment [17], Badreddin et al. show that developers can model with Umple s textual form just as readily as they can use the standard UML diagram form for the same model. We plan to conduct more such experiments soon. One of the key tests of Umple is that it is developed in itself. The Umple compiler code is written in over 120 Umple files, describing over 460 classes. The project is managed using model-driven and test-driven development, as well as continuous integration. The status of the build server [18], and the most recent test run can be found online [19]. Development velocity has been increasing over the years. Most contributions have been by professors and students at ten Canadian and three US universities.
5 6 Conclusion Umple is an open-source modeling suite designed to make modeling practical and accessible to a wide variety of software developers and application types. The accompanying video ( [20]) gives a walkthrough of the use of UmpleOnline for editing models, generating code and analyzing models. It also gives a quick look at the extensive user manual [2] and the architectural diagram generated by Umple of Umple itself [21]. At the Models conference the demonstration will expand on many of these aspects. References 1. UmpleOnline, 2. Umple user manual, 3. Badreddin, O, Forward, A., and Lethbridge, T.C. (2013), Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity, SERA 2013, Springer SCI 496, pp , DOI: / _9 4. Badreddin, O., Lethbridge, T.C., Forward, A., Elasaar, M. Aljamaan, H, Garzon, M. (2014), Enhanced Code Generation from UML Composite State Machines, MODELSWARD 2014, Portugal 5. Autosar, 6. Aljamaan, H., Lethbridge, T.C., Badreddin, O., Guest, G., and Forward, A. (2014), Specifying Trace Directives for UML Attributes and State Machines, Modelsward ArgoUML, 8. Papyrus, 9. The Umple Open Source Project on Black Duck Open Hub, M. Petre, UML in Practice, ICSE 2013, pp Forward, A., Badreddin, O., and Lethbridge T.C. (2010), Perceptions of Software Modeling: A Survey of Software Practitioners, 5th C2M:EEMDD Workshop, Paris, June 2010, Forward, A. (2010): The Convergence of Modeling and Programming: Facilitating the Representation of Attributes and Associations in the Umple Model-Oriented Programming Language, PhD Thesis, UOttawa, Lethbridge, T.C. (2014), Teaching Modeling Using Umple: Principles for the Development of an Effective Tool, CSEE&T 2014, IEEE Computer Society, Austria, pp Lethbridge, T.C., Forward, A. and Badreddin, O. (2010), Umplification: Refactoring to Incrementally Add Abstraction to a Program, Working Conference on Reverse Engineering, Boston, October 2010, pp JHotDraw, Weka, http, //sourceforge.net/projects/weka/ 17. Badreddin, O., Forward, A., and Lethbridge, T. Model Oriented Programming: An Empirical Study of Comprehension, Cascon, ACM (2012) 18. Umple Continuous Integration Server, Umple Quality Assurance Report, YouTube, Umple Demo Summer 2014, Umple Metamodel,
Towards Integrating Modeling and Programming Languages: The Case of UML and Java
Towards Integrating Modeling and Programming Languages: The Case of UML and Java Patrick Neubauer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Austria
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor
A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor Klaus Krogmann, Steffen Becker University of Karlsruhe (TH) {krogmann, sbecker}@ipd.uka.de Abstract: The actual benefits
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
An eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo [email protected], [email protected] Abstract.
UML for the C programming language.
Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages
On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical
Development of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
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
Implementing reusable software components for SNOMED CT diagram and expression concept representations
1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Thorsten Arendt a, Matthias Burhenne a, Gabriele Taentzer a a Philipps-Universität Marburg,
Manage Software Development in LabVIEW with Professional Tools
Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition
Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams
Architecture of a Software Configuration Management System for Globally Distributed Software Development Teams Muhammad Wasim Bhatti Engineering Management Department CASE, Center for Advanced Studies
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
Test Automation Architectures: Planning for Test Automation
Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550
Going Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark [email protected] 2 Deakin University,
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,
Meister Going Beyond Maven
Meister Going Beyond Maven A technical whitepaper comparing OpenMake Meister and Apache Maven OpenMake Software 312.440.9545 800.359.8049 Winners of the 2009 Jolt Award Introduction There are many similarities
Using Model-Driven Development Tools for Object-Oriented Modeling Education
Using Model-Driven Development Tools for Object-Oriented Modeling Education Seiko Akayama 1, Kenji Hisazumi 2 Syuhei Hiya 1, and Akira Fukuda 3 1 Graduate School of Information Science and Electrical Engineering,
Solutions for Quality Management in a Agile and Mobile World
Solutions for Quality Management in a Agile and Mobile World with IBM Rational Quality Management Solutions Realities can stall software-driven innovation Complexities in software delivery compounded by
Requirements Exchange: From Specification Documents to Models
Requirements Exchange: From Specification Documents to Models Morayo ADEDJOUMA, Hubert DUBOIS, François TERRIER Ansgar RADERMACHER UML&AADL 2011-27 April 2011, Las Vegas Agenda Big picture Challenge Technologies
Healthcare, transportation,
Smart IT Argus456 Dreamstime.com From Data to Decisions: A Value Chain for Big Data H. Gilbert Miller and Peter Mork, Noblis Healthcare, transportation, finance, energy and resource conservation, environmental
SourceMeter SonarQube plug-in
2014 14th IEEE International Working Conference on Source Code Analysis and Manipulation SourceMeter SonarQube plug-in Rudolf Ferenc, László Langó, István Siket, Tibor Gyimóthy University of Szeged, Department
IBM Unica emessage Version 8 Release 6 February 13, 2015. User's Guide
IBM Unica emessage Version 8 Release 6 February 13, 2015 User's Guide Note Before using this information and the product it supports, read the information in Notices on page 403. This edition applies to
The Learn-Verified Full Stack Web Development Program
The Learn-Verified Full Stack Web Development Program Overview This online program will prepare you for a career in web development by providing you with the baseline skills and experience necessary to
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
CPS122 Lecture: State and Activity Diagrams in UML
CPS122 Lecture: State and Activity Diagrams in UML Objectives: last revised February 14, 2012 1. To show how to create and read State Diagrams 2. To introduce UML Activity Diagrams Materials: 1. Demonstration
Native, Hybrid or Mobile Web Application Development
Native, Hybrid or Mobile Web Application Development Learn more about the three approaches to mobile application development and the pros and cons of each method. White Paper Develop a Mobile Application
REMOTE DEVELOPMENT OPTION
Leading the Evolution DATA SHEET MICRO FOCUS SERVER EXPRESS TM REMOTE DEVELOPMENT OPTION Executive Overview HIGH PRODUCTIVITY DEVELOPMENT FOR LINUX AND UNIX DEVELOPERS Micro Focus Server Express is the
Integrating Performance Characterization with Software Development
International Journal of Basic & Applied Sciences IJBAS-IJENS Vol: 11 No: 02 7 Integrating Performance Characterization with Software Development Abstract- The importance of integrating performance considerations
A Monitored Student Testing Application Using Cloud Computing
A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA [email protected], [email protected]
Program Visualization for Programming Education Case of Jeliot 3
Program Visualization for Programming Education Case of Jeliot 3 Roman Bednarik, Andrés Moreno, Niko Myller Department of Computer Science University of Joensuu [email protected] Abstract:
Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department
Automatic Generation Between UML and Code Fande Kong and Liang Zhang Computer Science department Outline The motivation why we need to do the generation between the UML and code. What other people have
Model-Driven Development - From Frontend to Code
Model-Driven Development - From Frontend to Code Sven Efftinge [email protected] www.efftinge.de Bernd Kolb [email protected] www.kolbware.de Markus Völter [email protected] www.voelter.de -1- Model Driven
A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment
A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment Jonathan Corley 1 and Eugene Syriani 2 1 University of Alabama, U.S.A. 2 Université de Montréal, Canada Abstract. We present the
Concern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada [email protected] Abstract Model Driven Engineering (MDE) has achieved success in many
Tool chain (BRIDE) delivered as BRICS software distribution
Best Practice in Robotics (BRICS) Grant Agreement Number: 231940 01.03.2009-28.02.2013 Instrument: Collaborative Project (IP) Tool chain (BRIDE) delivered as BRICS software distribution Hugo Garcia, Herman
A Common Metamodel for Code Generation
A Common Metamodel for Code Generation Michael PIEFEL Institut für Informatik, Humboldt-Universität zu Berlin Unter den Linden 6, 10099 Berlin, Germany [email protected] ABSTRACT Models can
Simplifying e Business Collaboration by providing a Semantic Mapping Platform
Simplifying e Business Collaboration by providing a Semantic Mapping Platform Abels, Sven 1 ; Sheikhhasan Hamzeh 1 ; Cranner, Paul 2 1 TIE Nederland BV, 1119 PS Amsterdam, Netherlands 2 University of Sunderland,
An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)
An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) Rosziati Ibrahim, Siow Yen Yen Abstract System development life cycle (SDLC) is a process uses during the development of any
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
Tool Support for fuml Models
Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. V (2010), No. 5, pp. 775-782 Tool Support for fuml Models C.-L. Lazăr, I. Lazăr, B. Pârv, S. Motogna, I.-G. Czibula
Textual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology
CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,
clooca : Web based tool for Domain Specific Modeling
clooca : Web based tool for Domain Specific Modeling Shuhei Hiya, Kenji Hisazumi, Akira Fukuda, and Tsuneo Nakanishi Kyushu University 744 Motooka Nishi-ku, Fukuoka 819-0395, Japan {hiya,nel,fukuda,[email protected]
1/20/2016 INTRODUCTION
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
Towards Collaboration on Accessible UML Models
his is a draft version of the full paper to be presented at the AI4VIP workshop colocated with MuC'15. owards Collaboration on Accessible UML Models Stephan Seifermann, Henning roenda Software Engineering,
Comparing Agile Software Processes Based on the Software Development Project Requirements
CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical
MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems
OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,
Semantic Object Language Whitepaper Jason Wells Semantic Research Inc.
Semantic Object Language Whitepaper Jason Wells Semantic Research Inc. Abstract While UML is the accepted visual language for object-oriented system modeling, it lacks a common semantic foundation with
VISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
Curriculum Vitae. Zhenchang Xing
Curriculum Vitae Zhenchang Xing Computing Science Department University of Alberta, Edmonton, Alberta T6G 2E8 Phone: (780) 433 0808 E-mail: [email protected] http://www.cs.ualberta.ca/~xing EDUCATION
Managing Agile Projects in TestTrack GUIDE
Managing Agile Projects in TestTrack GUIDE Table of Contents Introduction...1 Automatic Traceability...2 Setting Up TestTrack for Agile...6 Plan Your Folder Structure... 10 Building Your Product Backlog...
Development of a Feature Modeling Tool using Microsoft DSL Tools.
Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report 2009-1.ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer
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
What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process
1 2 3 What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process modeling, and for more generalized modeling purposes.
Is ETL Becoming Obsolete?
Is ETL Becoming Obsolete? Why a Business-Rules-Driven E-LT Architecture is Better Sunopsis. All rights reserved. The information contained in this document does not constitute a contractual agreement with
Lesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects
Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects Abstract: Build a model to investigate system and discovering relations that connect variables in a database
Implementation Workflow
Implementation Workflow Michael Fourman Introduction Implement the design in terms of components source code, scripts, binaries, executables, etc. Flesh out the architecture Plan system integrations in
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
Software Specification and Testing
Software Specification and Testing Using UML and OCL Jonathan Milley Faculty of Engineering and Applied Science MUN St. John s, Newfoundland Email: [email protected] Dr. Dennis K. Peters Faculty of Engineering
CODIO Collaboration Solution
CODIO Collaboration Solution Collaboration is at the core of value producing activities in most organizations. We create, deliver and operate services through organized collaboration with internal and
Architecture Description of <Architecture Name> for <System of Interest>
Architecture description template for use with ISO/IEC/IEEE 42010:2011 Architecture Description of for Bare bones edition version: 2.2 Template prepared by: Rich
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:
Voluntary Product Accessibility Template Blackboard Learn Release 9.1 April 2014 (Published April 30, 2014)
Voluntary Product Accessibility Template Blackboard Learn Release 9.1 April 2014 (Published April 30, 2014) Contents: Introduction Key Improvements VPAT Section 1194.21: Software Applications and Operating
Parsing Technology and its role in Legacy Modernization. A Metaware White Paper
Parsing Technology and its role in Legacy Modernization A Metaware White Paper 1 INTRODUCTION In the two last decades there has been an explosion of interest in software tools that can automate key tasks
Anonymity on the Internet Over Proxy Servers
Anonymity on the Internet Over Proxy Servers Final Product Fábio Rodrigues [email protected] Matej Bulić [email protected] Introduction user always leaves digital sign need for security and anonymity Proxy
Metamodels and Modeling Multiple Kinds of Information Systems
Metamodels and Modeling Multiple Kinds of Information Systems Randall M. Hauch Chief Architect presented at MDA, SOA and Web Services: Delivering the Integrated Enterprise Practice, not Promise MetaMatrix
How Programmers Use Internet Resources to Aid Programming
How Programmers Use Internet Resources to Aid Programming Jeffrey Stylos Brad A. Myers Computer Science Department and Human-Computer Interaction Institute Carnegie Mellon University 5000 Forbes Ave Pittsburgh,
How To Understand The Software Development Lifecycle
REQUIREMENTS ANALYSIS AND SYSTEM DESIGN third edition LESZEKA. MACIASZEK ADDISON-WESLEY An imprint of Pearson Education Harlow, England London New York Boston San Francisco Toronto Sydney Singapore Hong
PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN
PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN Chanchai Supaartagorn Department of Mathematics Statistics and Computer, Faculty of Science, Ubon Ratchathani University, Thailand [email protected]
CDC UNIFIED PROCESS PRACTICES GUIDE
Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS
CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS A technical white paper by: InterSystems Corporation Introduction Java is indisputably one of the workhorse technologies for application
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,
A Software process engineering course
Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship 2009 A Software process engineering course J. Scott Hawker Follow this and additional works at: http://scholarworks.rit.edu/other
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
Traceability Method for Software Engineering Documentation
www.ijcsi.org 216 Traceability Method for Software Engineering Documentation Nur Adila Azram 1 and Rodziah Atan 2 1 Department of Information System, Universiti Putra Malaysia, Company Serdang, Selangor,
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
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
i. Node Y Represented by a block or part. SysML::Block,
OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes
Oracle Application Development Framework Overview
An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services
Pulse: Plural To EVMDD-SMC
Pulse: Plural To EVMDD-SMC Automated Verification of Specifications with Typestates and Access Permissions Ijaz Ahmed 1 Néstor Cataño 1 Radu I. Siminiceanu 2 1 Carnegie Mellon University - Portugal, The
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM
ARM-BASED PERFORMANCE MONITORING FOR THE ECLIPSE PLATFORM Ashish Patel, Lead Eclipse Committer for ARM, IBM Corporation Oliver E. Cole, President, OC Systems, Inc. The Eclipse Test and Performance Tools
BPMS BUYER S TOOL KIT. Sample Request for Proposal for a Business Process Management Suite. Part 1 of the complete BPMS Buyer s Tool Kit
BPMS BUYER S TOOL KIT Sample Request for Proposal for a Business Process Management Suite Part 1 of the complete BPMS Buyer s Tool Kit TABLE OF CONTENTS Sample Request for Proposal... 3 1. Architecture
Data Mining Governance for Service Oriented Architecture
Data Mining Governance for Service Oriented Architecture Ali Beklen Software Group IBM Turkey Istanbul, TURKEY [email protected] Turgay Tugay Bilgin Dept. of Computer Engineering Maltepe University Istanbul,
FileMaker 14. ODBC and JDBC Guide
FileMaker 14 ODBC and JDBC Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker,
