Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park 301-405-6606.

Slides:



Advertisements
Similar presentations
Timed Automata.
Advertisements

Object-Oriented Software Development CS 3331 Fall 2009.
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
FIN 685: Risk Management Topic 5: Simulation Larry Schrenk, Instructor.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Unified Modeling (Part I) Overview of UML & Modeling
Models of Computation for Embedded System Design Alvise Bonivento.
Model-based Analysis of Distributed Real-time Embedded System Composition Gabor Madl Sherif Abdelwahed
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
Report WG1 Software-Intensive Systems and New Computing Paradigms Cannes November 12-14, 2008 WG Leader: Martin Wirsing WG Depu ty Leaders: Jean-Pierre.
CprE 458/558: Real-Time Systems
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
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Introduction to Software Testing
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
UML - Development Process 1 Software Development Process Using UML (2)
Free Mini Course: Applying SysML with MagicDraw
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
An Introduction to Software Architecture
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Wireless Networks Breakout Session Summary September 21, 2012.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
MURI: Integrated Fusion, Performance Prediction, and Sensor Management for Automatic Target Exploitation 1 Dynamic Sensor Resource Management for ATE MURI.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
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.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
A Software Framework for Distributed Services Michael M. McKerns and Michael A.G. Aivazis California Institute of Technology, Pasadena, CA Introduction.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Engineering Lecture 10: System Engineering.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Control-Theoretic Approaches for Dynamic Information Assurance George Vachtsevanos Georgia Tech Working Meeting U. C. Berkeley February 5, 2003.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Sub-fields of computer science. Sub-fields of computer science.
OO Methodology OO Architecture.
Model-Driven Analysis Frameworks for Embedded Systems
An Introduction to Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
Presented By: Darlene Banta
Presentation transcript:

Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park NITRD HCSS-AS National Workshop on Aviation Software Systems: Design for Certifiably Dependable Systems October 5-6, 2006 Alexandria, VA

Aviation Systems and Software Aviation systems are complex heterogeneous engineering systems -- hardware and software components Must be viewed as distributed, asynchronous and hybrid dynamic systems Systems of subsystems that sense, make decisions and execute actions ---- many closed-loop subsystems Subsystems that perform this sensing or decision making or action execution are not co-located Communications occur between sensing blocks, decision making blocks and action execution blocks that are subject to greatly varying constraints on timing, communication bandwidth and delay This distributed asynchronous dynamic systems view of avionics systems has not been promoted to date Essential, in our view, for understanding: fundamental architectural issues stability and robustness performance vs complexity trade-offs leads to new fundamental rethinking of the foundations for dynamic collaboration between local subsystems, subject to the constraints of distributed real-time operation, asynchronous operation, bandwidth, delay.

ASS as Distributed Hybrid Systems Current and future aviation systems are software intensive systems Furthermore they are net-centric systems -- they involve many interacting and collaborating agents (c.f. systems or subsystems) In any approach to design for certifiable dependable systems, a systems engineering methodology must be followed – means specifically that interactions with human users, other systems and subsystems, and the environment must be accounted for and evaluated Challenges: –Architecture –Requirements and their Management –Formalization of the constraints imposed by the physical layer(s) –What is meant by a dependable system, as well by certification of a dependable system is not well understood for systems with the characteristics described above.

Compositional Approach -- Components We advocate a Compositional Approach to design for certifiable dependable systems Emphasize dynamic systems as well as dynamic dependability (i.e. we include dynamic monitoring, sensing and corrections as allowed means to achieve dependable systems) Approach marries quantitative systems engineering with a compositional approach to networked systems -- Components are the critical elements. Certification involves both hard certifications well as soft certifications and is accomplished by a synergistic application of performance analysis (optimization, constrained based reasoning, logic) as well as formal models (mode checking, automatic theorem proving, timing analysis including concurrency). Our long term approach will utilize: mixture of methods from computer science (distributed communicating processes, formal models, concurrency, formal verification-validation, model checking, automatic theorem proving) and from control-communication systems (hybrid systems, multi-agent systems, feedback, system dynamics and stability, change detection, adaptive control and correction, robustness).

