Title: Model Base Validation Techniques for Software
1Model Base Validation Techniques for Software
SDRL (Systems Design Research Lab) RTG
(Real-Time Systems Group) Department of Computer
and Information Science University of
Pennsylvania Philadelphia, PA
2PITAC report
- Presidential Information Technology Advisory
Committee (PITAC) report to the President, Feb
1999. - www.hpcc.gov/ac/report/
- Finding and Recommendations
- Federal information technology RD investment is
inadequate. - Federal information technology RD is too heavily
focused on near-term problems. - Recommendation Create a strategic initiative in
long-term information technology RD.
3Technical Research Priorities
- Software Research
- Scalable Information Infrastructure
- High-End Computing
- Socioeconomic Impacts
- Creating Effective Management Structure for
Federal IT RD
4Software Research
- Findings
- Demand for software far exceeds the Nation's
ability to produce it. - The Nation depends on fragile software.
- Technologies to build reliable and secure
software are inadequate. - The diversity and sophistication of software
systems are growing rapidly. - More and more often, common activities of
ordinary people are based on software. - The Nation is underinvesting in fundamental
software research. - E.g., Space shuttle, Arian 5, Denver airport,
etc.
5Software Research
- Recommendations
- Make fundamental software research an absolute
priority - Fund fundamental research in software development
methods and component technologies. - Support fundamental research in human-computer
interfaces and interaction. - Support fundamental research in information
management techniques for managing, analyzing,
and explaining information and in making it
available for its myriad of uses. - Make software research a substantive component of
every major IT research initiative. - Increase current funding for software research as
follows over fiscal years 2000-2004. (112M,
268M, 376M, 472M, 540M)
6New Research Directions for Software
- Model-based software development
- Multi-faceted programming
- Composable and customizable frameworks
- Collaborative software development
- Intelligent middleware
- Design of networked embedded systems
- System/Software co-design environment
7Model-based software development
- Research goal to move software development
toward the use of high-level, domain-specific
abstractions in the development process. - These high-level, domain-specific modeling
languages must be formal enough to be used
directly for - analysis of designs and
- software generation.
- Model-based software development technologies
should also support a wide range of new
capabilities such as self-monitoring,
self-healing, self-adaptation and
self-optimization.
8Models in Traditional Engineering
- Before we build the real thing...
and then evaluate them
we first build models
Selic
9Software Models
- Abstract representations of programs that
highlight properties of interest - Models help us to reason about a software system
- Expressed using problem domain concepts (vs.
implementation/technology domain concepts)
subsystem subXY () int x,y for I 1 to 55
do xI yI1 case xI of 1
if (xI . . .
Software is the only engineering medium in which
models can be evolved into complete
implementations
Selic
10Software Development Process
- Requirements capture and analysis
- Informal to formal
- Consistency and completeness
- Assumptions and interfaces between system
components - Application-specific properties
- Design specifications and analysis
- Formal modeling notations
- Abstractions
- Analysis techniques (simulation, model checking,
equivalence checking, testing, etc.) - Implementation
- Manual/automatic code generation
- Validation (testing, model extraction, etc.)
- Run-time monitoring and checking
Requirements
Design specification
Implementation
11Q A