SOUND METHODS and EFFECTIVE TOOLS for ENGINEERING MODELING and ANALYSIS _________________ by David Coppit, College of William and Mary, and Kevin J. Sullivan,

Slides:



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

2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Chapter 4 Quality Assurance in Context
Systems Analysis and Design 9th Edition
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
RISK INFORMED APPROACHES FOR PLANT LIFE MANAGEMENT: REGULATORY AND INDUSTRY PERSPECTIVES Björn Wahlström.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
ISBN Chapter 3 Describing Syntax and Semantics.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
The Experience Factory May 2004 Leonardo Vaccaro.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Introduction to System Analysis and Design
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
Describing Syntax and Semantics
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Hidden Gems of APEX David Gale Software Engineer Oracle Application Express November,
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
Software Construction and Evolution - CSSE 375 Software Documentation 1 Shawn & Steve Right – For programmers, it’s a cultural perspective. He’d feel almost.
Chapter 2-Introduction to Making Multimedia
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Complete and Integrated Lifecycle Management. Challenges 1.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Evaluation of Safety Critical Software -- David L. Parnas, -- A. John van Schouwen, -- Shu Po Kwan -- June 1990 Presented By Zhuojing Li.
Maintaining Information Systems Modern Systems Analysis and Design.
Principles of User Centred Design Howell Istance.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Design: An Introduction by David Budgen Presented by Shane Marcus EEL 6883 – Spring 2007 Presented by Shane Marcus EEL 6883 – Spring 2007.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Copyright John C. Knight SOFTWARE ENGINEERING FOR DEPENDABLE SYSTEMS John C. Knight Department of Computer Science University of Virginia.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
9/01RUT1 NASA OSMA SAS '01 R equirements U se case T ool James R. McCoy SRS Information Services NASA Software Assurance Technology Center
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Software Prototyping Rapid software development to validate requirements.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor.
“How to Measure the Impact of Specific Development Practices on Fielded Defect Density” by Ann Marie Neufelder Presented by: Feride Padgett.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
New Directions in Probabilistic Assessment Henk Roelant, LaRC Joanne Bechta Dugan, University of Virginia Kevin Sullivan, University of Virginia October.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Why Cryptosystems Fail R. Anderson, Proceedings of the 1st ACM Conference on Computer and Communications Security, 1993 Reviewed by Yunkyu Sung
Be.wi-ol.de User-friendly ontology design Nikolai Dahlem Universität Oldenburg.
Lectures 2 & 3: Software Process Models Neelam Gupta.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
CS223: Software Engineering Lecture 25: Software Testing.
LOGO Combining Fault Trees and Event Trees Seung Ki, Shin.
CSCE 548 Secure Software Development Risk-Based Security Testing
Lecture 3 Prescriptive Process Models
Saint- Petersburg State University of Aerospace Instrumentation
Arab Open University 2nd Semester, M301 Unit 5
Verification and Validation Overview
Model-Driven Analysis Frameworks for Embedded Systems
SDLC Model A framework that describes the activities performed at each stage of a software development project.
Department of Computer Science Abdul Wali Khan University Mardan
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

SOUND METHODS and EFFECTIVE TOOLS for ENGINEERING MODELING and ANALYSIS _________________ by David Coppit, College of William and Mary, and Kevin J. Sullivan, University of Virginia Proceedings of the 25th International Conference on Software Engineering Portland, Oregon - May 3-10, 2003 Presentation by Bryan E. Bloss - University of Central Florida, Nov. 2003

1. INTRODUCTION Designing Software Tools for Formal Design ________________________________________________________________________________________ Engineering modeling & analysis methods are based on modeling languages for describing systems, with semantics for mapping expressions (models) to estimates of system properties (results). To be safe and effective, a modeling method requires a language with a validated semantics; feature-rich, easy-to-use, dependable tools; and low engineering costs. Hampered by shortcomings in software engineering & languages, today we lack adequate means to develop such methods.

Two Sub-Problems Addressed in this Paper: - Finding a cost-effective way to ensure semantic soundness of a complex method - Using Package-Oriented Programming (POP) to produce easy-to-use, functionally-rich tools from available software packages (such as MS Office) Results: A package-based tool “Galileo” is evaluated favorably by NASA engineers, and development of “Nova”, a similar tool based on a formal semantics, proves the cost-effectiveness of a combined approach

2. FORMAL SEMANTICS & DEPENDABILITY Why are they important? _____________________________________________________________________________________________________ Specification is more fundamental than implementation. Without a formal specification: - Validation is difficult - No basis for a definitive user reference document - Programmers are left to make uninformed semantic decisions; unable to thoroughly test correct functioning. Tools used in the design of safety critical systems should be treated as critical engineering components. Our inability to develop low-cost, easy-to-use tools can thus be seen as a positive safety mechanism, but far from ideal.

Safety Example: 1996 alert from U.S. Nuclear Regulatory Commission warned of significant errors in several tools which had been adopted for use in nuclear reactor design & analysis Another Example (not in paper): Crater analysis tool, used inappropriately during flight STS-107 to analyze foam damage

3. APPROACH & BASIC RESULTS Developing the Galileo Tool for DFT Analysis ___________________________________________________________________________________________ Observation: Most applications devote less than 10% of their code to the core function of the system! 90% is devoted to superstructure-- support functions such as text & graphical editing, data validation, etc. Package-Oriented Programming (POP) is intended to save time in creating superstructure; frees more resources for the critical design activity: applying formal methods to define & validate the syntax and semantics of the modeling language

The Application: Dynamic Fault Trees (DFT) Graphcal representation of every conceivable sequence of events that could cause a system to fail. Each leaf is a basic event; internal gates define relationships leading to system failures at upper levels. Static trees model how event combinations lead to failures; Dynamic trees are order-sensitive. (Illustrations from CAIB Report)

3./4. CASE STUDY: RELIABILITY ENGINEERING The Problems With Current DFT Languages ___________________________________________________________________________________________ During development of Galileo tool, a non-trivial error was found in the underlying DFT language, DIFtree, where probability of a masked (hidden) failure wasn’t correctly computed Also, DIFtree’s informal specification had left ambiguities on how to handle special cases; prior software implementations answered these questions inconsistently in different parts of the program. And formal validation was time-consuming, due to lack of automation in available syntax & theorem-prover tools, and slow run-time perfomance Worse, the theorem-prover tool required too much user expertise; guidance often needed from the tool’s author

5. The NOVA DFT Tool Like Galileo, uses POP components from MS Office for fault tree editing: - Word for text editing - Visio graphical editor (enhanced for DFT modeling constructs) - Excel for computational results Will allow even more emphasis on formalization & validation than in Galileo

6. END-USER EVALUATION OF GALILEO New version of Galileo tool funded by NASA Langley Research Center, to support new modeling & analysis constructs and be usable in practice Featured in three workshops: 1st- Managers & engineers from several NASA divisions 2nd- Space Station engineers only 3rd- Space Shuttle engineers only A short survey (34 questions) and an in-depth survey (77 questions) were offered to engineers, to evaluate user perceptions of usability & features Feedback indicated that usability was same or better than other tools! Also confirmed that dependability is crucial; a formal specificaltion of the modeling language was second only to a comprehensive test suite as a means for increasing trust.

____Evaluation of this Article ____ Strengths: A well-informed overview of the authors’ experience with developing a new software toolset for practical engineering, while emphasizing formal validation methods. Many implications for the design of other reliability-critical software applications. Weaknesses: Little information on costs saved by POP method; little detail on formal proving methods. Also, the more advanced NOVA tool had not been user-tested at time of publication, so final results aren’t known.

____Questions? ____