 Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current.

Slides:



Advertisements
Similar presentations
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
Advertisements

CASE tools Upper CASE tools: support for the analysis and design Lower CASE tools: support for construction and maintenance 1980s… Nowadays… Integrated.
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Software Engineering COMP 201
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Introduction to UML Visual modeling Models and its importance
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
The Use of Zachman Framework Primitives for Enterprise Modeling
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
DECISION SUPPORT SYSTEM DEVELOPMENT
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
By Ryan Mowry.  Graphical models of system  Entire system or just parts  Complex systems easier to understand  “Capture key requirements and demonstrate.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Principles of Object Technology Module 1: Principles of Modeling.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
UML - Development Process 1 Software Development Process Using UML (2)
Free Mini Course: Applying SysML with MagicDraw
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
An Introduction to MBT  what, why and when 张 坚
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Introduction to MDA (Model Driven Architecture) CYT.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
I n t e g r i t y - S e r v i c e - E x c e l l e n c e UPDM Review Session Col. Jack Jibilian Enterprise Architecting & Warfighting Decision Support SAF/XCPA.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
1 Introduction to Software Engineering Lecture 1.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
4+1 View Model of Software Architecture
Software Engineering Lecture 10: System Engineering.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Model Driven Architecture MDA SE-548 Lale Doğan
CASE Tools and their Effect on Software Quality
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
UML Diagrams By Daniel Damaris Novarianto S..
CIM Modeling for E&U - (Short Version)
CSCI-235 Micro-Computer Applications
Object-Oriented Analysis and Design
SysML v2 Formalism: Requirements & Benefits
UML Diagrams Jung Woo.
Inventory of Distributed Computing Concepts
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Presentation transcript:

 Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current and Future Trends  Software

 Middleware – Software that mediates between an application program and a network.  CORBA – Common Object Request Broker Architecture  UML – Unified Modeling Language  MDA – Model Driven Architecture  MDE – Model Driven Engineering

 MBT – Model-Based Testing  MDD – Model-Driven Development  DSL – Domain Specific Languages  MBE – Model-Based Engineering  OMG – Object Management Group

 Loosely defined!  The use of diagrams to model data and specify system behavior.  Infinitely different processes?  Not to be confused with formal specification languages such as Z which describe and model computing systems mathematically.

 Have mechanisms for preventing, detecting, and correcting errors at each step. Contradicts some Experts outlook that Model-Based Software Development should be platform independent! (Maybe in years to come)

 Models can be described in many different ways: diagrams, tables, text, mathematical formula, etc.  Two Major Types ◦ Structure: describe entities that make up the design of a software system with relationships included. ◦ Behavior: describe how software systems react when provided with inputs.

 Many different specifications of model-based software development, a need for standardization!  Object Management Group, Inc. founded in 1989 provides substantial standardization for multiple industries.  Process has evolved to include multiple stakeholders and higher abstraction.

 Independence of a specific programming language  Predict bottlenecks and constraints  Predict system performance  More detailed abstraction levels  Achieve high complexity  Encourages good OO

 Can communicate effectively with stakeholders by providing a model.  Create a roadmap for developers to follow.  Track the history of every decision. (essential for Embedded Systems!)  Represents things in thin air (like network or internet components)

 More time modeling and less time coding (if you enjoy coding).  Usability of generated code.

 OMG – Object Management Group  Mission: “develop, with our worldwide membership, enterprise integration standards that provide real-world value.”  Founded in 1989  Any company can join.  In charge of standards that enable powerful visual design, execution, and maintenance of software.

 Specify, visualize, and document models of software systems.  Can also be used for business modeling and modeling of other non-software systems.  Used with UML-based software tools.

 With UML 2.0, there are thirteen types of diagrams: class, object, component, composite, package, deployment, use case, activity, state machine, sequence, communication, timing, and interaction.

 Provides vendor-neutral approach to the challenge of business and technology change.  Separates business and application logic from low level platform technology.  Built on UML and other OMG standards.

 Systems Modeling Language  General-purpose graphical modeling language.  Use for software, hardware, information, personnel, procedures and facilities.  Use for modeling system requirements, behavior, structure, and parametrics to be used with other engineering analysis models.

 Created in  Aimed at software designed for ORB standards.  Easily integrates with many vendors.  Benefit of CORBA: produce interoperable applications that are based on distributed, interoperating objects.

 Data-Distribution Service for Real-Time Systems.  First open international middleware standard directly addressing publish-subscribe- communications for Real-Time Embedded Systems.  Latest version adopted in October 2006.

 Model-Based Software Development has been used much more in embedded applications in the past.  Process is essential for verification ◦ Automotive ◦ Middleware ◦ Aerospace

 Description of development activities.  Activities are repeatable, undoable, and traceable.  Activities generally include low-level tasks but can also include higher level domain- specific tasks like functionality for a target platform.

 All activities in the process models are defined in terms of the entities in the product models.  Need explicit models for this to work.  The more models the better.

graphical construct used to communicate a model-based software development methodology Doesn’t actually correlate directly with the model- based software development process.

Quickly test and iterate strategies in real-time. Use math modeling program like Simulink

This method uses model-based software development to greatly increase productivity

 Automotive Model-Based Development Project 2005  Goal: Develop an integrated methodology for model-based development of automotive control software.  Based on AutoFOCUS framework.

