Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro



Similar documents
The value of modeling

The Value of Modeling

A Software Development Platform for SOA

Foundations of Model-Driven Software Engineering

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Revel8or: Model Driven Capacity Planning Tool Suite

CHAPTER 2 LITERATURE SURVEY

Function Point Modeler Enterprise Edition A Software Lifecycle Management Tool

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann

Developing SOA solutions using IBM SOA Foundation

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Contents. Introduction... 1

Business Process Modeling and Standardization

Visual Paradigm product adoption roadmap

Model-driven development solutions To support your business objectives. IBM Rational Rhapsody edition comparison matrix

SOA Enabled Workflow Modernization

Metamodels and Modeling Multiple Kinds of Information Systems

The leading platform for Model Driven Architecture (MDA) Content:

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Objecteering. The convergence of SOA, UML2, BPMN and EA, for Model-driven Engineering.

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Introduction à EMF Eclipse Modeling Framework

A Database Re-engineering Workbench

MDE Adoption in Industry: Challenges and Success Criteria

Asset Based Development

Sparx Systems Enterprise Architect for Team Players

How To Design An Information System

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

CS4507 Advanced Software Engineering

IBM Rational Web Developer for WebSphere Software Version 6.0

1. Introduction 1.1 Methodology

Rose Data Modeler (logical)

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Design a medical application for Android platform using model-driven development approach

IBM SOA Foundation products overview

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Modernizing Simulation Input Generation and Post-Simulation Data Visualization with Eclipse ICE

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

Information systems modelling UML and service description languages

Increasing Development Knowledge with EPFC

Model Driven Development Future or Failure of Software Development?

Domain modeling: Leveraging the heart of RUP for straight through processing

Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge.

How to realize software evolution of existing BOSS via ZTE SEEM

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

Topics. Software development invariants. Stakeholders. The accidents of software development. The essence of software development

Development Methodologies

Model Driven Development for Composing Business Applications. Jean-Loup Comeliau (W4)

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

JRefleX: Towards Supporting Small Student Software Teams

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Basic Unified Process: A Process for Small and Agile Projects

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Getting Started With Enterprise Architect

Model-Driven Health Tools (MDHT) CDA Tools Overview.

Agile Techniques for Object Databases

Successfully managing geographically distributed development

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004

Object-Oriented Systems Analysis and Design

White Paper What Solutions Architects Should Know About The TOGAF ADM

Enterprise Architect

Improvement of Software Quality and Productivity Using Development Tools

UML for the C programming language.

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

Excerpts from Chapter 4, Architectural Modeling -- UML for Mere Mortals by Eric J. Naiburg and Robert A. Maksimchuk

Getting Embedded C Applications to Market Faster using the Model-Driven Development Technologies of Modeling, Simulation and Code Generation

F-16 Modular Mission Computer Application Software

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Federated, Generic Configuration Management for Engineering Data

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Chap 1. Introduction to Software Architecture

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov

TDDC88 Lab 2 Unified Modeling Language (UML)

Software Engineering. System Modeling

Dr. Jana Koehler IBM Zurich Research Laboratory

midpoint Overview Radovan Semančík December 2015

Online College Magazine

today 1,700 special programming languages used to communicate in over 700 application areas.

A Framework of Model-Driven Web Application Testing

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

Developing Business Architecture with TOGAF

From Systems to Services

Which Enterprise Architect Edition Should I Purchase?

Model-driven Development for a Treasure Hunt Android application

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

Transcription:

Course 4 27 October 2014 Adrian Iftene adiftene@info.uaic.ro

They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can double score for the problem considered optional The goal is to make at every course "devil meetings" in which to present your work to the optional problems, and colleagues to try to identify weaknesses and to criticize them Following these sessions presenters will see other points of view, and listeners can "steal" ideas to use in their projects 2

Scoring for these presentations can be considered in the account of the research component Those interested to do a presentation will contact me, will give a presentation of 10-15 slides that will be give in advance to colleagues to be analyzed 3

Recapitulation courses 1, 2 SCM MDD (MDA, AMDD) TDD DSL (EMF) Modeling EMF IBM Rational Rose Modeler 4

5

PIM platform independent model DSL domain specific language PSM platform specific model 6

7

8

DSL Domain specific language Examples: Logo, YACC, SQL, XSLT, Media Wiki, LaTex, BibTex EMF - Eclipse Modeling Framework 9

Who? Business analysts, engineers, scientists What is modeling? A real item that is being built Scaled mock-ups of airplanes, houses or automobiles Business financials models, market trading simulations, electrical circuit diagrams Why model? The answer has to do with the complexity, the risk and the fact that original practitioners are not always appropriate or even available for completing the task While professional architects might build a doghouse without a design diagram, they would never construct a 15-story office building without first developing an array of architectural plans, diagrams and some type of a mock-up for visualization 10

Why model software? Today, software systems have become very complex They must be integrated with other systems By modeling software, developers can: Create and communicate software designs before committing additional resources Trace the design back to the requirements, helping to ensure that they are building the right system Practice iterative development, in which models and other higher levels of abstraction facilitate quick and frequent changes 11

To better understand the business or engineering situation at hand ( as-is model) and to craft a better system ( to-be model) To build and design a system architecture To create visualizations of code and other forms of implementation 12

