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?

Slides:



Advertisements
Similar presentations
Leverage MarkITS for agile solutions delivery that balances strategic thinking with tactical execution for “Business & Technology Convergence” MarkITS.
Advertisements

Course: e-Governance Project Lifecycle Day 1
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
Alternate Software Development Methodologies
Object-Oriented Analysis and Design
SD3049 Formal Methods Module Leader Dr Aaron Kans Module website
Lecture 12 Reengineering Computer-aided Software Engineering Cleanroom Software Engineering.
SE 470 Software Development Processes James Nowotarski 21 April 2003.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Research Perspectives Bill Scherlis CMU SCS DoD Software Summit 9 Aug 01.
Fundamentals of Information Systems, Second Edition
The Rare Glitch Project: Verification Tools for Embedded Systems Carnegie Mellon University Pittsburgh, PA Ed Clarke, David Garlan, Bruce Krogh, Reid Simmons,
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
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
5/24/011 Advanced Tool Integration for Embedded Systems Assurance Insup Lee Department of Computer and Information Science University of Pennsylvania.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Cleanroom Software Engineering Crystal Donald. Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware.
Chapter 3 Software Processes.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Procurement Quality Assurance Use quality as the framework for process/continual improvement Use quality as the framework for process/continual improvement.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
 Contoso is working on Wireless 1xEvDo application to handle high speed 3G application data transfer (voice, video data) in mobile phones while working.
S/W Project Management
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Overview of the Database Development Process
Business Analysis: A Business Unit Perspective International Institute of Business Analysis January 18, 2012.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-Oriented Analysis and Design An Introduction.
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
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.
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Lecture 7: Requirements Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
PLUG IT IN 6 Project Management. 1.Project Management for Information Systems Projects 2.The Project Management Process 3.The Project Management Body.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
High Confidence Software and Systems HCMDSS Workshop Brad Martin June 2, 2005.
Systems Development AIMS 2710 R. Nakatsu. Overview Two philosophies of systems development –Systems Development Life Cycle (SDLC) –Prototyping Alternative.
Hosted by: Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Reliability for FCS Discussion Format May 18-19, 2004 ARO Workshop.
Software reviews Cost impact of software defects Defect amplification model Review metrics and their use – Preparation effort (E p ), assessment effort.
Petter Nielsen Information Systems/IFI/UiO 1 Systems development Methodologies IN364.
ESA Harwell Robotics & Autonomy Facility Study Workshop Autonomous Software Verification Presented By: Rick Blake.
© 2016 LDRA Ltd The FACE Conformance Verification Matrix in Practice.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
Requirements in the product life cycle Chapter 7.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Key Management Issues for Software Reviews
Testbed for Medical Cyber-Physical Systems
Software Processes (a)
Software Processes.
Chapter 2 – Software Processes
Introduction to BTEC Nationals
Automatic Derivation, Integration and Verification
Software requirements
Project Management Chapter 11.
Presentation transcript:

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? –we have to have a good understanding of what industrial people (those building safety & mission critical software) want and need

2ARO PI Meeting May 2002I am not Jeannette M. Wing Our group Carl Gunter Jaime Lee Kang Shin James Widmaier Bruce Krogh Matt Dwyer

3ARO PI Meeting May 2002I am not Jeannette M. Wing Vision For The (near) Future Industry/govt perspective –Build on existing methods (cleanroom, specware) 1.Requirement Document + Operational Profiles 2.Formalize Requirements (identify state variables) 3.State transition diagrams 4.Automate code generation 5.Testing driven from operational profiles –Missing tool support for several transitions (1->2, 2->3) Observations –“process metrics” lead to confidence in product (mismatch from “product-based” methods we’ve discussed) –“reliability” in terms of numbers of 9s (Is reliability sensible? Should it be a question of existence of stimuli in the profile that lead to failure?)

4ARO PI Meeting May 2002I am not Jeannette M. Wing Standard and Certification Standardization of development processes –want a standard way of building HCES software –From requirements to code (and back) –Can we build on existing standards General standards ISO Layers of domains specific standards –Security common criteria, … Certification –regulatory standards (e.g., FAA) –procurement standards (e.g., NSA, FDA) specify metrics about process & product metrics need technologies to provide those metrics

5ARO PI Meeting May 2002I am not Jeannette M. Wing Technology Assessment Lots of popular processes –XP (in embedded systems?) –RUP, UML-based methods –These are not focused on high-confidence as the goal They have some useful ideas –Higher-level descriptions (but weak semantics – UML) –Early feedback (co-develop tests/code – XP) Some methods seem effective –Cleanroom, specware –Designed for production of reliable software –Anecdotal evidence that they can support development of high-confidence system

6ARO PI Meeting May 2002I am not Jeannette M. Wing Required Technologies (for embedded systems?) Requirements are the key –Need support for eliciting requirements Did I account for all the corner cases? Closing the “detail gaps” in requirements Automated guidance in the form of a “wizard” (domain specific) –Need support for formalizing requirements Identification of state variables (semi) automated methods for developing state diagrams Test generation tools –From formal specifications Code generation from models –Some support exists –Is it sufficiently general? –Correctness of code is more important than speed As long as you can meet your deadlines, extra performance is irrelevant Proof generating translators (to verify translation) Scalability and usability of existing formal tools is in question? –Can they be applied to realistic systems? –Can they be used by practitioners?

7ARO PI Meeting May 2002I am not Jeannette M. Wing Integrating Technologies (within HCES teams) Common conceptual framework/process –To plug ideas/technologies into –To get see a path through technologies from reqts to code Map those paths onto the “vision” Technological integration –Standardization of languages/APIs –Make tools available to other team members –Targeted interactions e.g., HERMES -> Bandera for mixed design/code checking e.g., pub/sub research from CMU and K-state

8ARO PI Meeting May 2002I am not Jeannette M. Wing Technology Transfer Initiated by the academia –Students as carriers of technologies internships/employees –Requires that students are trained in appropriate methods and technologies –Publication Initiated by industry –Driven by needs of emerging projects Small demonstration projects –From industry/govt. research organization to development groups –Prototype a real system, if succesful move to have it required on upcoming contracts Robustness of tool support –Tools need to be scalable, documented, … –Insufficient resources in academia, not the focus –Many organizations want a company “on the hook” Challenge problems from industry –Can be lots of work to document reqts for external people –Need to get in at the beginning of a project Long time scale for effective transfer –15-20 year time scale from idea formation to fielded technology Can we view follow on applied research be viewed as tech transfer?

9ARO PI Meeting May 2002I am not Jeannette M. Wing Ways to Sell To Program Current research is helping current DOD projects (e.g., F18, CARA, secure kernel, …) –Having impact on specific artifacts, stages of development –[more specifics here] Prospects for greater impact by better coverage of –Development artifacts –Steps in development process Because we don’t have a complete solution –Missing important tools that will enable more dependable solutions (e.g., requirements -> state var/diagrams) Spin-off technology to private sector –Create COTS technology that can be taken up by DOD more cheaply University Research Initiatives –Research to lay the foundation for the future applied research and applications –Training of researchers (“human resources development”)

10ARO PI Meeting May 2002I am not Jeannette M. Wing Misc What is ARO’s vision for embedded software? –Application domains –Commonality among programs/projects