Kestrel HCMDSS Panel Software and Systems Engineering John Anton Kestrel Institute November 16-17, 2004.

Slides:



Advertisements
Similar presentations
Object-Oriented Software Development CS 3331 Fall 2009.
Advertisements

© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
SmartER Semantic Cloud Sevices Karuna P Joshi University of Maryland, Baltimore County Advisors: Dr. Tim Finin, Dr. Yelena Yesha.
Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14, Augsburg Tel.: (+49) 821/ , Fax:
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
November 17, 2004Planning Meeting for HCMDSS Workshop Breakout Session 2(II): Development Summary W. Rance Cleaveland II, PhD CEO, Reactive Systems Inc.
Page 1 Building Reliable Component-based Systems Ivica Crnkovic Chapter 9 Component Composition and Integration.
Azad Madni Professor Director, SAE Program Viterbi School of Engineering Platform-based Engineering: Rapid, Risk-mitigated Development.
Systems & Cross-Cutting Issues Moderator: John Baras Scribe: Eric Cooper Attendees: Claire Tomlin (UC Berkeley), Mingyan Li (Boeing), Lyle Long (Penn State),
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
- 1 - Component Based Development R&D SDM Theo Schouten.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
High Confidence Medical Device Software and Systems: A programming languages and tools perspective Mark P Jones Department of Computer Science & Electrical.
Building software from reusable components.
Software Quality Assurance For Software Engineering && Architecture and Design.
CSC230 Software Design (Engineering)
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Software Considerations in Airborne Systems
Chapter : Software Process
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Mathematical Modeling and Formal Specification Languages CIS 376 Bruce R. Maxim UM-Dearborn.
Chapter 2 Process: A Generic View
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Kestrel Tools for Producing Reliable Software: Synthesis and Analysis Kestrel Institute Palo Alto, California Douglas R. Smith.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
1ARO PI Meeting May 2002I am not Jeannette M. Wing The Question How can we integrate our methods and tools into software development processes seamlessly?
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
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.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
Formal Methods in Software Engineering
MXJ: Model-Centric, Safety- Critical Java for Exploration Matthias Anlauff Kestrel Institute, Palo Alto, CA
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
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.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
High Confidence Software and Systems HCMDSS Workshop Brad Martin June 2, 2005.
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
IS444: Modern tools for applications development Dr. Azeddine Chikh.
Object-Oriented Software Engineering Chapter 1 Software and Software Engineering.
Lecture 21: Component-Based Software Engineering
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
CS223: Software Engineering Lecture 15: Software construction.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Continual Service Improvement Methods & Techniques.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
03/20/021 Spaceport Vision Team Members Organizations that contributed: Air Force NASA NCSS FAA Industry University Etc.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Choosing a Formal Method Mike Weissert COSC 481. Outline Introduction Reasons For Choosing Formality Application Characteristics Criteria For A Successful.
INCOSE IW12 MBSE Workshop 15 INCOSE (MBSE) Model Based System Engineering Integration and Verification Scenario Ron Williamson, PhD Raytheon
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
Software Quality Assurance
Introduction to Software Engineering (2/2)
Software Processes (a)
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
QGen and TQL-1 Qualification
QGen and TQL Qualification
Software Quality Assurance
From Use Cases to Implementation
Presentation transcript:

Kestrel HCMDSS Panel Software and Systems Engineering John Anton Kestrel Institute November 16-17, 2004

Kestrel State of commercial art u How it goes today (roughly): requirements --> spec (maybe UML) --> (partially automated) code production --> testing (unit, integration, model checking) [spiral] Use ‘best practices’ (e.g., CMM-N) UML-based tools Labview , MathWorks (Matlab , Stateflow , Simulink  ), Modelica  Documentation support (e.g., through UML tools, 3GL IDEs, etc.) Quality assurance In-house QA, COTS tools, outsourced services u Problems air gaps referential integrity tool semantics, tool integration code visibility/accessibility (e.g., Labview, MathWorks) code portability (e.g., MathWorks) property assessment on code MC/DC testing impracticality high assurance can be at odds with code clarity non-uniformity of product design policies and their application

Kestrel Some current research for high assurance code u Best practice SEI (CMM-N) Praxis (best practice on steroids) Others u Model checking CMU (strong leadership) NASA (with work from U Kansas) U Cincinnati (BDDs) Rockwell-Collins (with work from UT/Austin) Others u Code QA suppliers tool vendors service providers u “N-GL” environments Programmatica (OGI/Galois) Eclipse (IBM, public domain) Specware (Kestrel Institute, Kestrel Technology) u “Safe” code Simple (MISRA) C (JPL with Kernighan & Ritchie support) Safety critical Java (The Open Group thrust with Bush, Bollella, Locke support) u Correct-by-construction technologies Kestrel, NASA, Z, B, … u Automated certification support AutoSmart (JavaCard, FIPS 140-2, Kestrel) u Reusable (certified) modules Middleware (VU, Wash U, …) Others u Aspect weaving Code level (AspectJ,UBC, IBM) Spec level (HandlErr, etc., Kestrel) u Others …

Kestrel Problems to address for HCMDSS u Language Inconsistency, lack of precision Multiple disciplines for regulatory evaluators to contend with Software spectrum, domain details u Blank screen For developers, testers, evaluators u Application code reuse has not met initial promise Optimization, platforms, change impact, mismatched models, properties of composition

Kestrel Considerations u Formal Jargon u Libraries of specifications

Kestrel Toward efficient (re)certification - Formal Jargon u What is it? In each domain, a description in logic of basic terms, definitions, axioms, desirable properties, functionality, behavior, constraints Organized in a semantically rich taxonomy (systematic evolution) Developed, published and maintained as a standard u Why consider it? Communication (developers, plug & play, FDA, …) Improve economics in the certification process Basis for (abstract) specification libraries u How to get there? Consider development of a new “product line” of standards (NIST, The Open Group, OMG) Domain participants collaborate with regulatory bodies (FAA, FDA,…) Start with a single domain to serve as style-guide for others

Kestrel Toward efficient (re)certification - Specification and proof libraries u Use formal (standardized) language (Formal Jargon) u Libraries of specifications Standardized, domain-specific language Proven properties Support ‘plug & play’ Address functionality & behavior interfaces (static and dynamic aspects) “policies” (e.g., error handling) Include reference implementations and compliance tests Proof libraries Mechanisms for field-time certification maintenance Run-time monitoring archive review Pharmaceutical experience -- but don’t wait for bad news FAA framework for airplane maintenance

Kestrel Summary u Promising directions Formality Abstraction u Challenges Composition “Policy” (design-level mandates) Runtime uncertainties COTS components and certification Tech transfer

Kestrel Bio John Anton is the founder of Reasoning Systems, and Kestrel Technology LLC, where he is now President/CEO. He is also President/CEO/Co-founder of the non-profit Lexia Institute, whose mission is to develop and deliver technology to help dyslexic people and their teachers. In addition, he is a Manager at the Kestrel Institute. Anton has expertise in the areas of control theory, signal processing, software technologies, and their application. As VP for Advanced R&D at Systems Control, Inc., he led a team that built the Reconfigurable Inflight Control System (RIFCS) for McDonnell Aircraft – built using technology from CTRL C (the predecessor to today’s Matlab), which was also built under his leadership. Anton was an Adjunct Professor at Santa Clara University where, for 10 years, he taught courses in linear systems theory, optimal and stochastic control, and decision theory. He received a Ph.D. in Applied Mathematics from Brown, a B.S. from Notre Dame, and was a Fulbright Fellow at the Technische Hochschule, Germany.