Formalized Model Development & Test Generation: Key Role of Abstraction Bernard P. Zeigler Arizona Center for Integrative Modeling and Simulation (ACIMS)

Slides:



Advertisements
Similar presentations
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Advertisements

Architecture Representation
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Lecture # 2 : Process Models
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
DEVS-Based Simulation Web Services for Net-Centric T&E Saurabh Mittal, Ph.D. Jose L. Risco-Martin*, Ph.D. Bernard P. Zeigler, Ph.D. Arizona Center for.
Software Testing and Quality Assurance
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Overview of Software Requirements
Chapter 1 Principles of Programming and Software Engineering.
Replacing Hardware With Software Analysis and simulation of existing hardware using Discrete Event System Specification. By:Philip Felber Aman Gupta Imaduddin.
DEVS and DEVS Model Dr. Feng Gu. Cellular automata with fitness.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
The Key Process Areas for Level 2: Repeatable Ralph Covington David Wang.
UML - Development Process 1 Software Development Process Using UML (2)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
By Manuel C. Salas Advisor: Dr. Bernard P. Zeigler University of Arizona 2008.
CMSC 345 Fall 2000 Unit Testing. The testing process.
ITEC 3220M Using and Designing Database Systems
© Yilmaz “Agent-Directed Simulation – Course Outline” 1 Course Outline Dr. Levent Yilmaz M&SNet: Auburn M&S Laboratory Computer Science &
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
DEVS Namespace for Interoperable DEVS/SOA
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
M&S Based System Development and Testing in a Joint Net-Centric Environment Bernard P. Zeigler, Ph.D., Co-Director, Arizona Center for Integrative Modeling.
Unifying Discrete and Continuous Simulation with Discrete Events: DEVS as the Next Modeling Standard Bernard P. Zeigler Arizona Center for Integrative.
System Testing Beyond unit testing. 2 System Testing Of the three levels of testing, system level testing is closest to everyday experience We evaluate.
 2004 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, by Bodnar/Hopwood 13 – 1 Chapter 13 Auditing Information Technology.
M&S Services at the Crossroads of Service Oriented Architecture and the DoD Architectural Framework Bernard P. Zeigler, Ph.D., Arizona Center for Integrative.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Thomas L. Gilchrist Testing Basics Set 3: Testing Strategies By Tom Gilchrist Jan 2009.
Transforming DEVS to Non-Modular Form For Faster Cellular Space Simulation Arizona Center for Integrative Modeling and Simulation Electrical and Computer.
DEVS-based Modeling and Simulation References: 1.B. P. Zeigler, Hessam S. Sarjoughian, Introduction to DEVS Modeling and Simulation with JAVA: Developing.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Approach and Techniques for Building Component-based Simulation Models Bernard P. Zeigler, Ph.D. Hessam S. Sarjoughian, Ph.D. Arizona Center for Integrative.
Www. senseglobal.com 1 MS4 Modeling Environment (MS4 Me) System Entity Structure based DEVS Modeling and Simulation environment July, 2015 MS4 Systems,
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
 System Requirement Specification and System Planning.
Principles of Programming & Software Engineering
Parallel DEVS & DEVSJAVA
Software Testing.
Auditing Information Technology
Model-Driven Analysis Frameworks for Embedded Systems
Chapter 24 Testing Object-Oriented Applications
Verification and Validation Unit Testing
Approach and Techniques for Building Component-based Simulation Models
Chapter 19 Testing Object-Oriented Applications
Chapter 19 Testing Object-Oriented Applications
DEVS Background DEVS = Discrete Event System Specification
Presentation transcript:

Formalized Model Development & Test Generation: Key Role of Abstraction Bernard P. Zeigler Arizona Center for Integrative Modeling and Simulation (ACIMS) and Joint Interoperability Test Command (JITC) Fort Huachuca, AZ Foundations 04, ASU, Tempe, Oct.13-15

Outline Systems-based framework for M&S –Bernard P. Zeigler and Hessam S. Sarjoughian, “Implications of M&S Foundations for the V&V of Large Scale Complex Simulation Models” Proc. Foundations 02, Laurel, MD, November, 2002, available from Application to Systems Development – Interoperability Standards Conformance Testing Role of Abstraction –Nature of abstraction, scalability –Abstractions employed in JITC application

Simulation-based V&V as an afterthought development of the system simulation tests of the system Government Contractor

Automated test suite design Informal Behavior Requirements at one or more levels of System Specification Simulation based testing Reference Model Formalized Behavior Specification Software- Intensive System Implement- ations Formalized Model System Development Process

Informal Behavior Requirements at one or more levels of System Specification: Systems theory offers well-characterized levels at which requirements for system behavior can be stated informally. Formalized Behavior Specification: The behavior requirements are translated into a formalized model using framework for M&S methodology.. Reference Model: serves as a reference model for any implementation of the standard. This model can be analyzed and simulated with a simulation protocol to study logical and performance attributes Using model continuity, it can be executed in real-time protocol and provides a proof-of- concept prototype for an operational system. Automated test suite design: Branching in the lower path from the formalized specification, we develop a test suite consisting of test models within a test frame that can interact with a System Under Test (SUT) to test its behavior relative to the proposed standard. Simulation based testing: The test suite is implemented in a distributed simulation infrastructure and executed against the SUT. The test suite provides explicit pass/fail/unresolved results with leads as to components/rules that might be sources of failure. Optimization and Fielded Execution: The reference model provides a basis for correct implementation of the standard in a wide variety of technologies. The test suite provides a basis for testing such implementations as SUTs in a suitably extended test infrastructure. Iterative nature of development: The process is iterative allowing return to modify the master formalized model and its informal precursor requirements. Model formalization minimizes the artifacts that have to be modified as the process proceeds. Formalized Model System Development Process