AutoFocus Framework

 Highly modulated to reduce complexity  Enhanced features such as allowing signals with different frequencies An AutoMoDe Mode Transition Diagram specifying engine operation modes.

 “Model Driven Development for J2EE Utilizing a Model-Driven Architecture (MDA) Approach” (June 2003)  By The Middleware Company  Productivity Analysis, shortly after MDA came out.  Results: MDA team developed application 35% faster than traditional team.

 “Model-Based Development of Fault-tolerant Embedded Software” (2007)  By: Technische Universitat Munchen  Focuses on automatic code generation and issues regarding verification.  Use of Simulink.

 The argument: By generating source code the certification becomes much easier. Code Generation Architecture

Code Generation Process

 Conclusion: The use of application- independent templates that are mapped automatically to compilable source code offers many advantages.

 Improve automatic code generation.  The use of UML to predict performance metrics and dynamically change model if needed to reach performance goals.  Improve usability in Model-Based Software Development.

 Microsoft Spec Explorer (Model-Based Testing)  Nmodel (Model-Based Testing)  Simulink (Model-Based Design)  Rational Rose Product Line  Rational Rhapsody

 MBT – Automatic generation of software test procedures, using models of system requirements and behavior.  Requires up-front model completion.  After the model is created, test suites are automatically generated.  Test suites contain test sequences and test oracle.

 Advantages of Model-Based Testing ◦ Rules are specified once ◦ Lower project maintenance cost ◦ Design more and code less ◦ High coverage ◦ Model authoring is independent of implementation ◦ Can test concurrently with other team members

 Model-Based testing and analysis framework for programs written in C#.  Features test generation tool and test runner.  Can show paths to unsafe states.  Focuses primarily on finite state machines.  Can show traceability  User friendly

 Paths to unsafe states

Simple Model Viewer User Friendly

Traceability

 Embedded Systems  Extensive libraries and predefined blocks  User friendly  Model analysis and diagnostics tools  Can do applications in signal processing, video processing, image processing and much more.  Can include handwritten C, Fortran, and Ada code directly into your model.

 Model-Driven Software Development Programs.  Currently seven different products.  Provides fully automated design-to-code translation for Java, C, and C++, and few others.  Only some products support up to UML v2.0  Most can integrate with other Rational products

 MDD environment for embedded and real- time systems and software.  Generates C, C++, Java and Ada applications.  Generates real-time sequence diagrams during debugging.  High traceability capabilities.

 Has support for industry standard modeling languages (UML, SysML)  Validate functionality early in development.

 Model-Based Software Development has many advantages and few disadvantages.  With the right process, MBD can conquer high complexity systems with more modeling and less coding.  MBD is a hot topic of research with some solid potential in many software domains.

 [1] Martens, A. & Heiko, K. (2007). Automatic, Model-Based Software Performance Improvement for Component-based Software Designs. Retrieved January 25, 2011 from  [2] Niz, D. (2009). Diagrams and Languages for Model-Based Software Engineering of Embedded Systems: UML and AADL. Retrieved January 25, 2011 from  [3] Ziegenbein, D. & Bosch, R. & Braun, P. (2005). AutoMoDe - Model-Based Development of Automotive Software. Retrieved January 26, 2011 from  [4] Baleani, M. & Ferrari, A. & Mangeruca, L. (2005). Correct-by-Construction Transformations across Design Environments for Model-Bases Embedded Software Development. Retrieved January 26, 2011 from  [5] Parastoo, M. & Vegard, D. & Tor, N. (2009). Definitions and Approaches to Model Quality in Model- Based Software Development-A Review of Literature. Retrieved January 28, 2011 from  [6] Grieskamp, W. & Tillmann, N. & Veanes, M. (2004). Instrumenting Scenarios in a Model-Driven Development Environment. Retrieved January 29, 2011 from  [7] The Middleware Company. (June 2003). Model Driven Development for J2EE Utilizing a Model Driven Architecture (MDA) Approach. Retrieved January 22, 2011 from  [8] Buckl, C. & Knoll, A. & Gerhard, S. (2007). Model-Based Development of Fault-tolerant Embedded Software. Retrieved January 26, 2011 from  [9] Bohner, S. & Mohan, S. (2009). Model-Based Engineering of Software: Three Productivity Perspectives. Retrieved January 26, 2011 from  [10] Bohner, S. & Mohan, S. (2009). Model-Based Engineering of Software: Three Productivity Perspectives. Retrieved January 26, 2011 from

 [11] Jacky, J. & Veanes, M. & Campbell, C. & Schulte, W. (2008). Model-Based Software Testing and Analysis with C#. Retrieved January 30, 2011 from  [12] Miller, S. & Whalen, M. & Cofer, D. (2010). Software Model Checking Takes Off. Retrieved January 28, 2011 from  [13] NModel. Retrieved Febuary 4, 2011 from  [14] IBM Corp. Web. Rational Rhapsody Developer. IBM® Rational® Rhapsody® Developer Is a UML or SysML-based Model-driven Development Environment for Technical, Real Time, or Embedded Systems and Software Engineering. Retrieved February 4, 2011 from  [15] Defining Technology, Inc. MRC Home. Retrieved February 5, 2011 from  [16] PrecisionMBA, LLC. V-Cycle. Retrieved February 7, 2011 from cycle.htmhttp:// cycle.htm  [17] Microsoft. Model-Based Testing. Retrieved February 7, 2011 from us/library/ee aspxhttp://msdn.microsoft.com/en- us/library/ee aspx  [18] Microsoft. Model-Driven Development. Retrieved February 7, 2011 from  [19] IBM. An introduction to Model Driven Architecture. Retrieved February 8, 2011 from