Pontis Interpretive MDD platform. May 2008
|
|
- Octavia Park
- 5 years ago
- Views:
Transcription
1 Pontis Interpretive MDD platform May 2008
2 Agenda Background Model driven development Problems with main-stream approaches Product line structure Some facts The principles of our approach Detailed description Summary
3 Background Pontis Ltd. is a developer of online marketing automation solutions for the telecommunications market. Telecommunications software is characterized by Strict non-functional requirements Massive customization In order to address non-functional requirements we base the implementation on proven J2EE technologies In order to reduce TTM and cost of customization we decided to base our development on a model-driven, product-line technology
4 Model Driven Development Raise the level of abstraction Work outside the (Java) source/technical stuff Model is the source Model quality - We can use a model to describe an SUS (System Under Study). In this case, we consider the model correct if all its statements are true for the SUS. Ed Seidewitz, What Models Mean, IEEE SOFTWARE, September / O c t o b e r
5 Problems with existing practices Consistency - The consistency of the model is crucial in model centric approaches. An inconsistent model hinders downstream activities. Conformance - Conformance of the implementation model to design model is crucial for the model quality. When it is broken we can no longer be sure that designmodel statements are true in the System. Usability Different UI concept than programming IDEs, Change propagation and validation Expressiveness Limitations in UML profiles, other expressiveness capabilities Interoperability problems Generative No short route (Java-less) No short cycle Many languages Write code in an inappropriate environment Meta model changes require special activities from the user
6 Problems with existing practices Several areas need improvement: Detection of design flaws, omissions, and inconsistencies UML profiles support this work. UML 2.0 provides several facilities for defining such profiles but little support for checking them. More consistency between UML models and system requirements as well as implementations. Better mechanisms for traceability and round-trip engineering will help reduce these problems. In Practice : UML Software Architecture and Design Description Christian Lange, Eindhoven University of Technology, Michel Chaudron, Eindhoven University of Technology, Johan Muskens, Philips Research; IEEE Software 3/4/2006 page 40 "This implies that, to change the meta-model it is necessary to reprogram the tool an impractical option that does not allow users the flexibility to easily refine UML." "A Systematic Approach to Domain-Specific Language Design Using UML" B. Selic, isorc, pp. 2-9, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07), 2007
7 Product line structure Customer A Customer B Customer C Generic product Business-Application Framework Core language
8 Some facts Delivered >10 production systems during 2007 Telco-grade 50 TPS/CPU. Response time: 70 ms average, 250 ms 99% Customization time and effort dropped by an order of magnitude Generic product evolved in parallel Numbers Customization - ~150,000 LOC 82% of the source lines-of-code in customization projects are declarative (model classes and instances). The model contains : ~5500 classes more than 200 meta-classes tens of thousands of instances ~290,000 lines of code in model files (XML) Average Depth of Inheritance Tree (DIT) of model classes is ~99% of the application Java source code is governed by the model (i.e. the classes are defined in the model).
9 Principles of our approach Java IDE is proven to be efficient Java source Compiled Java Tools: Problems window Auto completion Navigation views Re-factor tools Java tooling Runtime platform (JVM, J2EE) Source code validation (compiler) Incremental validation few seconds Tooling Generic generation of runtime artifacts
10 Principles of our approach Java-like usability Model sources Model tooling Model Tools: Problems window Auto completion Navigation views Refactor tools Java source constrains Conformance validation Compiled model Compiled Java Java Tools: Problems window Auto completion Navigation views Refactor tools Java tooling Source code validation (compiler) Incremental validation few seconds Tooling Generic generation of runtime artifacts Java conformance validation Kernel Runtime platform (JVM, J2EE)
11 Principles of our approach Dependency injection Model sources Model Tools Model tooling Java source Java Tools Compiled model Compiled Java Java tooling Model contains object graphs. The kernel instantiates the object graphs Not all model changes require change in Java Hence the short route (Java-less) Kernel Runtime platform (JVM, J2EE)
12 Principles of our approach Metaclass extensibility Meta-class - a class whose instances are classes as well. A programming language that support meta-class extensibility is classified as Classbased object-oriented programming language : Smalltalk MetaclassTalk IBM s SOM (System Object Model). Lisp. Python. Ruby. Web Ontologies (OWL/Full) Mainstream OO languages do not support meta-class extensibility. doclets, attributes, aspect frameworks, annotations are the modern alternatives. Metaclasses are deeper magic than 99% of users should ever worry about. If you wonder whether you need them, you don't (the people who actually need them know with certainty that they need them, and don't need an explanation about why). Python Guru Tim Peters
13 Principles of our approach Metaclass extensibility Instance-of Instance-of Language MetaClass Language MetaClass Java.lang.Class Instance-of Sub-class of Instance-of Sub-class of Instance-of Developer defined MetaClass PersistentClass tablename String Developer defined class Instance-of Developer defined class Instance-of Instance-of Instance-of Customer tablename= CUSTOMER Instance-of Instance Instance Customer123 This provides another managed meta-data layer. This allows managed adaptation in class level behavior.
14 Principles of our approach Pure object oriented Objects Classes Customer123 Customer Class Meta-Classes PersistentClass MetaClass Method Field
15 Principles of our approach Metaclass extensibility Meta-class extensibility allows to define sets of sets that are subset of the set of all sets Can be stored in DB Can be queried Transactional Has name Has fields Has methods Has security key PersistentClass MetaClass Customer SecuredClass UI form StronglySecuredClass Order Catalog item BigCustomer Pricing service Movie Has 128 bit security key Typically, a class belongs to several classes. This is known as the multiple-inheritance problem.
16 Metaclass extensibility Multiple inheritance/cross cutting aspects Explicit meta-classes Meta class properties are used to define aspects Aspect definitions constraint the classes to have the right aspect glued Polymorphic and Interception aspects We base our approach on Explicit meta-class: Programming with Explicit Metaclasses in Smalltalk-80, Jean-Pierre Briot and Pierre Cointe Traits: Uniform and Safe Metaclass Composition St ephane Ducasse a Nathanael Sch arli a Roel Wuyts
17 Demo dependency injection with Spring framework Example taken from - Language support for Adaptive Object-Models using Metaclasses, Reza Razavi, Noury Bouraqadi,Joseph Yoder, Jean-Fran cois Perrot, Ralph Johnson
18 Demo Model driven dependency injection
19 Demo Domain Specific Modeling Language
20 Demo Domain Specific Modeling Language
21 Demo Meta-class extensibility
22 Demo Meta-class extensibility
23 Summary Interpretive approach Dependency injection Executable model -the model is the source, java-less change processes The Java implementation is the interpreter of the model classes and instances (behavior) Consistency and conformance Formal modeling Generic object oriented well formedness rules Generic mapping rules Model compiler verifies Java conformance
24 Summary Java-like usability Compiler Incremental compilation Break and correct Problems window Auto-completion Views and navigation tools Re-factor tools Expressiveness Meta-class extensibility. Aspects modeling. Enhanced modeling capabilities Continuous model
25 Summary Currently working on runtime adaptivity The compiler is part of the runtime core allowing for runtime changes of the model by end users The business-application framework component are reflective, hence runtime changes of the model are production ready (e.g. web-services, persistency)
BLU 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 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 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 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 informationObject Model. Object Oriented Programming Spring 2015
Object Model Object Oriented Programming 236703 Spring 2015 Class Representation In Memory A class is an abstract entity, so why should it be represented in the runtime environment? Answer #1: Dynamic
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 informationUniform and Safe Metaclass Composition
Uniform and Safe Metaclass Composition Stéphane Ducasse a Nathanael Schärli a Roel Wuyts b a Software Composition Group, IAM-Universität Bern, Switzerland b Decomp Laboratory, Université Libre de Bruxelles,
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 informationExisting Model Metrics and Relations to Model Quality
Existing Model Metrics and Relations to Model Quality Parastoo Mohagheghi, Vegard Dehlen WoSQ 09 ICT 1 Background In SINTEF ICT, we do research on Model-Driven Engineering and develop methods and tools:
More informationApplying Experiences with Declarative Codifications of Software Architectures on COD
Applying Experiences with Declarative Codifications of Software Architectures on COD Position Paper Roel Wuyts Stéphane Ducasse Gabriela Arévalo roel.wuyts@iam.unibe.ch ducasse@iam.unibe.ch arevalo@iam.unibe.ch
More informationEvaluation of Aspects in UML Models
Evaluation of Aspects in UML Models Phillip Schmidt, Ph.D. The Aerospace Corporation Phillip.P.Schmidt@aero.org Robert Duvall, Ph.D. The Aerospace Corporation Robert.E.Duvall@aero.org Jeffrey Lankford
More informationSemantics-Based Integration of Embedded Systems Models
Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current
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 informationIBM Rational Software Architect
Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for
More informationChapter 8: Enhanced ER Model
Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION
More informationMDD with OMG Standards MOF, OCL, QVT & Graph Transformations
1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages
More informationCopying Subgraphs within Model Repositories
Copying Subgraphs within Model Repositories Pieter van Gorp, Hans Schippers, Dirk Janssens April 2, 2006 1 / 37 Contents Languages 2 / 37 Outline Languages 3 / 37 : Model Driven Software Engineering Model
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 informationNew Programming Paradigms
New Programming Paradigms Lecturer: Pánovics János (google the name for further details) Requirements: For signature: classroom work and a 15-minute presentation Exam: written exam (mainly concepts and
More informationCreating Ultra-fast Realtime Apps and Microservices with Java. Markus Kett, CEO Jetstream Technologies
Creating Ultra-fast Realtime Apps and Microservices with Java Markus Kett, CEO Jetstream Technologies #NoDBMSApplications #JetstreamDB About me: Markus Kett Living in Regensburg, Germany Working with Java
More informationHandling Variability
Handling Variability Version 2.0, December 11, 2009 Markus Völter, Independent/itemis (voelter@acm.org) 2009 Markus Voelter Copyright retain by author(s). Permission granted to Hillside Europe for inclusion
More informationADD 3.0: Rethinking Drivers and Decisions in the Design Process
ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method
More informationCours / TP. Tutorial to Java Reflection API. Class / ClassLoader / Field-Method Introspection.
Cours / TP Tutorial to Java Reflection API Class / ClassLoader / Field-Method Introspection Arnaud.nauwynck@gmail.com This document: http://arnaud.nauwynck.chez-alice.fr/ Intro-JavaIntrospection.pdf Outline
More informationHermion - Exploiting the Dynamics of Software
Hermion - Exploiting the Dynamics of Software Authors: David Röthlisberger, Orla Greevy, and Oscar Nierstrasz Affiliation: Software Composition Group, University of Bern, Switzerland Homepage: http://scg.iam.unibe.ch/research/hermion
More informationbahmanzamani.com Computer Engineering i Dept. University of Isfahan
(MDSE) Bh Bahman Zamani, iphd Ph.D. bahmanzamani.com Computer Engineering i Dept. University of Isfahan Presented at Sheikhbahaee University Baharestan - Isfahan Feb. 4 th, 2010 (1388/11/15) Model What
More informationSoftware Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6
Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6 Some Terms: Architecture the manner in which the components of a computer
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 informationEXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS
EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS Sahar Guermazi*, Jérémie Tatibouet*, Arnaud Cuccuru*, Ed Seidewitz +, Saadia Dhouib*, Sébastien Gérard* * CEA LIST - LISE lab +
More informationObject Model. Object Oriented Programming Winter
Object Model Object Oriented Programming 236703 Winter 2014-5 Class Representation In Memory A class is an abstract entity, so why should it be represented in the runtime environment? Answer #1: Dynamic
More informationSafe Metaclass Composition Using Mixin-Based Inheritance
Safe Metaclass Composition Using Mixin-Based Inheritance Noury Bouraqadi bouraqadi@ensm-douai.fr http://csl.ensm-douai.fr/noury Dépt. G.I.P. - Ecole des Mines de Douai 941, rue Charles Bourseul - B.P.
More informationObject Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems
Object Security TM The Security Policy Company Protection of Resources in Complex Distributed Systems Ulrich Lang, Rudolf Schreiner ObjectSecurity Ltd. University of Cambridge Agenda COACH Project Model
More informationProgramming Languages 2nd edition Tucker and Noonan"
Programming Languages 2nd edition Tucker and Noonan" " Chapter 1" Overview" " A good programming language is a conceptual universe for thinking about programming. " " " " " " " " " " " " "A. Perlis" "
More information2 nd UML 2 Semantics Symposium: Formal Semantics for UML
2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany
More informationStatic analysis and testing of executable DSL specification
Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:
More informationChapter 7. Modular Refactoring. 7.1 Introduction to Modular Refactoring
Chapter 7 Modular Refactoring I n this chapter, the role of Unified Modeling Language (UML) diagrams and Object Constraint Language (OCL) expressions in modular refactoring have been explained. It has
More informationCustomized UI Development Through Context-Sensitive GUI Patterns
Customized UI Development Through Context-Sensitive GUI Patterns Enes Yigitbas, Stefan Sauer Paderborn University, s-lab Software Quality Lab Abstract Developing highly flexible and easy to use user interfaces
More informationBIG MODELS AN ALTERNATIVE APPROACH
2. BIG MODELS AN ALTERNATIVE APPROACH Whitepaper Eclipse Summit 2008 Modeling Symposium Jos Warmer, Ordina (jos.warmer@ordina.nl) Abstract Scaling up modeling within project runs into many practical problems.
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 informationObject-Oriented Analysis and Design Using UML (OO-226)
Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,
More informationACM Technical Solution Architecture - Development and Deployment of ACM Solutions- ECM Fast Start Workshop 1Q2011
ACM Technical Solution Architecture - Development and Deployment of ACM Solutions- ECM Fast Start Workshop 1Q2011 IBM ECM Worldwide Business Partner Technical Enablement Dr. Sebastian Goeser gsr@de.ibm.com
More informationConcepts of Programming Languages
Concepts of Programming Languages Lecture 1 - Introduction Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages Spring 2014
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationIntroduction to EGF. Benoît Langlois / Thales Global Services.
www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts
More informationMDSE USE CASES. Chapter #3
Chapter #3 MDSE USE CASES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE GOES FAR BEYOND CODE-GENERATION www.mdse-book.com
More informationExtreme Java Productivity with Spring Roo and Spring 3.0
Extreme Java Productivity with Spring Roo and Spring 3.0 Rod Johnson Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Agenda Motivation
More informationObject Orientated Analysis and Design. Benjamin Kenwright
Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary
More informationJAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP
2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries
More informationWeb Application Development Using Spring, Hibernate and JPA
Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options:
More informationBest practices for building a Hadoop Data Lake Solution CHARLOTTE HADOOP USER GROUP
Best practices for building a Hadoop Data Lake Solution CHARLOTTE HADOOP USER GROUP 07.29.2015 LANDING STAGING DW Let s start with something basic Is Data Lake a new concept? What is the closest we can
More informationOutline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring
Java Outline Java Models for variables Types and type checking, type safety Interpretation vs. compilation Reasoning about code CSCI 2600 Spring 2017 2 Java Java is a successor to a number of languages,
More informationDesign concepts for data-intensive applications
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Design concepts for data-intensive applications Attila Adamkó Department of Information Technology, Institute of
More informationADT: Eclipse development tools for ATL
ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire
More informationDefining 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 informationModel-Based Test Criteria for Validating Annotated Web Applications
Model-Based Test Criteria for Validating Annotated Web Applications Jonatan Alava and Peter J. Clarke School of Computing and Information Sciences Florida International University Miami, FL 33199 jalav001@cis.fiu.edu
More informationUNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting
UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model
More informationScala, Your Next Programming Language
Scala, Your Next Programming Language (or if it is good enough for Twitter, it is good enough for me) WORLDCOMP 2011 By Dr. Mark C. Lewis Trinity University Disclaimer I am writing a Scala textbook that
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationDynamically-typed Languages. David Miller
Dynamically-typed Languages David Miller Dynamically-typed Language Everything is a value No type declarations Examples of dynamically-typed languages APL, Io, JavaScript, Lisp, Lua, Objective-C, Perl,
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 informationA case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming
A case in Multiparadigm Programming : User Interfaces by means of Declarative Meta Programming S. Goderis W. De Meuter J. Brichau Programming Technology Lab, Vrije Universiteit Brussel, Belgium Abstract.
More informationMetamodeling. Janos Sztipanovits ISIS, Vanderbilt University
Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages
More informationStart Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.
www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios
More informationIntegration With the Business Modeler
Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design
More informationKnowledge Integration Environment
Knowledge Integration Environment Aka Knowledge is Everything D.Sottara, PhD OMG Technical Meeting Spring 2013, Reston, VA Outline Part I The Consolidated Past : Drools 5.x Drools Expert Object-Oriented,
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More informationMeta-Model Guided Error Correction for UML Models
Final Thesis Meta-Model Guided Error Correction for UML Models by Fredrik Bäckström and Anders Ivarsson LITH-IDA-EX--06/079--SE 2006-12-13 Final Thesis Meta-Model Guided Error Correction for UML Models
More informationinnoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel
innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...
More informationAnnotation for the Semantic Web During Website Development
Annotation for the Semantic Web During Website Development Peter Plessers and Olga De Troyer Vrije Universiteit Brussel, Department of Computer Science, WISE, Pleinlaan 2, 1050 Brussel, Belgium {Peter.Plessers,
More informationA Type is a Set of Values. Here we declare n to be a variable of type int; what we mean, n can take on any value from the set of all integer values.
Types A Type is a Set of Values Consider the statement: Read Chapter 6 int n; Here we declare n to be a variable of type int; what we mean, n can take on any value from the set of all integer values. Also
More informationIntroduction to.net Framework
Introduction to.net Framework .NET What Is It? Software platform Language neutral In other words:.net is not a language (Runtime and a library for writing and executing written programs in any compliant
More informationWeb Application Development Using Spring, Hibernate and JPA
Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: CDN$3275 *Prices are subject to GST/HST Course Description: This course provides a comprehensive introduction to JPA
More informationCertification In Java Language Course Course Content
Introduction Of Java * What Is Java? * How To Get Java * A First Java Program * Compiling And Interpreting Applications * The JDK Directory Structure Certification In Java Language Course Course Content
More informationA Constrained Executable Model of Dynamic System Reconfiguration
A Constrained Executable Model of Dynamic System Reconfiguration D Arcy Walsh Carleton University jdwalsh@acm.org Francis Bordeleau Zeligsoft and Carleton University francis@zeligsoft.com Bran Selic Carleton
More informationCoral: A Metamodel Kernel for Transformation Engines
Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520
More informationEfficient Support for Mixin-Based Inheritance Using Metaclasses
ubmission to the Workshop on Reflectively Extensible Programming Languages and ytems (REPL) at the International Conference on Generative Programming and Component Engineering (GPCE 03) eptember 22 nd,
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationHow Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk
How Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk Oscar Callaú, Romain Robbes, Éric Tanter (University of Chile) David Röthlisberger (University of Bern) Proceedings
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 informationAn Empirical Verification of Software Artifacts Using Software Metrics
An Empirical Verification of Software Artifacts Using Software Metrics Raed Shatnawi and Ahmad Alzu bi Abstract In model-driven development, design understandability is very important to maintain software
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
More informationIntroduction P L COS 301. Fall School of Computing and Information Science University of Maine. Introduction COS 301.
s? School of Computing and Information Science University of Maine Fall 2018 Outline s? 1 2 s? 3 4 s? Me s? Roy M. Turner PhD: Georgia Tech Research: AI (intelligent agents, robot control, software agents,
More informationJVA-103. Java Programming
JVA-103. Java Programming Version 8.0 This course teaches programming in the Java language -- i.e. the Java Standard Edition platform. It is intended for programmers with experience in languages other
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 informationAn Oracle White Paper March Introduction to Groovy Support in JDeveloper and Oracle ADF 11g
An Oracle White Paper March 2009 Introduction to Groovy Support in JDeveloper and Oracle ADF 11g Oracle White Paper Introduction to Groovy support in JDeveloper and Oracle ADF 11g Introduction... 2 Introduction
More informationProgramming language design and analysis
Programming language design and analysis Introduction Marius Minea 25 September 2017 Why this course? Programming languages are fundamental and one of the oldest CS fields Language design is an important
More informationMetamodelling & Metaprogramming. Lena Buffoni
Metamodelling & Metaprogramming Lena Buffoni lena.buffoni@liu.se What is a model? A representation of a concept, phenomenon, relationship, structure, system from the real world Used to communicate, test
More informationDesign Patterns Application with MDE
Design Patterns Application with MDE Prof. Jean-Marc Jézéquel (Univ. Rennes 1 & INRIA) Triskell Team @ IRISA Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 847 171 e-mail :
More informationEvent Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007
Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Robert Covington, CTO 8425 woodfield crossing boulevard suite 345 indianapolis in 46240 317.252.2636 Motivation for this proposed RFP 1.
More informationWeb Application Development Using Spring, Hibernate and JPA
Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: 1,995 + VAT Course Description: This course provides a comprehensive introduction to JPA (the Java Persistence API),
More informationCapturing and Formalizing SAF Availability Management Framework Configuration Requirements
Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,
More informationIdioms for Building Software Frameworks in AspectJ
Idioms for Building Software Frameworks in AspectJ Stefan Hanenberg 1 and Arno Schmidmeier 2 1 Institute for Computer Science University of Essen, 45117 Essen, Germany shanenbe@cs.uni-essen.de 2 AspectSoft,
More informationModel Driven Ontology: A New Methodology for Ontology Development
Model Driven Ontology: A New Methodology for Ontology Development Mohamed Keshk Sally Chambless Raytheon Company Largo, Florida Mohamed.Keshk@raytheon.com Sally.Chambless@raytheon.com Abstract Semantic
More information11073 Device Profile Tooling HL7 F2F September Michael Faughn Prometheus Computing LLC
11073 Device Profile Tooling HL7 F2F September 2017 Michael Faughn Prometheus Computing LLC TL;DR The DIM is expressed as UML. The UML governs all. Device Profile Editor web app, printed standard, and
More informationProcess-Integrated Refinement Patterns in UML
Process-Integrated Refinement Patterns in UML Timo Kehrer Dept. of Computer Science and Media Stuttgart Media University (HdM) Nobelstr. 10, D-70569 Stuttgart, Germany Tel: +49 711 8923 2619 Fax: +49 711
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 informationLightweight J2EE Framework
Lightweight J2EE Framework Struts, spring, hibernate Software System Design Zhu Hongjun Session 4: Hibernate DAO Refresher in Enterprise Application Architectures Traditional Persistence and Hibernate
More informationWhy using Smalltalk for Teaching Object- Oriented Design
Why using Smalltalk for Teaching Object- Oriented Design N. Bouraqadi - Ecole des Mines de Douai S. Ducasse - University of Berne S. Stinckwich - University of Caen R. Wuyts - Université Libres de Bruxelles
More informationSoftware Evolution from the Field: An Experience Report from the Squeak Maintainers
Software Evolution from the Field: An Experience Report from the Squeak Maintainers Marcus Denker SCG University of Berne Switzerland Stéphane Ducasse LISTIC Université de Savoie France Roadmap > A little
More informationStatic Conformance Checking of Runtime Architectures Tool Demonstration
Static Conformance Checking of Runtime Architectures Tool Demonstration Marwan Abi-Antoun Jonathan Aldrich School of Computer Science Carnegie Mellon University The problem: architectural conformance Architects
More informationDesign & Implementation Overview
P Fall 2017 Outline P 1 2 3 4 5 6 7 P P Ontological commitments P Imperative l Architecture: Memory cells variables Data movement (memory memory, CPU memory) assignment Sequential machine instruction execution
More information