1 / 62

Challenges and Results in Component Quality Certification

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.

sborchert
Download Presentation

Challenges and Results in Component Quality Certification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Challenges and Results in Component Quality Certification Ralf Reussner Universität Karlsruhe (TH) Karlsruhe Institute of Technology (KIT)

  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 2

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  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

  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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. ? ? 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. Industrialisation Engineering  Certification by Prediction  Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 04.01.2020 45

  38. 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

  39. PCM Bench Screenshot Roles  Component Model  Analysis Methods  CoCoME  Conclusion Component Model Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle

  40. Tool Support Roles  Component Model  Analysis Methods  CoCoME  Conclusion Component Model Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle

  41. 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

  42. Factors on Quantitative Component Properties Industrialisation Engineering  Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 50

  43. Certification Problem • Demonstrating that the relation between quality model and implementation satisfies pre-scribed properties. Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle

  44. a(list, count): Execution Time of a()? 2ms 3ms ?ms 5ms Service Effect Specification(SEFF) Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle

  45. Service Effect Specification (1) Industrialisation Engineering  Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle

  46. Service Effect Specification (2) Ecore ComponentDevelopers Industrialisation Engineering  Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle

  47. MediaStore - Architecture Industrialisation Engineering  Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle

  48. Industrialisation Engineering  Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 57

  49. Results Industrialisation Engineering  Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 58

  50. Results Industrialisation Engineering  Certification by Prediction Open Issues Ralf Reussner, KIT, Keynote SERENE 2008, Newcastle 59

More Related