IDEs can be considered an entry point into the practice of MDD IDEs Tools are language-sensitive editors, wizards, form builders and other GUI controls are not models in the more strict sense of the term They can raise the level of abstraction above source code, make developers more productive, help create more reliable code and enable a more effective maintenance process 13

The ability to visualize source code in graphical form Developers have used graphical forms of abstraction above their code for many years: Flow charts Structure charts Simple block diagrams with arrows For object-oriented software, boxes typically denote classes and lines between boxes denote relationships Such depictions do not constitute a model, but can be considered a platform-specific model (PSM) 14

Visual models are created from a methodological process that begins with requirements and examines into a high-level architectural design model Developers then create a detailed design model from which skeletal code is generated to an IDE The IDE is used to complete the detailed coding Any changes made to the code that affect the design model are synchronized back into the model; any model changes are synchronized into the existing code 15

Modeling legacy systems does not necessarily mean that the entire system and all its components must be incorporated Developers should understand the legacy systems architectures, how they work and how they interface with others Methods: Developers can reverse engineer code into models to understand them, manually model them or use some combination thereof 16

The premise is simply to provide highly productive ways to generate and maintain code RAD, distinct from both code-centric and model-driven development, raises the level of abstraction above the code, but does not use models 17

First analysts create as-is models of how their systems work today After that, to-be models can be built to prescribe how new, improved processes should work For some application domains, the to-be models are specified to such rigor that complete applications can be generated from the models 18

Beyond visual modeling - Meta-modeling is the discipline of having models of models Unifying software, data and business modeling - through a combination of multiple, open industry standards that are converging Modeling across the life cycle - modeling will become applicable to an even broader range of activities across the software development life cycle 19

Domain-specific modeling languages - to provide abstractions for specifying problems and solutions in a more productive and effective manner The business of software development - With today s technology, the software development has no geographical boundaries. The business of software development will likely continue to be distributed and global Model-Driven Architecture (MDA) - the next logical step in the evolution of MDD 20

EMF is based on Ecore and Genmodel models Ecore metamodel contains the information about the defined classes Ecore model elements: EClass : represents a class (attributes and references) EAttribute : represents an attribute (name and a type) EReference : represents one end of an association between two classes EDataType : represents the type of an attribute, e.g. int, float or java.util.date 21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

Provides a common modeling language and environment for faster creation of quality software, it offers analysis patterns support based on GOF Integrates with other IBM Rational lifecycle development tools, can integrate with any SCCcompliant version control system, including IBM Rational Clear Case and delivers Web publish models and reports to improve communication across the extended team 36

Modeling tool for analysts and software architects IBM Rational Rose Data Modeler offers a sophisticated visual modeling environment for database application development Accelerate your processes by connecting the database designers to the rest of the development team 37

We can see how the application accesses the database Enables the creation of the models (object, data and data storage) and provides the ability to map logical and physical models Supports round-trip engineering between the data model, object model and defined data language (DDL) file/database management system (DBMS) Offers a data model-object model comparison wizard, supports forward engineering of an entire database at a time Provides Web publish models and reports OS: HP-UX, Solaris (Sun microsystems), Windows 38

Diagrams: Class, Component, Deployment, Sequence, Statechart, Use Case, Collaboration Domains, Windows: UML 1.x Model-Driven Development: Patterns Team Support: Merge Changes, Repository / CM Documentation / Reporting: SoDA Integration (Software Documentation Automation), Print Diagrams, Web Publishing and Report Generation Modeling tool for analysts and software architects 39

40

Logical Data Model (Import, Modify) => Data Modeler: Database + Schema => Transform to Data Model => New Data Model Diagram => Forward Engineer => => DDL file (tables, views, relations, etc.) 41

42

43

44

45

Select Database created at previous step 46

47

48

49

50

51

52

Use EMF (Ecore or Genmodel models) or IBM Rational Rose to create an model, and use it in a new project component related to your project theme 53

Eclipse Modeling Framework (EMF) Tutorial http://www.vogella.de/articles/eclipseemf/article.html Discover the Eclipse Modeling Framework (EMF) and Its Dynamic Capabilities http://www.devx.com/java/article/29093 TDD: http://test.ical.ly/2010/03/31/testgetriebene-entwicklungtdd-einer-funktion-meines-symfony-plugins/ Eclipse Update Manager: http://www.vogella.de/articles/eclipse/article.html#updatemanager Eclipse RCP Tutorial: http://www.vogella.de/articles/eclipsercp/article.html Eclipse Plugin Development Tutorial: http://www.vogella.de/articles/eclipseplugin/article.html IBM Rational Rose Data Modeler: http://www- 01.ibm.com/software/awdtools/developer/datamodeler/ How to migrate UML models to Rational Software Architect: http:// www.ibm.com/developerworks/rational/library/08/0129_ali_gangulli 54

How to migrate Rose UML model subunits to Rational Software Architect: http://www.ibm.com/developerworks/rational/library/10/part2howt omigrateroseumlmodelsubunitstorationalsoftwarearchitect/ 55

Cernosek, G., Naiburg, E.: Whitepaper: The value of modeling. IBM Rational Software, June 2004 ftp://ftp.software.ibm.com/software/rational/web/whitepape rs/valueofmodeling.pdf Rose Data Modeler (logical): http://www.cs.utexas.edu/users/smriti/ta/ee382v/rose/data ModelerTutorial-Logical.pdf 56