Summary MODEL MOdel DrivEn and quaLity Antonio Troina [708267], Federico Villa [720492] {antonio.troina , federico.villa}@mail.polimi.it Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it May 27, 2008 MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Summary
MODELMOdel DrivEn and quaLity
Antonio Troina [708267], Federico Villa [720492]{antonio.troina , federico.villa}@mail.polimi.it
Argomenti Avanzati di Ingegneria del Software - Politecnico di Milanohttp://www.polimi.it
May 27, 2008
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
MDE in Software EngineeringDevelopers represent designs using models that conform to anappropriate metamodel which are then automatically transformed toimplementation by specific tools
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
I it’s a programming language or specification language dedicated to aparticular problem domain (e.g queries for database, regularexpression for text search)
I it provides a language with notation and concepts geared to thedomain
I while models are tend to be designed for describing structures, DSLare suitable to describe businness logic
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
I Computation Independent Model CIM: it’s a view of the systemfrom the CIV. It does not show details of the structure of thesystem, but only its functionalities.
I Platform Independent Model PIM: it’s a view of the system from theplatform independent viewpoint. with no implementation detail.
I Platform Specific Model PSM: it’s a view of the system from thePlatform Specific Viewpoint, and contains technical concepts aboutthe structure of a platform.
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
I CIM is defined, generally by businness analyst.I CIM is transformed in PIM by an Enterprise ArchitectI PIM is transformed in a PSM by a platform specialist
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Quality Overview
What is Software Quality?
I Quality is very difficult to understandI Trascendent view: quality is something that can be perceived but not
definedI Manufacturing view: Quality as conformance to product
specificationsI User view: quality as fitnes for the user’s pursposeI Value based: ability of the software to generate moneyI Product view: quality decomposed in several aspect related to the
product
I From the point of view of the sw engineering, during thedevelopment phase we can check only internal properties andapplication model!
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Performance Analysis and Prediction
Performance Analysis and Prediction - Characteristic
I Accuracy
I Adaptability: it must tolerate architecture changes
I Cost effectiveness: it should be less expensive than a prototype
I Compositionary: Software has generally a hierarchical structure, itshould be able to use analysis on lower layers to predict performanceon higher layers
I Scalability: it must be adaptable to software grain
I Analizability: it have to show flows in architecture design
I Universality: it must be adaptable to different technologies
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Performance Analysis and Prediction
Software Performance Engineering
I introduced for the first time in 1990 by Smith and continuoslydeveloped
I highly disciplined approach necessary to evaluate system performance
I represents the entire collection of software engineering activities andrelated analysis using during the software development cycle whichare directed to meeting performace requirements.
I using SPE, software Architect can predict the performance of thesystem without knowing the application details.
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Performance Analysis and Prediction
SPE - Activities
I Identify system operations and resources
I Define and analize requirements, including throughput requirements,using UML diagrams to describe system behaviours
I Predict performance from scenarios, architecture and detaileddesign, modeling the interaction of the system with the resources(generally using petri-net or FSA)
I Performance Testing on the already developed part of the system
I Maintenance and Evolution: predict the effect of potential changesand additions
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Performance Analysis and Prediction
MB Approaches - CB-SPE
I developed by Bertolino and Mirandola
I it consists of two layers:I Component Layer: a Component Developer creates a component
and declares the component predicted performance properties,validated in isolation
I Application Layer: a System Assembler identifies Use Cases andchoose among the available components those who better fulfill thesettled performance requirements. Then, he can proceed with thesystem annotation following RT-UML (RealTime-UML).
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Performance Analysis and Prediction
Software Architecture Based Approach
I A SA is the structure of the system, including components,components interfaces and relationship between them. SA is focusedin the early design phase and represents the first mapping fromrequirements to computational components.
I SA-based approch applies an existing SA analysis method like SAAM(Software Architecture Analysis Method)
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Software Reliability
Software Reliability
I Ability of a computer program to perform its intended functions andoperations in a system’s environment, without experiencing failure.
I it can be studied:I in the late stage of development using traditional Reliability GrowthI in the early stage of development, using UML to predict future
reliability
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Software Reliability
Reliability Growth
I it is a well-structured process of finding reliability problems bytesting, incorporating corrective actions (strategy) and monitoringthe increase of the product’s reliability throughout the test phases.
I it defines Reliability Goals associated to failures
I it’s used to determinate, with a managemente strategy:I if the stated Raliability Goal will be reachedI when the Realiability Goal will be metI the associated cost to that Goal
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Software Reliability
Reliability Profile
I proposed by Rodrigues et al in 2005.
I lightweight extensions of UML, defining a set of stereotypes andOCL constraints
I it is consistent with MDA
I it relies on LTSA, Labelled Transition System analyzer, whichprovides scenario-based model synthesis and model checkingcapabilities to support the analysis.
I The UML Profile for Reliability is translated to XMI (XML MetadataIntechange)
I XMI is translated to an XML format compatible with LTSA
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Software Reliability
Reliability Profile - Steps (2)
I In the first step, scenarios are annotated with the probability oftransition between scenarios and the reliability of the components(probabilities sum to 1)
I In the second step Labeled Transition System is computed from theannotated scenario.
I In the third and forth steps LTS is interpreted as a Markov Modeland reliability is predicted
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Software Reliability
Implied Scenarios
I they are the result of specifying the behaviour of the system from aglobal prospective while expecting the behaviour to be provided bycomponents having only a local system view
I the existence of an implied scenario means that the system producesa trace that reveals a mismatch between behaviour and architecture
I with this tecnique, we can find all the implied scenarios and promotethem to useful scenarios or to delete them
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Model Quality
A short brief
At the very beginning we saw what a model is, and how it can driveengineering in software development.We all know that in MDE, models are progressively refined andtransformed into new models, or code.We can suppose that the quality of the application to be, that usually wecan evaluate after the code generation, depends also on the quality ofmodels that we used in the first phases of our software engineering.
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Empanada
EmpAnADa - Characteristic Example
We can choose, for instance, the Complexity characteristic, from theprevious figure, and analyze some aspects.Complexity is defined as the effort required for understanding a model,and is important for:
I Communication
I Comprehension
I Modification
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Empanada
Metrics - Rules: disambiguation
A metric is a mapping from the empirical domain to the numericaldomain, such that the its value reflects the level of some property of theartifact.Rules can be seen as special cases of metrics: they are mappings to abinary value, true or false.Rules are usually defined for elements of artifacts (e.g. ’Abstract class Xmust have a subclass’).
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Empanada
EmpAnADa - Tools to check quality
I SAAT: The first tool developed within the EmpAnADa project wasthe SAAT tool, that calculates metrics that combine informationfrom different UML diagram types, hence these metrics are specificfor UML.Additionally the tool checks consistency and completeness rules toidentify defects in UML models. Currently the tool covers classdiagrams, sequence diagrams, state diagrams and use case diagrams.
I MetricViev (Evolution): The goal of MetricView is to give moreinsight into UML models by visualizing software metrics that havebeen computed by another tool (for example SAAT) directly on topof the graphical representation of the UML model.
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality Sofware Performace Sofware Reliability Model Quality
Others Definition and MDE
Quality aspects in MDEWithout quality assurance, models can become complex, incomplete,inconsistent with each other, and difficult to maintain. For thesereasons is important to early detect faults in models.There are two main quality criteria in MDE:
I Transformability: models must have ability to be transformed inmodels of greater detail, and to executable pieces of code. It can bedecomposed into:
I Completeness (correct according to the domain)I Relevance (containing no extra elements)I Precision for transformationI Well-formedness or compliance to the model’s metamodel
I Modifiability: changes made to requirement must be propagated andrendered correctly into the models, and reflected in the code. It canbe decomposed into:
I TraceabilityI Well-designedness (or ”not being too complex”)
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it
Quality is a non-functional requirements difficult to understand, whichcan be analyzed form different points of view:
I Performance: using UML annotation is possible to evaluate andpredict performance also in early stages of developing, permittingthe change of the design model of the application.
I Reliability: using UML annotation and stereotypes, and a bit ofcalculus of Probability, is possible to predict reliability issues in earlyphases.
I Quality of a Model: quality of a model deeply influeces quality ofsoftware. Tools are able to check for model consistency and quality
MODEL Argomenti Avanzati di Ingegneria del Software - Politecnico di Milano http://www.polimi.it