(The obligatory second slide)
|
|
- Shanon Lenard Todd
- 5 years ago
- Views:
Transcription
1 Agile MDA: Naked Objects & Together Control Center Dan Haywood Haywood Associates Ltd. (The obligatory second slide) I'm an independent consultant / developer / trainer Java, J2EE,.Net, RDBMS, OO, UML, AOP/AspectJ Expert in Together CC Author of "Better Software Faster" "In the best of all worlds, every IT professional and every business person who wants an IT system would read Better Software Faster." Ed Yourdon Expert in Naked Objects Through 2004/5, working with NO founders at the DSFA business object modelling contributing to the NO framework itself Various articles e.g. Naked Objects series, TheServerSide.com I like the ideas behind MDA just not the execution Page Haywood Associates Ltd.
2 A bit about MDA Raising the Level of Abstraction Abstraction means omitting detail Raising the level means omitting more detail Thus, cannot be dependent on that detail in particular, not dependent on platform specifics focus on the remaining important details e.g. the domain model But, need to regain missing detail to deploy provide a mapping to lower abstraction levels the mapping itself can encode best practice Page 3 A bit about MDA Mappings Refining more less abstract e.g code generators Abstracting less more abstract e.g. filtering Representing associate models from different metamodels e.g. UML class diagram & Java source code Migrating lightweight conversion e.g. if change Case tool Merging combines orthogonal models Page Haywood Associates Ltd. 2
3 A bit about MDA Two approaches to MDA Two principal approaches Elaborationist approach Translationist (executable model) approach Page 5 A bit about MDA Abstraction & Elaboration Under the elaborationist approach PIM abstracts out platform details PSM is an elaboration (i.e. fills in the detail) e.g. UML class to EJB classes +/or RDBMS tables QVT spec aims to standardize this elaboration PIM mapping PSM compiler Code PSM elaborated further to code PIM is marked up to direct the mapping process PSM or code can be edited e.g. to add in expressions of behaviour Page Haywood Associates Ltd. 3
4 A bit about MDA Abstraction & Translation Under the translationist model collection of orthogonal models each represents a single aspect for the domain, or for system concerns Domain Model System Model model translator Code Page 7 models are marked up to indicate bindings to each other bridges between the different models Resultant code is not edited all behaviour expressed in models A bit about MDA Some questions to be mulling Do models matter? does the business care about the model? are the incentives (to the business) right? how stable is the business, anyway? Is UML the right language? Is platform independence doable? Page Haywood Associates Ltd. 4
5 Naked Objects A radical approach to business systems design And also a book, an open source framework, a PhD thesis and a company Page 9 Naked Objects Yes, but what is it? An architectural pattern (among other things) Automatic visualization of behaviourally complete objects Presentation Application, Process, Task or Controller Domain object model Persistence Page Haywood Associates Ltd. 5
6 Naked Objects The Naked Objects Pattern Eliminates the use case controller layer encapsulate functionality back in the domain model Presentation (We simplify here a little for the sake of a good slide sequence ) (Behaviourally complete) Domain object model Persistence Page Naked Objects The Naked Objects Pattern Generic presentation layer reflects the domain model as an object-oriented user interface (Behaviourally complete) Domain object model Persistence Page Haywood Associates Ltd. 6
7 Naked Objects The Naked Objects Pattern Auto-generate the persistence layer for a standalone system or if prototyping (Behaviourally complete) Domain object model Page 3 Rosa's Breakfast Service The Model BreakfastOrder +actioncalculatetotal:void +actionaddbreakfast:void +createtransientinstance:b Customer Address {r} streetnumber:textstrin {r} street:textstring {r} city:textstring {r} postalcode:textstring {r} telephonenumber:texts Using TCC to visualize the "PIM" {r} total:money {rw} address:address +actioncreateorder:breakfa 0..* {r} deliverydate:date +createtransientinstance:c {r} deliverytime:time +setup:customer {r} discount:money {r} orderdate:date {r} accountnumber:wholen {r} breakfasts:internalcolle {r} breakfastorders:interna {rw} customer:customer {rw} address:address 0..* Breakfast 0..* +actionchangecomestible:v +actionchangecomestible:v +create:breakfast {r} number:wholenumber {r} changes:internalcollect {rw} standardbreakfast:sta 0..* Change Comestible +aboutbreakfast:void +createtransientinstance:c +aboutcomestible:void +setup:comestible 0..* +createtransientinstance:c 0..* {r} name:textstring {r} quantity:wholenumber {r} minimalquantity:whole {rw} breakfast:breakfast {r} price:money {rw} comestible:comestible {r} transportform:textstri StandardBreakfast +actionaddcomestible:part +createtransientinstance:s +setup:standardbreakfast +findbytitle:standardbreakf 0..* {r} name:textstring {r} parts:internalcollection {r} price:money {rw} style:style..* Part +createtransientinstance:pa {r} quantity:wholenumber {rw} standardbreakfast:sta {rw} comestible:comestible Style +createtransientinstance:s +setup:style {r} number:wholenumber {r} name:textstring Case study from MDA Explained Kleppe, Warmer & Bast (Addison-Wesley, 2003) "Breakfast in bed" for your loved one Page Haywood Associates Ltd. 7
8 Rosa's Breakfast Service The Running Application (Demo) Page 5 Page 6 Rosa's Breakfast Service The Code Application consists of domain classes only public void actioncalculatetotal() { Money price = new Money(); price.setvalue(0); // price of standard breakfast's parts for (Enumeration enum = this.breakfasts.elements(); enum.hasmoreelements();) { Breakfast breakfast = (Breakfast)enum.nextElement(); Map quantitiesbycomestible = new HashMap(); StandardBreakfast sb = breakfast.getstandardbreakfast(); if (sb!= null) { for (Enumeration enum2 = sb.getparts().elements(); enum2.hasmoreelements();) { Part part = (Part)enum2.nextElement(); if (part.getcomestible()!= null) { quantitiesbycomestible.put( part.getcomestible(), new int[] { part.getquantity().intvalue() } ); } } } // price of any changes for this breakfast // apply discount (if any) price.subtract(getdiscount()); gettotal().setvalue(price); objectchanged(); // workaround for bug in NO framework return; } 2004 Haywood Associates Ltd. 8
9 Rosa's Breakfast Service Using Together for Documentation (Demo) Page 7 Rosa's Breakfast Service executable Acceptance Tests The NO framework also has its own testing framework Allows user interactions to be scripted as JUnit tests Fixtures are shared with application itself failing tests can easily be verified Moreover at compile time, Together can create user-reviewable documents from the test source code at run time, XATs create a journal as each test passes XATs are used as the basis for: business rule definition scenario testing (UAT) Page Haywood Associates Ltd. 9
10 Rosa's Breakfast Service executable Acceptance Tests Public Sub testcancreatebreakfastorder() cust.assertactionusable( _ "Create Order", _ params(new NoDate, New NoTime, New Money)) End Sub Public Sub testcreatedefaultscustomerandparameters() Dim neworder As TestObject = _ cust.invokeaction( _ "Create Order", _ params(new NoDate(2003, 4, ), _ New NoTime(7, 45), _ New Money(20.0)) neworder.assertfieldcontains( _ "Customer", cust) neworder.assertfieldcontains( _ "Delivery Time", New NoTime(7, 45)) neworder.assertfieldcontains( _ "Delivery Date", New NoDate(2003, 4, )) neworder.assertfieldcontains( _ "Discount", New Money(20.0)) End Sub We're being agile, so let's do a quick mod Page 9 Naked Objects & Together The DRY Principle "Every piece of system knowledge should have one authoritative, unambiguous representation. Every piece of knowledge in the development of something should have a single representation. A system's knowledge is far broader than just its code. It refers to database schemas, test plans, the build system, even documentation." Dave Thomas (Pragmatic Programmer) Naked Objects & Together CC make this achievable At run time The NO pattern itself sync domain and UI XAT journal At compile time Together CC itself sync model and code Documentation generation XATs for customers BOM for developers (and I'll talk about the database next slide) Page Haywood Associates Ltd. 0
11 Naked Objects Deploy to your favourite platform Naked Objects framework is written in Java. compiles to class files, run on JVM compiles to IL, run under.net Write domain objects in your favourite language for Java/J2EE, typically just Java for.net, any of C#, VB.Net, J# Domain objects are (typically) just POJOs no compile-time dependencies on framework can define your own programming model semantics can be tested outside the framework integrate seamlessly with other POJO-based frameworks Deploy to an app server either J2EE or IIS Page 2 Naked Objects A quick peek at the Architecture PC Client Viewing Mechanism Proxy Object Manager Meta Model User Manager Container instantiates concrete instances and sets up dependencies BOM Objects Proxy Application Server Dispatcher Local Object Manager Meta Model Container User Manager Proxy Object Manager services pre- and postconditions locally, but delegates actions Local Object Manager services actions BOM Objects Transaction Manager RDBMS Object Store Container RDBMS Database Page Haywood Associates Ltd.
12 NO/TCC in the context of MDA Very definitely in the translationist camp Domain model comes to the fore represented in UML (courtesy of TCC) or in OO programming language Other aspects implemented by framework visualization, persistence & transactions, security, distribution We don't attempt platform independence you'll have to make do with either Java or.net Use Java or.net languages to specify behaviour not a new imperative language (ASL) not a declarative language (eg OCL) Page 23 NO/TCC in the context of MDA Do models matter? Only if they are exhibit immediate value to the business to the developers Does the business care about the model? yes its relationship to the running application is clear amazing connection to the domain model at high levels of management seniority Are the incentives (to the business) right? there is no expensive mapping process to debug anyway, we don't focus on reuse "a good result but a poor objective" How stable is the business? it doesn't matter: this is agile development the model is the code just focusing on the business' viewpoint Page Haywood Associates Ltd. 2
13 NO/TCC in the context of MDA Is UML the right language? No, not really. UML is very strong on static structures class diagrams in particular But is much weaker on behavioural structures state charts work to an extent proven for real-time domains, but not elsewhere interaction diagrams are instance-, not type-based OCL is declarative, not imperative ASL is a new language with no concrete syntax coupling to vendor's implementation AOP languages provides similar abstractions, except Offer clear lineage with OO languages UML profiles (or other graphical notations) not yet standardized Page 25 NO/TCC in the context of MDA Is platform independence doable? Would like to create a platform-independent representation complete in and of itself then bind it to an implementation through some mechanism or another To do so means adopting a formalism to describe that representation that is, UML and either ASL adopting mappings to elaborate / translate those models either proprietary or based on QVT investing in mappings for today's run-time platforms At best, we can be independent of run-time platform Though elaborationist approach can't really manage even this (typically that's where behaviour must be specified) but we can't be independent at development-time need to depend on tools to capture models & perform mappings Page Haywood Associates Ltd. 3
14 What to do? MDA describes a problem worth solving bind a problem domain to an implementation technology Best bet is to be pragmatic For business systems, target support both.net and Java both use a VM, so we can expect long lifetimes Use a 3GL to express behaviour Reuse a fundamental architectural style that is platform independent Use a POJO-based solution no coupling to vendor And while you're at it, employ agile principles Page 27 Summary It's all about binding the PIM to the implementation Naked Objects provides default (but pluggable) bindings for various system aspects visualization (obviously) persistence & transactions security distribution programming model semantics The combination of Naked Objects and Together CC enable the DRY principle and that in turn helps keeps things agile.net and Java support provides pragmatic platform independence Page Haywood Associates Ltd. 4
15 Agile MDA: Naked Objects & Together Control Center Dan Haywood Haywood Associates Ltd. Resources SPA2005 Conference, 0-3 April 2004 Haywood Associates Ltd. 5
Defining Domain-Specific Modeling Languages
Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often
More informationDomain-Frontier approach to. MDA based. software development
Domain-Frontier approach to MDA based software development Contents! Software Development Yesterday, Today and Tomorrow! Domain-Frontier Paradigms and Cornerstones! Domain-Frontier Development Process
More informationAll you need are models Anneke Kleppe, Klasse Objecten
Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in
More informationComputation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):
viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information
More informationAn Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com
An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationThe Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling
UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive
More informationdeveloper.* The Independent Magazine for Software Professionals
developer.* The Independent Magazine for Software Professionals Improving Developer Productivity With Domain-Specific Modeling Languages by Steven Kelly, PhD According to Software Productivity Research,
More informationPractical Model-Driven Development with the IBM Software Development Platform
IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges
More informationIntroduction to MDE and Model Transformation
Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and
More informationModel Driven Engineering (MDE)
Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering
More information02291: System Integration
02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes
More informationMeta-modelling and Model Transformation the two pivots of Model Driven Architecture
Meta-modelling and Model Transformation the two pivots of Model Driven Architecture Amaranth Wei He supervised by Hans Vangheluwe School of Computer Science, McGill University, Montreal, Canada whe6@cs.mcgill.ca
More informationMDA Driven xuml Plug-in for JAVA
2012 International Conference on Information and Network Technology (ICINT 2012) IPCSIT vol. 37 (2012) (2012) IACSIT Press, Singapore MDA Driven xuml Plug-in for JAVA A.M.Magar 1, S.S.Kulkarni 1, Pooja
More informationThe Write Once, Deploy N MDA Case Study
Pieter Van Gorp, The Write Once, Deploy N MDA Case Study Belgisch-Nederlandse Evolution Workshop July 8-9, 2004 @ University of Antwerp The Write Once, Deploy N MDA Case Study Pieter Van Gorp, Dirk Janssens
More informationModel driven Engineering & Model driven Architecture
Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software
More information02291: System Integration
02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2011 Contents 1 Recap 1 2 More UML Diagrams 2 2.1 Object Diagrams........................................... 2 2.2 Communication Diagrams......................................
More informationIntroduction to UML. (Unified Modeling Language)
Introduction to UML (Unified Modeling Language) What Is the UML? UML stands for Unified Modeling Language. UML is a family of graphical notations that help in describing and designing software systems
More informationModel Driven Architecture with Enterprise Architect
WHITEPAPER Model Driven Architecture with Enterprise Architect Measuring EA Features to MDA Concepts By Frank Truyen frank.truyen@cephas.cc All rights reserved. Page 1 Model Driven Architecture with Enterprise
More informationINTRODUCTION. Chapter #1
Chapter #1 INTRODUCTION Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com Introduction Contents Human cognitive processes Models
More informationRole of Executable UML in MDA. Presented by Shahid Alam
Role of Executable UML in MDA Presented by Shahid Alam salam3@connect.carleton.ca 12/2005 Outline Introduction to MDA Executable UML Does it apply to MDA Model Compilers Conclusion Model Driven Architecture
More informationBLU AGE 2009 Edition Agile Model Transformation
BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation
More informationMDSE PRINCIPLES. Chapter #2
Chapter #2 MDSE PRINCIPLES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE Principles Contents Concepts Approaches Adoption
More informationMethods for the Development
Methods for the Development Of Dependable and Adaptive Information Systems Carolina Gomez Hernandez Index of Contents History of Modeling Methods for the Development of DAIS: Model Driven Architecture
More informationOMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.
Karl Frank Principal Architect: Product Strategy and Architecture kfrank@borland.com OMG Workshop MDA Tool Chains for MDA? Let's consider leaving our tool chains behind us. Please note the existence of
More informationA (Very) Short Introduction to Model-Driven Development (MDD)
A (Very) Short Introduction to Model-Driven Development (MDD) (MDD ~ Model-Driven Engineering (MDE)) Introduction to MDD by Jan Pettersen Nytun, UiA, page 1, 4-Aug-11 Content Some background info What
More informationTransformational Design with
Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität
More informationIt s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu
It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation
More informationRaising the Level of Development: Models, Architectures, Programs
IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different
More informationSmall is Beautiful Building a flexible software factory using small DSLs and Small Models
Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual
More informationFrustrated by all the hype?
Fundamentals of Software Architecture Looking beyond the hype Markus Völter (voelter@acm.org) Introduction Frustrated by all the hype? If so this presentation is for you. Otherwise you should leave People
More informationModel Abstraction versus Model to Text Transformation
Model Abstraction versus Model to Text Transformation Jon Oldevik, Tor Neple, Jan Øyvind Aagedal SINTEF Information and Communication Technology, Forskningsvn 1, N-0314 Oslo, Norway {jon.oldevik tor.neple
More informationCISC836: Models in Software Development: Methods, Techniques and Tools
CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF
More informationModel Driven Architecture and Rhapsody
Model Driven Architecture and Rhapsody Dr. Bruce Powel Douglass Chief Evangelist Telelogic Model Driven Architecture and Rhapsody Abstract MDA, short for Model Driven Architecture, is a unification by
More informationModel-Driven Architecture
THE IT-ARCHITECTURE PROFESSIONALS Model-Driven Architecture Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise Interactive Objects Software info@io-software.com Agenda 2 Motivation for MDA Terminology:
More informationFirst Steps Towards Conceptual Schema Testing
First Steps Towards Conceptual Schema Testing Albert Tort and Antoni Olivé Universitat Politècnica de Catalunya {atort,olive}@lsi.upc.edu Abstract. Like any software artifact, conceptual schemas of information
More informationEvaluation of Business Rules Maintenance in Enterprise Information Systems
POSTER 2015, PRAGUE MAY 14 1 Evaluation of Business Rules Maintenance in Enterprise Information Systems Karel CEMUS Dept. of Computer Science, Czech Technical University, Technická 2, 166 27 Praha, Czech
More informationObject-Oriented Theories for Model Driven Architecture
Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University
More informationSUMMARY: MODEL DRIVEN SECURITY
SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,
More informationSoftware Language Engineering of Architectural Viewpoints
Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr
More informationModel Driven Architecture - The Vision
Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support
More informationFormal Methods for Software Engineers
Formal Methods for Software Engineers Professor Ray Welland Department of Computing Science University of Glasgow ray@dcs.gla.ac.uk INF3120-FM 1 Overview Motivation Why have formal specifications? Where
More informationDeveloping Web-Based Applications Using Model Driven Architecture and Domain Specific Languages
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain
More informationEvaluation Guide for ASP.NET Web CMS and Experience Platforms
Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:
More informationOpen Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA
Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,
More informationApplying UML Modeling and MDA to Real-Time Software Development
Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation
More informationReusable Object-Oriented Model
e-informatica Software Engineering Journal, Volume 7, Issue 1, 2013, pages: 35 44, DOI 10.5277/e-Inf130104 Reusable Object-Oriented Model Jaroslav Žáček, František Huňka Faculty of Science, University
More informationModel-Driven Software Development: What it can and cannot do
Model-Driven Software Development: What it can and cannot do Jon Whittle Associate Professor Information & Software Engineering George Mason University http://ise.gmu.edu/~jwhittle Outline Introduction
More informationSoftwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany
Softwaretechnik Lecture 19: Model Driven Engineering Peter Thiemann University of Freiburg, Germany 23.07.2012 Peter Thiemann (Univ. Freiburg) Softwaretechnik 23.07.2012 1 / 50 Introduction MDA Introduction
More informationSolution overview VISUAL COBOL BUSINESS CHALLENGE SOLUTION OVERVIEW BUSINESS BENEFIT
BUSINESS CHALLENGE There is an increasing demand from users of business software for easier to use applications which integrate with other business systems. As a result IT organizations are being asked
More informationComparative analysis of MDA tools
STUDIA INFORMATICA Nr 1-2(16) Systems and information technology 2012 Comparative analysis of MDA tools Krzysztof Pietraszek 1 1 Institute of Computer Science, University of Natural Sciences and Humanities,
More informationRuby on Rails. SITC Workshop Series American University of Nigeria FALL 2017
Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction
More informationDefining Domain-Specific Modelling Languages
Defining Domain-Specific Modelling Languages 22 April 2009 Juha-Pekka Tolvanen, Ph.D. Outline Introduction The vision of Model Driven Development Examples and case studies Architecture for defining and
More informationImplementing Model Driven Architecture
TUTORIAL Implementing Model Driven Architecture Using Enterprise Architect MDA in Practice By Frank Truyen frank.truyen@cephas.cc All rights reserved. Page 1 Cephas Consulting Corp. Implementing Model
More informationSo on the survey, someone mentioned they wanted to work on heaps, and someone else mentioned they wanted to work on balanced binary search trees.
So on the survey, someone mentioned they wanted to work on heaps, and someone else mentioned they wanted to work on balanced binary search trees. According to the 161 schedule, heaps were last week, hashing
More informationwith openarchitectureware
Model-Driven Development with openarchitectureware Markus Völter voelter@acm.orgorg www.voelter.de Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de 2006-7 Völter,
More informationBetter Stories, Better Languages
Better Stories, Better Languages What Would Alyssa P. Hacker Do? François-René Rideau, TUNES Project Bay Area Lispers, 2009-12-29 http://fare.tunes.org/computing/bal2009.pdf 1 The Take Home Points Software
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
More informationChapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.
Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components
More informationCOP 3330 Final Exam Review
COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time
More informationLesson 13 Transcript: User-Defined Functions
Lesson 13 Transcript: User-Defined Functions Slide 1: Cover Welcome to Lesson 13 of DB2 ON CAMPUS LECTURE SERIES. Today, we are going to talk about User-defined Functions. My name is Raul Chong, and I'm
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Summarize UML Deployment and Component notation. Design a framework with the Template Method, State, and Command patterns. Introduce issues in object-relational (O-R)
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationMOMOCS D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS. Model driven Modernisation of Complex Systems. Dissemination Level: Work package:
MOMOCS Model driven Modernisation of Complex Systems D2.1 XIRUP S UPPORTING T OOLS R EQUIREMENTS Dissemination Level: Work package: Lead Participant: Public WP2 ATOS Contractual Delivery Date: January
More informationMDA. SOA = Model Driven SOA
Introducing Model Driven SOA MDA + SOA = Model Driven SOA SoaML an Emerging Standard for SOA Modeling Dr. Darius Silingas Principal Trainer/Consultant darius.silingas@nomagic.com Introduction Who Am I?
More informationAgile Software Development with Pragmatic MDA
CompuwareCorporation Agile Software Development with Pragmatic MDA Jon Kern Agile MDA Evangelist Jon.Kern@compuware.com http://blogs.compuware.com/cs/blogs/jkern/ http://javacentral.compuware.com/members/straight-talk/
More informationDevelopment of E-Institute Management System Based on Integrated SSH Framework
Development of E-Institute Management System Based on Integrated SSH Framework ABSTRACT The J2EE platform is a multi-tiered framework that provides system level services to facilitate application development.
More informationFormal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5
Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they
More informationMDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc.
MDA Distilled Stephen J. Mellor Vice-President Project Technology, Inc. http://www.projtech.com PROJECT TECHNOLOGYINC. Table of contents 1. What s the problem? 2. Models 3. Metamodels 4. Mappings 5. Marks
More information<Insert Picture Here> Oracle Application Framework (OAF): Architecture, Personalization, and Extensibility in Oracle E-Business Suite Release 12
Oracle Application Framework (OAF): Architecture, Personalization, and Extensibility in Oracle E-Business Suite Release 12 Sara Woodhull Principal Product Analyst, Oracle Corporation
More informationUNIT-IV BASIC BEHAVIORAL MODELING-I
UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction
More informationAEM Code Promotion and Content Synchronization Best Practices
AEM Code Promotion and Content Synchronization Best Practices Ian Reasor, Technical Architect, Adobe Partner Experience Introduction When considering the movement of content through environments in an
More informationPOJOs to the rescue. Easier and faster development with POJOs and lightweight frameworks
POJOs to the rescue Easier and faster development with POJOs and lightweight frameworks by Chris Richardson cer@acm.org http://chris-richardson.blog-city.com 1 Who am I? Twenty years of software development
More informationReview Software Engineering October, 7, Adrian Iftene
Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)
More informationINF5120 and INF9120 Modelbased System development
INF5120 and INF9120 Modelbased System development Lecture 5: 13.02.2016 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no Telecom and Informatics 1 Course parts (16 lectures) - 2017 January
More informationUML big picture. Perdita Stevens. School of Informatics University of Edinburgh
UML big picture Perdita Stevens School of Informatics University of Edinburgh Plan Whence UML? Parts of UML How it all fits together UML as a language Consistency: what does it mean, do we need it? Defining
More informationXML Web Services Basics
MSDN Home XML Web Services Basics Page Options Roger Wolter Microsoft Corporation December 2001 Summary: An overview of the value of XML Web services for developers, with introductions to SOAP, WSDL, and
More informationTowards 2D Traceability
Towards 2D Traceability in a platform for Contract Aware Visual Transformations with Tolerated Inconsistencies Pieter Van Gorp pieter.vangorp@ua.ac.be Frank Altheide frank.altheide@gmail.com Dirk Janssens
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 10 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Time Project Planning Non-agile Agile Refactoring Contents Basic Principles
More informationCSSE 490 Model-Based Software Engineering: Introduction to MetaModels
CSSE 490 Model-Based Software Engineering: Introduction to MetaModels Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Transformations Define
More informationIntroduction to Generative Computing. Look at the resource section in the overview material for links etc.
Introduction to Generative Computing Look at the resource section in the overview material for links etc. Introduction to Generative Computing 2 / 46 Goals 1. Learn how and when to use generative technologies.
More informationThe Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab
The Model Driven Architecture Dennis Wagelaar Viviane Jonckers Software Languages Lab Special session: ( ) The Model Driven Architecture origins, goals concepts Platform, CIM, PIM, PSM... Models and meta-models
More informationExecutable UML the silver bullet or maybe not Dr. Joel Henry October 22, 2008
Executable UML the silver bullet or maybe not Dr. Joel Henry October 22, 2008 Background Overview Model Driven Development (MDD) Unified Modeling Language (UML) Executable UML (xuml) Testing challenges
More informationPYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER DOWNLOAD EBOOK : PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER PDF
Read Online and Download Ebook PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER DOWNLOAD EBOOK : PYTHON GUI PROGRAMMING COOKBOOK BY BURKHARD A. MEIER PDF Click link bellow and free register to download
More informationCSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering
CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Metamodels Design
More informationSoftware Engineering
Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most
More information10.1 Big Objects, Business Objects, and UML Components
II Black-Box Composition Systems 10. Finding Business s in a -Based Development Process Literature J. Cheesman, J. Daniels. UML s. Addison-Wesley. 1. The UML component model 2. Business component model
More informationOCL for the Specification of Model Transformation Contracts
OCL for the Specification of Model Transformation Contracts Eric Cariou, Raphaël Marvie, Lionel Seinturier, and Laurence Duchien LIFL - Université des Sciences et Technologies de Lille UMR CNRS 8022 -
More informationLab 1 Introduction ipojo Component Model
Lab 1 Introduction ipojo Component Model Thomas Leveque A Page 1, January 27, 2011 Service Oriented Computation New computing paradigm Service as fundamental element Reduce dependencies among «software
More informationFormal Specification of Software Systems
Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software
More informationFREQUENTLY ASKED QUESTIONS
Borland Together FREQUENTLY ASKED QUESTIONS GENERAL QUESTIONS What is Borland Together? Borland Together is a visual modeling platform that enables software teams to consistently deliver on-time, high
More information!MDA$based*Teaching*and* Research*in*Software*Engineering*!
Plan!MDA$based*Teaching*and* Research*in*Software*Engineering*! Ludwik!Kuźniarz! Blekinge*Institute*of*Technology* School*of*Computing* Sweden*! Myself! Driven Architecture! MDA based Reaserch! Sample
More informationProgram Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.
Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Outline. Abstractions for telling a computer how to do things. Computational Paradigms. Language Definition, Translation.
More informationPart II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process
Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development
More informationOpen Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.
Open Source egovernment Reference Architecture Cory Casanave, President www.enterprisecomponent.com Slide 1 What we will cover OsEra OsEra Overview Model to Integrate From business model to execution Synthesis
More informationSoftware Project Seminar VII: Tools of the Craft. 23 march 2006 Jevgeni Kabanov
Software Project Seminar VII: Tools of the Craft 23 march 2006 Jevgeni Kabanov Administrative Info Send your troubles to tarkvaraprojekt@webmedia.ee, not to Ivo directly Next time will be an additional
More informationDuncan Geoffry Doyle. studentnumber:
Duncan Geoffry Doyle Duncan.Doyle@nl.fortis.com D.G.Doyle@its.tudelft.nl studentnumber: 9196417 October 2005 Abstract This Master Thesis describes the transformation of models defined in a proprietary
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationJava Basics. Object Orientated Programming in Java. Benjamin Kenwright
Java Basics Object Orientated Programming in Java Benjamin Kenwright Outline Essential Java Concepts Syntax, Grammar, Formatting, Introduce Object-Orientated Concepts Encapsulation, Abstract Data, OO Languages,
More information