Endringsdyktige og troverdige systemer – Modellering av avhengigheter for å evaluere systemkvalitet 15. jan. 2009 Aida Omerovic SINTEF IKT/UiO ICT 1 Outline Motivation PREDIQT method Practical application of the method ICT 2 Background System change is inevitable, due to: Maintainance, system evolution Organisational change New collaboration patterns, functionalities, users, regulations, standards, technologies… Dynamics of systems/componenets in collaboration with varying QoS ICT 3 Objectives Trustworthy architecture over time, inspite of adaptions. Preserve both adaptability and trustworthiness. Reduce the time and risk of enabling and deploying more/additional types of collaborations. ICT 4 Approach Only technical, objective and quantifiable aspects Modeling and simulation Predicting architectural change impacts on relevant quality characteristics ICT 5 PREDIQT: “Model Based Prediction of Change Impacts on Architecture Quality” Enables prediction of architectural change-impacts on the quality characteristics. Prior to change deployment Preventative or adaptive, rather than a corrective approach Based on Quality models Design models Dependency views ICT 6 Method overview: the output levels Dependency views ICT 7 Method overview: the process Usage profile, SLA, requirements Define requirements Collect input Quality models Design models (UML, ISO) (UML) Phase 1: creation and evaluation of the prediction models Dependency views (UML) Phase 2: Use of the models to predict impacts of changes Change deployed? Quality prediction Change within the predictability domain? Quality impact analysis and simulation No New change enforcement on prediction models Models QA Yes Revise prediction models? Estimation Statistics Yes Measurement Indicators Logs No Fit the models (quantitative and graphical) Model evaluation: -Evaluate quality of predictions -Derive the predictability domain ICT 8 Applying the method A case study addressing quality prediction of “Validation Authority service” (DNV) Fall 2008 ICT 9 Extracts from VAS specific quality models ICT 10 Conceptual VA quality model - overall Quality: "The totality of characteristics of an entity that bear on its ability to satisfy stated and implied needs" [ISO 8402] ICT 11 Conceptual VA quality model - availability Def.: “the capability of the software product to be in a state to perform a required function at a given point in time, under stated conditions of use.” [ISO/IEC 9126-1]" Rating: Availability uptime uptime + downtime Have to take into account overall availability, as well as service continuity. Downtime: incorrect operation time, downtime (planned or unplanned) etc. ICT 12 Extracts from design models of Validation Authority Service ICT 13 VA interfaces ICT 14 Certificate validation ICT 15 Signature verification ICT 16 A general dependency view ICT 17 Dependency views Based on quality and design models we derive attribute specific dependency views. Decomposition is carried on until estimates can be assigned with acceptable certainty. Nodes on the views: modules, subsystems, services and aspects. ICT 18 Simulations • Dependency views for each quality attribute • Sensitivity analysis • Tool supported simulation of change impacts • On ALL the dependency views, automatically Next, live demos with an exemplary change ICT 19 Fitted dependency views ICT Fictitious values 20 Sensitivity 1,00 Availability 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0 0,2 0,4 0,6 0,8 1 Updates Upgrading Monitoring Database eff. mech. Message routing OS support services Middleware support serv. Hardware Network Measures for OP env. prot. User management Gateway Other Current QCF Sensitivity 1,00 Availability 0,95 0,90 0,85 0,80 0,75 0,00 0,10 0,20 0,30 EI 0,40 0,50 Updates Upgrading Monitoring Database eff. mech. Message routing OS support services Middleware support serv. Hardware Network Measures for OP env. prot. User management Gateway Other Current ICT Fictitious values 21 Fitted dependency views ICT Fictitious values 22 Sensitivity Updates Upgrading Monitoring Database eff. mech. Message routing OS support services Middleware support serv. Hardware Network Measures for OP env. prot. User management Gateway Other Current Scalability 0,97 0,92 0,87 0,82 0,77 0 0,2 0,4 0,6 0,8 1 QCF Sensitivity 1,00 Scalability 0,95 0,90 0,85 0,80 0,75 0,00 0,05 0,10 0,15 EI 0,20 0,25 Updates Upgrading Monitoring Database eff. mech. Message routing OS support services Middleware support serv. Hardware Network Measures for OP env. prot. User management Gateway Other Current ICT Fictitious values 23 Fictitious values Sensitivity 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0 0,2 0,4 0,6 QCF 0,8 1 Updates Upgrading Monitoring Database eff. mech. Message routing OS support services Middleware support serv. Hardware Network Measures for OP env. prot. User management Gateway Other Current Security Security Sensitivity 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,00 0,10 0,20 EI 0,30 0,40 ICT Updates Upgrading Monitoring Database eff. mech. Message routing OS support services Middleware support serv. Hardware Network Measures for OP env. prot. User management Gateway Other Current 24 Fitted dependency views Sensitivity Fictitious values Availability 1,000 Sensitivity Scalability Availability 0,800 0,600 Current 0,500 Other 0,400 Scalability 1,00 Security 0,700 Total quality Total quality 0,900 0,95 Security 0,90 0,85 Other 0,80 Current 0,75 0 0,2 0,4 0,6 Quality attribute 0,8 1 0,00 0,10 0,20 0,30 ICT Contrib 0,40 0,50 0,60 25 Applying PREDIQT 1. Specify the change 2. Enforce the change on the prediction models Design models, nodes (and arcs) of dependency views 3. Establish whether the change is within the prediction domain If point 2 was feasible and sensitivity within the acceptable threshold 4. Simulate the impacts on the dependency views ICT 26 Summary The method enables prediction of implications of architectural changes on the quality characteristics. Applicable as a preventative or adaptive approach at any lifecycle stage Reduces the time and risk of enabling and deploying adaptions Tried out in a major case study and evaluated empirically ICT 27 Thank you! Comments, questions? ICT 28