How is simulation software different from other software? It represents the behavior of dynamic systems whose state changes intrinsically depend on time Properly controlling the flow of time is critical Simulation software may combine: –continuous (time-driven) and discrete (event-driven) processes –actual operating hardware and software representations –wall clock and {faster/slower} than real time advance

independent specification of the dynamic system behaves over time methods needed to compare the behavior of the system implementation and the independent specification A Formal Framework for Modeling and Simulation should provide DEVS Experimental Frames

DEVS = Discrete Event System Specification Provides formal M&S framework: specification,simulation Derived from Mathematical dynamical system theory Supports hierarchical, modular composition Object oriented implementation Supports discrete and continuous paradigms Exploits efficient parallel and distributed simulation techniques Theory of Modeling and Simulation, 2nd Edition, Academic Press, 2000, Bernard P. Zeigler, Herbert Praehofer, Tag Gon Kim DEVS Background

DEVS Hierarchical Modular Model Framework Atomic: lowest level model, contains structural dynamics -- model level modularity + coupling Coupled: composed of one or more atomic and/or coupled models hierarchical construction

Automated test suite design: DEVS Federates Standards Document Mil-Std 6016C (JSLIRS) HLA Infrastructure Simulation based testing Reference Master DEVS Model Captured As DEVS Temporal Rules DEVS Model Continuity: System Implement- ations Formalized DEVS-based System Development Process

Interoperabilty Standards Test Generaton Express the Mil-Std 6016C (JSLIRS) as a collection of state variables and transition rules Rules are written as conditions, actions, and exceptions – If D is true now then do action E at time t, unless F occurs in the interim State variables and rules characterize the dynamic behavior of the system Basis for semi-automated reasoning tools to generate test cases that target specific system behavior

Transactions consist of sets of Rules Constraints (Exception) Rules Stop Modify C2 Record for TN 123 Rule Processing Stop, Do Nothing, Alerts, Or jump to other Transaction Track Display Operator decisions Validity checking Transmit Msg Other ConsequentProcessing Jumps (stimuli) to other Transactions of specification Stimuli Transaction Level - example P.1.2 = Drop Track Transmit PreparationProcessing Time outs Periodic Msg

Abstractions: Needed For Scalability Base Specification Abstraction Analyze useful information? Preservation mapping Different abstractions serve to address different questions They may be sequenced combined, and crosschecked Abstractions may be made more concrete (If you could) inverse mapping Answers

Rules Dependency Abstraction Rule 2 depends on (can be affected by the execution of ) Rule 1 if there is a non-empty intersection between the action variables of Rule 1 and the condition variables of Rule 2 Rule 1 A B C Rule 2 C D

Dependency Abstraction and Concretization Rule Abstractions Executable Rules Dependency Graph Analysis Rule Engine Simulation Textual processing Rules Expressed In textual form (XML) Manual Concretization candidate test paths Feasibility Verification test plan

Example Dependency Graph start rule ordinary rule output rule rule text dependencies rule level Rule set: Operator action to initialize the terminal or change data

Example: Path Analysis shortest path (no cycles allowed within) rule under test test sequence for rule under test = feasible path from a start to an output that traverses the rule under test feasible = can be forced on the system under test by starting in a state (variablevalue assignments) that allows the designatied sequence of rule activiations to proceed feasibility has to be checked by rule engine Rule test sequence: 1.Initialize Terminal 2.Check input data validity 3.Transmit J2.2 PPLI message

Abstraction via Modulo Operation on Variable Names G = Rules, Variables Dependency Graph G Modulo Message types Message types Record types invocations G Modulo Record types G Modulo Direct calls Message Flow Data Store Dependency Invocation dependency + Analysis

Abstraction via Rule Set Partitioning G = Rules, Variables Dependency Graph G/group1 G/group2 G/group3 Hierarchical Modular DEVS

Employing Module Abstraction to Discover Test Paths Module abstraction provides a “bird’s eye” view of the overall interdependence of transactions. For example, we might seek a path that tests a desired sequence of transactions, and therefore, traverses a corresponding sequence of transaction modules Such abstraction can eliminate large numbers of possible paths from consideration since paths not present at a higher level cannot appear at a lower level. Moreover discovery of potential paths can be broken into two stages: –discover a path through modules –verify that internal connecting paths within the modules along this path exist Potential paths need to be tested for feasibility using rule engine For large rule sets, this multi-abstraction/multi-stage approach can significantly reduce the search necessary for path discovery.

Summary A Formalized Model System Development Process provides the rigorous basis for specification of behavior. Such specification drives integrated and concurrent development of effective processes to test system implementations. Test generation needs to exploit both micro and macro level analysis. Requirement might be for detailed local function testing or for overall sequence of behaviors Abstraction is the key to the scalability needed to develop and test large complex systems Multi-abstraction/multi-stage path discovery is a scalable methodology We will apply these methods and tools to generate actual test cases, and conduct reviews by SME’s to guide further development This formalized model, semi-automated test case development approach allows JITC to efficiently extract test cases from a standard, convert them to test procedures and apply these directly to a system for Standards Conformance and other testing efforts.