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