620 likes | 639 Views
Explore the challenges and outcomes in component quality certification through software engineering industrialisation. Learn how architectural quality models and prediction methods can be leveraged for software quality certification and identify open issues in the field.
E N D
Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)
Overview • Software Industrialisation & Software Quality Certification • Software Engineering & Software Quality Prediction • How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification • Open Issues Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 2
Overview • Software Industrialisation & Software Quality Certification • Software Engineering & Software Quality Prediction • How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification • Open Issues Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 3
Industrialisation (1) • Epoch in History of Technology 1. Phase: steam engine as technological driver ca. 1780-1840 2. Phase: Electricity as driver: ca. 1840-1960 3. Phase: ICT as driver: since ca. 1990 • Management-Method • Lowering of costs per unit (“Stückkosten”) Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Industrialisation (2) Goal: • Lowering of costs per unit Through: • Standardisation • Specialisation • Automation Standardisation eases specialisation and automation Technologies as drivers: • Steam engine as driver for automation, • Enabled technologies demand standardisation (e.g., railroading) • Which allowed specialisation (e.g., locomotive, wagons, rails, etc.) Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Technology Technology Ways of Industrialisation Standardisation Driver supports / enables supports / enables demands demands Specialisation Automation Driver Driver Technology adapted from: Buxmann, Diefenbach, Hess: Die Softwareindustrie, Springer, 2008 Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Requirements to a technical product ... ... TechnicalProduct Production Use Development and Production • Technical Production: well understood, planable, repeatable • Problems of Software Engineering are problems in development, not production Development Production Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 7
Software-Industrialisation • What actually does: “lower costs per unit” mean for Software? • In particular, as software is not produced by developers. • What actually means Software-Production? • Not only distribution! • But also: • Adaptation • Deployment • Configuration Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Drivers ofSoftware-Industrialisation • Software Components • Software Architectures / Patterns • Software Product Lines / Frameworks / Reference Architectures • Model-driven Software Development • Well-understood Development Processes / Collaborative Processes • Certified Components and Architectures • Software Services and SOAs • Fixed and reasonable Technical Standards which are not ignored. Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Role of Components in an Industrialised Discipline • All industries have components. • Important means for standardisation • Components lower the degrees of freedom during development and, hence, increase the predictability of quality attributes. • The re-use of components blurs the boundaries between development of new software, evolution of software and integration of software (which reflects just the reality). • Re-use of components / composition of systems is isomorphic to re-use / composition of prediction models Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 11
What is a component? • “A component is a contractually specified building unit of software which can be readily composed or deployed.” • “readily composed or deployed”: • without having to understand the interna as a human • these are the two main things to be done with components • not necessarily “black-box”: Information on interna can be available to tools. • “Components are for composition, much beyond is unclear…” (Clemens Szyperski) Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 12
Different Abstraction of Components QoS ( i , es , up , d ) CT Type Type FP ( es ) 1 1 «implements» * * IID QoS ( es , up , d ) Implementation Implementation Instance FP ( es ) Description 1 «deploys» * DID QoS ( up ) Deployment Deployment Instance FP () Description RID Not considered within the Palladio ComponentModel Runtime Runtime Instance i : implementation Description es : external services up : usage profile d : deployment Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Components and Services • A software component is a contractually specified software building block which can be deployed or composed without understanding its internals. • A service is a deployed component. • New role: service provider, new business model • SOAs are not designed, but are evolving • well, nearly • Lightweight service compositions • instead of scripting • one-use software • SLA are needed to describe service, like an interface describes a module. Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Quality of Services • Eased modelling & prediction of quantitative properties: • Mostly synchronous calls • Deployment context and external components fixed Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Service architecture extraction Legacy code wrapping Source Code Method integration Method validation / Demonstrator Legacy Code Design Model Annotations Annotations Service Wrappers Changes Service Architecture Model Service evolution cycle Service evolution cycle UML Resource Model Monitoring Prediction Model Domain knowledge Usage profile Quality impact analysis and simulation Monitoring / Benchmarking Q-Impress Vision(EU FP 7 STREP) Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Certified Components and Architectures and Standards • Needed to ensure trust of unknown foreign components. • Needed to justify costs of architectural modelling. • Certification is usually related to a standard (certification of “standard quality”) • Standards need to be reasonable (more than the expression of the business interests if the members of standardisation bodies) • Standards need to be known and obeyed. Lack of culture in our discipline. Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
A Simple Test on Software Standards • IEEE 610.12-1990 • SE Terminology • IEEE 730-2002 • Software Quality • IEEE 1471-2000 • Software Architecture Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
What is Certification • The verifiable demonstration of qualities of an entity according defined or prescribed standards. • Entities are often technical products (cars, buildings, designs of such products, …) • In the software world most often • processes (CMMi, QIP, ..) or • education / training courses are certified. • If training courses are concerned with specific software products, the certification of such courses is sometims wrongly called “product-oriented certification”. Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Certification of Software Products • In the software world software products are not certified. • Software is different to physical technical products (no wear and tear) but also evolves and designs also need to be certified. • Analogy: Typ appropriation of cars. • Different to verification: • several quality attributes are of concern • entities for certification can be • components • architectures • deployed component (aka services) • whole systems • verifiably demonstratable • according to standards Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Why Certification • Software vendor / Software provider: • for “marketing” (a means to create trust) • because of legal regulations • Software customer: • because also software vendor of composed products • because of legal regulations (of non-software domains) Software Developer Customer Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
What Quality to Certify? • Functional properties of components (close to automated verification) • External non-functional properties of components: • Demonstrate, that formal quality model fits to implementation (and vice versa security) Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Standard Certification Scenario Software Offer Examination & Certification Software Developer Trust Customer Certification Authority Industrialisation Engineering Certification by Prediction Open Issues 24 Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Autonomic Certification Scenario Software Offer Checks certificate Provides certifies tools for certificatie checks Software Developer Customer Certification Authority Industrialisation Engineering Certification by Prediction Open Issues 25 Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Overview • Software Industrialisation & Software Quality Certification • Software Engineering & Software Quality Prediction • How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification • Open Issues Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 26
Elements of an Engineering Discipline [Shaw&Garlan95] • Engineering • Goal-driven optimisation of • Products • Processes • requires • Understanding of the effects of design decisions and changes • Theories on products and processes • Manu-facturing • Division of Labour • Education of Specialists • Use of third party tools • Craft • Customer and Developer often the same person • Talent and Experience instead of Understanding Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 27
State of SE? The same problems since 1968(first Software Engineering Conference) • “The problem of achieving sufficient reliability in the data systems...” • “The difficulties of meeting schedules and specifications on large software projects” • “The highly controversial question of whether software should be priced separately from hardware” Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 28
Approx. size of what is considered as “large” software systems Where stands“Software Engineering” as an Engineering Discipline? • Progress: the same problems since decades, but for considerably larger and more complex systems • “Planning crisis” instead of a “Software crisis” [Glass00]: • Budgets and schedules are rarely done by the developer, much more by managers, sales persons and customers Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 30
Software Engineering:Manufacturing • Division of labour • Roles • Use of specialised tools • (Specialised Education) • Design patterns as a vocabulary on proven solutions to recurring problems Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 31
Problems • Lack of Understanding and Professionalism • “New Motors in three month.” • “Sky scrapers in 5 days.” • Why do not we find books like: • “Heart Transplantations for Dummies” • “Nuclear Weapons in 21 days” • “Flying the Airbus: Easy Access!” • Sky scrapers as large garden houses • Counter productive avoidance of up front costs • Real problem of integrating and using legacy systems Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 32
1. Specification 2. Ignoring 3. Testing 4. Re-Implementing / Re-Designing / Re-Negotiating Treatment of Quality Properties Today Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 33
Analogy and Role Model • John L. Hennessy, David A. Patterson: “Computer Architecture. A Quantitative Approach”, Morgan Kaufman, 1992 (1st edition) “At the core is a quantitative approach to computer design and analysis that uses empirical observation of programs, experimentation, and simulation as its tools.” Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
? ? Missing Properties of an Engineering Discipline Systematic Treatment of Quantitative Software Properties Prediction of global System-Properties Decomposition of global System-Requirements “reaction time below 2 ms” “?” Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 35
Evaluation of Design Alternatives View View vs. View View View View • the quantifiable best of a list of many • trade-off decisions • cost vs. benefits • QA a vs. QA b Controller Controller Model Model Dimensioning of Resources (“Sizing”) vs. Changes of usage profile – Scalability vs. Why do we want to predict quantitative Properties? Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Model-based Prediction of Quantitative Properties UML, ADL, … Response time Throughput, Utilisation, … ExecutableSoftware Software Design Model Results Analysis Results Transformation (MDD) Automated by Tools Analysis / Simulation EstimationMeasurement Annotated Software DesignModel Analysis Model Transformation (MDD) Queuing models Stochastic Petri-Nets, Stochastic Process Algebra, … UML Performance Profile, QML, … Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 42
Scientific Approach to Create Quantitative Models Modell of Software(mit Annotationen) Prediction Predicted Quality Interpretation Abstraction Improvement / Extension Acceptance / rejection of abstract model Comparison Measurement Software Measured Quality Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Validation of Quantitative Models Type 1: Validation of Prediction Model Type 2: Validation of Applicability Case Studies and Controlled Experiemts with Students Typ 3: Validation of Benefits in comparison to different methods Limitations of the Approach Required prerequisites FZI Industrial Partners Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 44
Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 04.01.2020 45
Stochastic Regular Expr. Analysis Palladio Component Model Transformation Comp.Dev. DSL Instance SPA with Scheduling Analysis +Simulation Part of Transformation Soft. Arch.DSL Instance Part of QueueingNetwork Simulation Transformation Part of Sys. Depl.DSL Instance Instance Transformation Part of PerformancePrototype Transformation Execution + Measurement Dom. Exp.DSL Instance Java CodeSkeletons Completion + Compilation Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 04.01.2020 46
PCM Bench Screenshot Roles Component Model Analysis Methods CoCoME Conclusion Component Model Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Tool Support Roles Component Model Analysis Methods CoCoME Conclusion Component Model Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Overview • Software Industrialisation & Software Quality Certification • Software Engineering &Software Quality Prediction • How Architectural Quality Models and Prediction Methods can be used for Softwae Quality Certification • Open Issues Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 49
Factors on Quantitative Component Properties Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 50
Certification Problem • Demonstrating that the relation between quality model and implementation satisfies pre-scribed properties. Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
a(list, count): Execution Time of a()? 2ms 3ms ?ms 5ms Service Effect Specification(SEFF) Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Service Effect Specification (1) Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Service Effect Specification (2) Ecore ComponentDevelopers Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
MediaStore - Architecture Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle
Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 57
Results Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 58
Results Industrialisation Engineering Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 59