Presentation is loading. Please wait.

Presentation is loading. Please wait.

TECHNISCHE UNIVERSITÄT DRESDEN Model-Driven Development for Non-functional Properties: Refinement through Model Transformation Simone Röttger and Steffen.

Similar presentations


Presentation on theme: "TECHNISCHE UNIVERSITÄT DRESDEN Model-Driven Development for Non-functional Properties: Refinement through Model Transformation Simone Röttger and Steffen."— Presentation transcript:

1 TECHNISCHE UNIVERSITÄT DRESDEN Model-Driven Development for Non-functional Properties: Refinement through Model Transformation Simone Röttger and Steffen Zschaler Dresden University of Technology, Dresden, Germany October 14, 2004 7 th UML conference, Lisbon, Portugal

2 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties2/14 Motivation Non-functional properties need to be considered throughout software development –We need to model and analyse non-functional properties –We need to refine non-functional properties along with the functional model –Both adds complexity to the task of designing an application Problem addressed in this talk: –How to Integrate non-functional properties into development process –While Minimizing complexity for application designer

3 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties3/14 An Example: A Simple Client–Server Scenario > response_time value < 470 > response_time value < 470 [for checkPassWd] > response_time value < 500 > response_time value < 500 [for login] > response_time value < 400 > response_time value < 400 [for checkPassWd] compatible! > :UserManager IUserMgt > :VideoServer IUserMgt ILogin

4 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties4/14 An Example: Refining the Specification > request response client_response_time server_response_time :server:client > response_time value < 500 > response_time value < 500 [for login] > response_time value < 470 > response_time value < 470 [for checkPassWd] > response_time value < 400 > response_time value < 400 [for checkPassWd] > client_response_time value < 470 > client_response_time value < 470 [for checkPassWd] > server_response_time value < 400 > server_response_time value < 400 [for checkPassWd] ?? > :UserManager IUserMgt > :VideoServer IUserMgt ILogin

5 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties5/14 Aim of This Work Benefits –Early consideration of non-functional properties –Low-overhead integration into development process To provide support for such refinements of non- functional properties, while shielding the application developer as much as possible from the added complexity. To provide support for such refinements of non- functional properties, while shielding the application developer as much as possible from the added complexity.

6 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties6/14 Outline Process and Role Model –Measurement and Application Designer Technical Background: –The Work of the Measurement Designer –Refinement of Measurement Definitions Conclusions Core idea: Library of non-functional aspects –Provided independently of application development –Including refinement relationships Core idea: Library of non-functional aspects –Provided independently of application development –Including refinement relationships

7 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties7/14 Process and Role Model > performingRole:Role Application Designer Requirements Analysis Implementation Application Design Refinement Constraints for Components Measurement Designer Definition of Measurements Specification of Refinements Measurement Specifications Refinement Specifications

8 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties8/14 Context Model 0..n OperationComponent 1..n +provided_operation 1..n +callee 0..n +used_operation 0..n +caller 0..n OperationCall + start : Instant + end : Instant 0..n 1 +invocations 0..n {ordered} 1 ComponentInstance 0..n 1 +instances 0..n 1 1 +callee 1 +caller 1 Defining the Measurements static dynamic quality_characteristic response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().end - op.invocations->last().start; } CQML + Specification

9 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties9/14 +callee 1 +provided_operation 1..n Another Context Model Refinement: –start and end replaced by more detailed description static dynamic ComponentOperation +callee 0..n +used_operation0..n +caller0..n 1 +invocations 0..n {ordered} 1 ComponentInstance 1 +instances0..n 1 +caller 1 OperationCall sndCall: Instant rcvCall: Instant sndResult: Instant rcvResult: Instant

10 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties10/14 Describing the Refinement Classifier Transformation: Translates Types between context models Classifier Transformation: Translates Types between context models Feature Transformation: Derives values of abstract features in the concrete context model Feature Transformation: Derives values of abstract features in the concrete context model <refinementxform from="coarse.xmi" to="fine.xmi"> <transform feature="OperationCall::start" ownerRef="owner"> owner.sndCall owner.rcvCall

11 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties11/14 Application to the Measurement Definition quality_characteristic response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().end - op.invocations->last().start; } quality_characteristic response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().end - op.invocations->last().start; } quality_characteristic client_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().rcvResult - op.invocations->last().sndCall; } quality_characteristic client_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().rcvResult - op.invocations->last().sndCall; } quality_characteristic server_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().sndResult - op.invocations->last().rcvCall; } quality_characteristic server_response_time (op: Operation) { domain: numeric milliseconds; values: op.invocations->last().sndResult - op.invocations->last().rcvCall; }

12 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties12/14 Back to the Example > response_time value < 500 > response_time value < 500 [for login] > response_time value < 470 > response_time value < 470 [for checkPassWd] > response_time value < 400 > response_time value < 400 [for checkPassWd] > client_response_time value < 470 > client_response_time value < 470 [for checkPassWd] > server_response_time value < 400 > server_response_time value < 400 [for checkPassWd] > :UserManager IUserMgt > :VideoServer IUserMgt ILogin

13 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties13/14 Conclusions Starting Point –Non-functional specifications need refinement just as functional specifications –Application developer should be shielded from the additional complexity Solutions –Measurement Designer provides pre-specified library of measurements –Measurements are specified relative to context models –Different levels of abstraction represented by different context models –Mapping between context models can be used to generate measurement definitions at more detailed levels

14 TECHNISCHE UNIVERSITÄT DRESDEN Thomas Springer Chair of Computer Networks COMQUAD © Steffen Zschaler – MDD for non-functional properties14/14 Future Work Integration of analysis capabilities –Component match analysis –Connectors to model component interactions Appropriate management of context models Structural non-functional refinement –Decomposition, reassignment of non-functional properties


Download ppt "TECHNISCHE UNIVERSITÄT DRESDEN Model-Driven Development for Non-functional Properties: Refinement through Model Transformation Simone Röttger and Steffen."

Similar presentations


Ads by Google