April 22, 2002VMASC Board Meeting Issues in Enhancing Simulation Model Reuse C. Michael Overstreet Richard E. Nance Osman Balci.

Slides:



Advertisements
Similar presentations
Modeling and Simulation By Lecturer: Nada Ahmed. Introduction to simulation and Modeling.
Advertisements

Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Object-Oriented Software Development CS 3331 Fall 2009.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Observer Method 1. References Gamma Erich, Helm Richard, “Design Patterns: Elements of Reusable Object- Oriented Software” 2.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Programming Creating programs that run on your PC
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Data Structures and Programming.  John Edgar2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Software Engineering Muhammad Fahad Khan
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 5 Design Principles II: Flexibility, Reusability, and Efficiency.
Lecture # 06 Design Principles II
Chapter 5 Design Principles II: Flexibility, Reusability, and Efficiency.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
SE: CHAPTER 7 Writing The Program
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Jan. 29, 2002Grand Challenges in Simulation Issues in Enhancing Model Reuse C. Michael Overstreet Richard E. Nance Osman Balci.
The Systems Development Life Cycle
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Enabling Reuse-Based Software Development of Large-Scale Systems IEEE Transactions on Software Engineering, Volume 31, Issue 6, June 2005 Richard W. Selby,
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
By Germaine Cheung Hong Kong Computer Institute
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
CSE 303 – Software Design and Architecture
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
Principles of Programming & Software Engineering
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Lecture 3 Prescriptive Process Models
Introduction to Design Patterns
Systems Analysis and Design
Component Based Software Engineering
Tools of Software Development
HCI – DESIGN RATIONALE 20 November 2018.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Issues in Enhancing Model Reuse
Chapter 1: Software and Software Engineering
Presentation transcript:

April 22, 2002VMASC Board Meeting Issues in Enhancing Simulation Model Reuse C. Michael Overstreet Richard E. Nance Osman Balci

April 22, 2002VMASC Board Meeting2 Motivations for Simulation Model Reuse: To reduce life-cycle costs model specification code specification & implementation V&V plans & execution accreditation To reduce time until new simulation is available near instantaneous construction of new simulations To improve quality of new simulations based on trusted or efficient components

April 22, 2002VMASC Board Meeting3 Perspective/terminology A simulation typically consists of A collection of interacting sim. models An infrastructure enabling interaction of those sim. models Mechanisms for observing or characterizing selected behaviors Mechanisms for user interaction with simulation

April 22, 2002VMASC Board Meeting4 Fundamental assertions - 1: Each simulation is constructed to meet a concrete set of objectives, such as: Improve system performance planning, design Improve understanding scientific modeling; manager’s intuition Reduce training time, improved quality “correctness” of some aspects may not be important Build a fun game laws of physics might be intentionally ignored Generate believable behaviors movies, background for training simulations Different objectives can imply different behaviors, correctness, accuracy, and performance requirements for the same object or situation.

April 22, 2002VMASC Board Meeting5 Fundamental assertions - 2: Objectives determine desired behaviors of models. Desired behaviors determine model content. Models are based on abstractions and assumptions. Appropriateness of abstractions depends on desired behaviors. The models used in simulations reflect sometimes subtle tradeoffs among speed, accuracy, included features, costs.

April 22, 2002VMASC Board Meeting6 Thus: Simulation model reuse must take both original and new objectives into consideration; valid reuse requires consistency between the two sets of objectives. Similarly for model assumptions and constraints

April 22, 2002VMASC Board Meeting7 Occam’s view of simulation: The simplest, minimal model is best: Ease of understanding Quicker implementation Reduced debugging Often most run-time efficient Improved reuse potential (perhaps) easier modification, if needed Bias towards elegant, simple Thus models should be just barely good enough to meet objectives.

April 22, 2002VMASC Board Meeting8 Desirability of minimalist view? Does this enhance or impede reuse? Does this reflect an inappropriate 1950’s view of computing: It’s a sin to waste a cycle.

April 22, 2002VMASC Board Meeting9 Economic facts of simulation: Costs are in development & CPU cycles are free. Tyranny of better software and cheaper hardware: User “needs” are often quite elastic; if it’s not too expensive, it’s a requirement. Faster, cheaper hardware results in unanticipated new uses (e.g., real-time decision support) Many of today’s cutting-edge simulations will be perceived as inadequate tomorrow.

April 22, 2002VMASC Board Meeting10 Conflicting user needs Create “total immersion” interactive environment Create believable environment Create new simulations on demand Create simulations cheaply Incorrect behavior unacceptable Some incorrectness required Games Tutorials Execution efficiency vital

April 22, 2002VMASC Board Meeting11 Example levels of reuse Plug ‘n play: no changes necessary ModSAF a successful example Existing model “easily” altered to provide new or modified behaviors Can result in significant cost benefit Modeling approach useful in new domain Reuse concepts, architecture, designs, etc. Infrastructure reused (e.g., HLA)

April 22, 2002VMASC Board Meeting12 Impossible goal: automated reuse of arbitrary models? Page & Opper showed that deciding if a collection of models meets a set of objectives is NP-complete. Overstreet & Nance showed that deciding if two models are equivalent is unsolvable.

April 22, 2002VMASC Board Meeting13 Feasible goal: automated reuse of specially constructed models ModSAF (OneSAF): can build “new” simulation by combining existing library of models as needed. Each model is built from consistent set of objectives so that it will interact with other models correctly. Adding a new model to library requires that it be built in conformance to these objectives. Still, a slight change in objectives can mean that reuse of these models is undesirable.

April 22, 2002VMASC Board Meeting14 Key reuse issues: research needed - 1 Determining how to locate potentially reusable models Detecting incompatible objectives and assumptions among selected models Building models in such a way that reuse potential is enhanced Determining the level of granularity that best enhances reuse potential.

April 22, 2002VMASC Board Meeting15 Key reuse issues: research needed - 2 Capturing and representing the objectives, constraints and assumptions of each model. Determining if constraints (such as speed, memory) will be met with selected collection of models. If individual models are valid, what does this imply about a new combination?

April 22, 2002VMASC Board Meeting16 Comments on issues Some of these issues are well know to designers of Simulation Programming Languages, for example, granularity: GPSS (and many current simulation programming languages) consists of a collection of reusable models, each easily parameterized. But building a new simulation is like writing a new program from scratch. Use of high level components results in faster development but loss of flexibility

April 22, 2002VMASC Board Meeting17 No single solution Execution overhead: Some models are run once and thrown away Some model executions must meet real-time deadlines Some are execution intensive but not real-time Some models need only be suggestive (wake of a ship at sea); others must be highly precise (fluid flow about a supersonic wing). A solution should be less expensive than the problem it solves we need both quick & dirty simulations and well- documented, highly reusable simulations

April 22, 2002VMASC Board Meeting18 Summary - 1 Reuse is, in large part, motivated by economics. The changing costs of computing changes the models we choose to build. The changing costs of computing changes the economics of reuse: Faster hardware makes execution inefficiencies due to reuse irrelevant

April 22, 2002VMASC Board Meeting19 Summary - 2 Key to reuse is the capturing of objectives, assumptions and constraints. Models can be designed for reuse, but it appears feasible only when objectives are well-understood and stable. Completely automated reuse appears scientifically infeasible. Automated support is more likely economical.