Model Base Validation Techniques for Software Insup Lee

advertisement
Model Base Validation Techniques for
Software
Insup Lee
SDRL (Systems Design Research Lab)
RTG (Real-Time Systems Group)
Department of Computer and Information Science
University of Pennsylvania
Philadelphia, PA
7/26/2016
CIS 640-001
1
SDRL & RTG
University of Pennsylvania
PITAC report
• Presidential Information Technology Advisory
Committee (PITAC) report to the President, Feb 1999.
• www.hpcc.gov/ac/report/
• Finding and Recommendations
– Federal information technology R&D investment is
inadequate.
– Federal information technology R&D is too heavily
focused on near-term problems.
– Recommendation: Create a strategic initiative in longterm information technology R&D.
7/26/2016
CIS 640-001
2
SDRL & RTG
University of Pennsylvania
Technical Research Priorities
•
•
•
•
•
Software Research
Scalable Information Infrastructure
High-End Computing
Socioeconomic Impacts
Creating Effective Management Structure for Federal
IT R&D
7/26/2016
CIS 640-001
3
SDRL & RTG
University of Pennsylvania
Software 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.
7/26/2016
CIS 640-001
4
SDRL & RTG
University of Pennsylvania
Software 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)
7/26/2016
CIS 640-001
5
SDRL & RTG
University of Pennsylvania
New 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
7/26/2016
CIS 640-001
6
SDRL & RTG
University of Pennsylvania
Model-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.
7/26/2016
CIS 640-001
7
SDRL & RTG
University of Pennsylvania
Models in Traditional Engineering
• Before we build the real thing...
…we first build models …and then evaluate them


X = cos (h + p/2)
X=
+ cos
x*5 (h + p/2)
+ x*5

Selic
7/26/2016
CIS 640-001
8
SDRL & RTG
University of Pennsylvania
Software 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
{x[I] = y[I+1];
case x[I] of
{1 : if (x[I]…
.
.
.
Software is the only engineering medium in which
models can be evolved into complete implementations
7/26/2016
CIS 640-001
Selic
9
SDRL & RTG
University of Pennsylvania
Software 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
7/26/2016
CIS 640-001
Requirements
Design
specification
Implementation
10
Q&A
7/26/2016
CIS 640-001
11
Download