Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: " Some Terms To Know  Definition and Good Process  Models  History  Advantages and Disadvantages  Standardization  Industry Specific Usage  Current."— Presentation transcript:

1

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

3  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

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

5  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.

6  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)

7  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.

8

9

10  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.

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

12  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)

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

14  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.

15  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.

16  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.

17  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.

18

19  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.

20

21

22  Created in 1991.  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.

23  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.

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

25  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.

26  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.

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

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

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

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

31 AutoFocus Framework

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

33  “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.

34  “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.

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

36 Code Generation Process

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

38  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.

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

40  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.

41

42  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

43

44

45

46  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

47  Paths to unsafe states

48 Simple Model Viewer User Friendly

49 Traceability

50  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.

51

52  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

53

54  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.

55

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

57  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.

58  [1] Martens, A. & Heiko, K. (2007). Automatic, Model-Based Software Performance Improvement for Component-based Software Designs. Retrieved January 25, 2011 from http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.152.8697  [2] Niz, D. (2009). Diagrams and Languages for Model-Based Software Engineering of Embedded Systems: UML and AADL. Retrieved January 25, 2011 from http://www.sei.cmu.edu/library/reportspapers.cfm http://www.sei.cmu.edu/library/reportspapers.cfm  [3] Ziegenbein, D. & Bosch, R. & Braun, P. (2005). AutoMoDe - Model-Based Development of Automotive Software. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/http://ieeexplore.ieee.org/Xplore/  [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 http://ieeexplore.ieee.org/Xplore/http://ieeexplore.ieee.org/Xplore/  [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 http://portal.acm.org http://portal.acm.org  [6] Grieskamp, W. & Tillmann, N. & Veanes, M. (2004). Instrumenting Scenarios in a Model-Driven Development Environment. Retrieved January 29, 2011 from http://research.microsoft.com/apps/pubs/default.aspx?id=77816 http://research.microsoft.com/apps/pubs/default.aspx?id=77816  [7] The Middleware Company. (June 2003). Model Driven Development for J2EE Utilizing a Model Driven Architecture (MDA) Approach. Retrieved January 22, 2011 from http://www.omg.org/mda/mda_files/MDA_Comparison-TMC_final.pdf http://www.omg.org/mda/mda_files/MDA_Comparison-TMC_final.pdf  [8] Buckl, C. & Knoll, A. & Gerhard, S. (2007). Model-Based Development of Fault-tolerant Embedded Software. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/http://ieeexplore.ieee.org/Xplore/  [9] Bohner, S. & Mohan, S. (2009). Model-Based Engineering of Software: Three Productivity Perspectives. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/http://ieeexplore.ieee.org/Xplore/  [10] Bohner, S. & Mohan, S. (2009). Model-Based Engineering of Software: Three Productivity Perspectives. Retrieved January 26, 2011 from http://ieeexplore.ieee.org/Xplore/http://ieeexplore.ieee.org/Xplore/

59  [11] Jacky, J. & Veanes, M. & Campbell, C. & Schulte, W. (2008). Model-Based Software Testing and Analysis with C#. Retrieved January 30, 2011 from http://www.cambridge.org/gb/knowledge/isbn/item1163498/?site_locale=en_GB http://www.cambridge.org/gb/knowledge/isbn/item1163498/?site_locale=en_GB  [12] Miller, S. & Whalen, M. & Cofer, D. (2010). Software Model Checking Takes Off. Retrieved January 28, 2011 from http://portal.acm.orghttp://portal.acm.org  [13] NModel. Retrieved Febuary 4, 2011 from http://nmodel.codeplex.com/http://nmodel.codeplex.com/  [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 http://www01.ibm.com/software/rational/products/rhapsody/developer/ http://www01.ibm.com/software/rational/products/rhapsody/developer/  [15] Defining Technology, Inc. MRC Home. Retrieved February 5, 2011 from http://www.middleware.org/ http://www.middleware.org/  [16] PrecisionMBA, LLC. V-Cycle. Retrieved February 7, 2011 from http://www.precisionmba.com/v- cycle.htmhttp://www.precisionmba.com/v- cycle.htm  [17] Microsoft. Model-Based Testing. Retrieved February 7, 2011 from http://msdn.microsoft.com/en- us/library/ee620469.aspxhttp://msdn.microsoft.com/en- us/library/ee620469.aspx  [18] Microsoft. Model-Driven Development. Retrieved February 7, 2011 from http://msdn.microsoft.com/en-us/library/aa964145.aspx#mdldrvdv_topic1 http://msdn.microsoft.com/en-us/library/aa964145.aspx#mdldrvdv_topic1  [19] IBM. An introduction to Model Driven Architecture. Retrieved February 8, 2011 from http://www.ibm.com/developerworks/rational/library/3100.html http://www.ibm.com/developerworks/rational/library/3100.html


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

Similar presentations


Ads by Google