A Tooling Environment for QualityDriven Domain Specific Modelling

  • Slides: 16
Download presentation
A Tooling Environment for Quality-Driven Domain. Specific Modelling Janne Merilinna

A Tooling Environment for Quality-Driven Domain. Specific Modelling Janne Merilinna

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Problem • There is a gab between

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Problem • There is a gab between requirements engineering and software engineering • This has caused separate processes, methods and tools 1. Requirements engineers produce ambiguous requirements, especially quality requirements, that software engineers don’t know how to implement 3. Requirements engineers might not be aware of what design alternatives are utilized thus preventing them to do impact analysis => The requirements and the software design and implementation start living separate lives 2. Designers don’t know the big picture when they choose between different design alternatives => Impact of different design alternatives to the overall system is not known if even recognized 2

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Goal • There is a need to

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Goal • There is a need to bridge the gab between requirements engineering (RE) and software engineering (SE) • Considering SE, the following is required: • Quality requirements have to be explicitly expressed and connected to corresponding design entities • Promotes designers to understand the quality requirements • Promotes traceability of quality requirements • Quality attributes have to be observable • Evaluation and measurement methods and mechanisms have to be available • Quantitatively (execution-time quality attributes) • Qualitatively (execution- and evolution-time quality attributes) • Quality attributes have to be modifiable • Mechanisms and patterns must be available to affect the quality 3

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Context • Model-Driven Development (MDD) • Quality-driven

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Context • Model-Driven Development (MDD) • Quality-driven DSM (QDSM) • Domain-Specific Modelling (DSM) Þ In single model there would be: • ÞThe DSMrequirements basic architecture Quality that are connected to entities in dependent thei. e. models • MDD/DSM/QDSM is heavily on provided • corresponding In-house metamodels, modelling languages Þ Information on what has been done to satisfy the tool support! • quality In-house code generators requirements I have not seen demonstrations on QDSM Þ • • Means available to alter the quality In-house software framework ÞLets build results one and see if it is useful and what Þ Evaluation/test aregeneration! the pitfalls • Full code ÞMeta. Case Meta. Edit+ as code a QDSM tool • The modelling language and generator specific to very restricted domain enable complete code generation 4

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Context - M-Net Modelling Language • Domain-Specific

VTT TECHNICAL RESEARCH CENTRE OF FINLAND The Context - M-Net Modelling Language • Domain-Specific Modelling Language for M-Net • M-Net modelling language for stream-oriented computing systems (lab example) • Filters • Data streams • Displays • Controllers (switches, comparators) • Python code generator • Complete code generation 5

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Functional Requirements • According to functional requirements, an

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Functional Requirements • According to functional requirements, an application is modelled • Functional requirements: • R 1: Sepia conversion • R 2: Saving sepia converted stream of bitmap images as JPG images • R 3: Tilt video stream 90 degrees right for display • R 4: Show sepia converted and tilted stream 6

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Functional Requirements • According to functional requirements, an

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Functional Requirements • According to functional requirements, an application is modelled • Functional requirements: • R 1: Sepia conversion • R 2: Saving sepia converted • What about as quality requirements? stream of bitmap images JPG images • R 3: Tilt video stream 90 degrees right for display • R 4: Show sepia converted and tilted stream 7

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Quality Requirements • Quality requirements • Display framerate

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Quality Requirements • Quality requirements • Display framerate 25 fps • Application throughput more than 10 fps 8

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Quality Requirements • Quality requirements • Display framerate

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Quality Requirements • Quality requirements • Display framerate 25 fps • Application throughput more than 10 fps • Measurable quality requirements are connected to corresponding parts in the application model • Easier to see what parts of the application model are responsible for the requirements 9

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Testing • What quality attributes the application model

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Testing • What quality attributes the application model promotes? • Reporting mechanism • Code generation -> execution -> run-time reporting back to model via Meta. Edit+ SOAP API • Testing and measuring the application reveal how the application performs but does not reveal the design rationale 10

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting and Evaluating the Quality • Three techniques

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting and Evaluating the Quality • Three techniques to express the impact to quality • Quality per model entity • Model entities provide configuration mechanisms to affect the quality • Pattern-based • Quality discernible by scrutinizing interaction of model entities • Combination on the preceding 11

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting and Evaluating the Quality • Design alternatives

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting and Evaluating the Quality • Design alternatives for increasing performance of IO • Quality per model entity • There is a set of alternative configuration mechanisms for model entities • Code generation is affected • There has to be configuration mechanisms for affecting the quality 12

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting and Evaluating the Quality • Design alternatives

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting and Evaluating the Quality • Design alternatives for increasing performance of IO • Pattern-based technique • The metamodel includes automated modelling-time pattern recognition that tags corresponding model entities • Code generation not affected • The quality is affected by model entity interaction, not by configuration 13

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting the Quality • Optimization of quality with

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Affecting the Quality • Optimization of quality with optimization assistant • Evaluates the model and generates guidance to modeller how to optimize the model according to required properties • Patterns and design example catalogues and their linkage to promoted qualities • Tool support with NFR+ Framework (current work!) 14

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Conclusion • Tool support for Quality-Driven Domain-Specific Modelling

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Conclusion • Tool support for Quality-Driven Domain-Specific Modelling is feasible to implement • Quality requirements explicitly expressed in application models • Measurable qualities (execution-time qualities) easy to define but what about evolution-time qualities? • Are templates domain-specific? • Affecting the quality • Mechanisms embedded to the metamodel and their impact on quality expressed in models • Optimization assistant • More experience is required! • Evaluating the quality • Measuring mechanisms • Great aid! • Pattern recognition • Probably not a great idea but possible to implement • Current work • NFR+ Framework • Seems to be a better solution 15

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Questions? 16

VTT TECHNICAL RESEARCH CENTRE OF FINLAND Questions? 16