We develop formal dynamic models for ASS that respect the constraints, while at the same time formally specifying the structure (what the ASS consists of?) and behavior (what the ASS does?) from SE perspective. Within this framework that distributed and asynchronous operation will be built in as constraints (logical or numerical), and where timing, bandwidth and delay constraints between sensing, decision making and action execution blocks will also be modeled. To completely model and understand properties of ASS we need a framework that combines logical and numerical models, thus hybrid systems. But we also need a combination of methods that can handle these hybrid models for decision making, robustness, inference Compositional Approach -- Components

Compositional System Synthesis & Integration Iterate to Find a Feasible Solution / Change as needed Define Requirements Effectiveness Measures Create Behavior Model Assess Available Information Create Structure Model Specifications Perform Trade-Off Analysis Create Sequential build & Test Plan Change structure/behavior model as needed Map behavior onto structure Allocate Requirements Generate derivative requirements metrics Model-based Beyond UML Rapsody UPPAAL Artist Tools MATLAB, MAPLE Modelica DOORS, etc OPCAD CPLEX, SOLVER, ILOG Integrated System Synthesis Tools - Environments missing … Integrated Multiple Views is Hard ! Model-Based Information-Centric Abstractions

Compositional System Synthesis and Integration: the Next Frontier ● From a Reductionist Approach to an Integrative Approach ● The challenge is to generate system predictable behavior by integrating behaviors of the components ● It is not all in the software environments ● Need a combination of ● Model-Based system and software design and integration and ● Deeper analysis of system models and properties

Model-Based System and Software Design and Integration Domain Specific Modeling Languages (DSML) with semantics that can be composed and manipulated Composition platforms  correct by construction systems platforms and models of computations; substantial reduction in V&V System and component behavioral abstractions that can support Incremental System Integration  while preserving testability and predictability Fully integrated semantically control, software and systems design tools and platforms

Deeper Analysis of System Models and Properties Principles for system integration  System Science  Network Science Fundamental performance limitations of networked systems Fundamental implications of physical implementation Fundamental performance limitations of distributed asynchronous systems, with concurrency constraints, with non-collocated sensors, decision making and actuation nodes, with multiple feedback loops, with delay and bandwidth constraints Distributed control of and inference in the same Theories of compositionality Much better integration of logic and optimization for trade-off analysis in dynamical systems

Cross-Linked Executable, Formal and Performance Models for ASS Executable Models Performance Models Formal Models

Cross-Linked Models Executable system models (ESM) utilize modern software engineering methodologies to develop object-oriented and component-based models, utilizing UML2 and other advanced software systems – Rapsody, etc. From these models automatic generation of executable code for all elements is possible. Embedded in these models are semantics of the operation and composition of the various components. Formal system models (FSM) are based on communicating extended finite state machines (deterministic or stochastic) (CEFSM) or on colored timed Petri nets (deterministic or stochastic) (CTPN). They are linked with the executable models via bisimulation relationships, and typically correspond to approximations of the executable models by emphasizing timing behavior of the modeled system in a timed automata sense. Performance system models (PSM) are based on various approximate dynamic system model frameworks (queuing systems, differential equations and fluid flow, difference equations, discrete event systems) together with performance metrics that can be evaluated using the models either analytically or by efficient numerical schemes. Performance models are linked to executable models via bisimulation relationships, and typically correspond to approximations of the executable models emphasizing performance and quality metrics or bounds. Performance models are also linked to Formal models via bisimulation relationships and critical event correspondence.

Cross-Linked Models This is already a substantial extension from current distributed software engineering practice A further extension is that we will develop a formal compositional (or component based) version of this approach. This includes development of semantics for linking components of the software and of the system, including the associated theories of components and compositionality. This, methodology and framework is in itself an important contribution to system science. It is this specific framework and underlying mathematical methodologies that we utilize to describe, model and evaluate the structure of ASS (including software structure and architecture) versus multi-criteria (multiple metrics) performance. Represents an innovative departure from current state of the art in ASS investigations that focus almost entirely on behavior (i.e. the dynamics of the algorithms implemented by the ASS).

Cross Linked Models Our framework allows us to investigate the design of both structure and operation (i.e. behavior) within a well integrated framework. A significant and unique feature of our approach is that we will be able to check correctness of functionality as well as performance of the software system or its components. Furthermore and most significantly the proposed approach and framework allows the automation (to a large degree) of the validation, verification and testing of the software system and of its dynamic operation.