Extending the Palladio Component Model using Profiles and - - PowerPoint PPT Presentation

extending the palladio component model using profiles and
SMART_READER_LITE
LIVE PREVIEW

Extending the Palladio Component Model using Profiles and - - PowerPoint PPT Presentation

Extending the Palladio Component Model using Profiles and Stereotypes Palladio Days 2012, Paderborn M. E. Kramer , Z. Durdik, M. Hauck, J. Henss, M. Kster, P . Merkle and A. Rentschler | November 8, 2012 CHAIR FOR SOFTWARE DESIGN AND QUALITY


slide-1
SLIDE 1

CHAIR FOR SOFTWARE DESIGN AND QUALITY

Extending the Palladio Component Model using Profiles and Stereotypes

Palladio Days 2012, Paderborn

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler | November 8, 2012

KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

www.kit.edu

slide-2
SLIDE 2

Motivation - Organic Growth of the PCM

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 2/12

slide-3
SLIDE 3

Motivation - Organic Growth of the PCM

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 2/12

slide-4
SLIDE 4

Motivation - Organic Growth of the PCM

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 2/12

slide-5
SLIDE 5

Motivation - Intro Example

Example extension: design rationale

B:ResourceContainer A:ResourceContainer :ComponentA :ComponentB :AllocateSeparately Decision allocationContexts[1] allocationContexts[0] invariant:

self.allocationContexts

  • >forAll(ac1, ac2| ac1 <> ac2 implies

ac1.resourceContainer <> ac2.resourceContainer

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 3/12

slide-6
SLIDE 6

Motivation - Requirements

Requirements for a PCM extension mechanism

type-safe typed extensions according to type rules non-invasive no adaptation of the PCM for further extensions lightweight extending has to be easier than complete metamodelling flexible straightforward extensions as well as complex extensions intuitive based on notations that are familiar to many developers composable new extensions can rely on existing ones

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 4/12

slide-7
SLIDE 7

Concept - Key points

Extending PCM using profiles & stereotypes

Similar to UML: profiles consist of stereotypes Common syntax for adding information to PCM elements Enables generic extension tooling within Palladio Can be realized using EMF Profiles [LWWC11, LWWC12]

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 5/12

slide-8
SLIDE 8

Concept - Intro Example

Example extension profile

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 6/12

slide-9
SLIDE 9

Concept - Overview

PCM Profiles - Models, layers and relations

Ecore Profiles MM aProfile aProfileApplication «instanceOf» «instanceOf» «instanceOf»

M1 M2 M3 Metamodel Level

aBaseModel PCM extends «instanceOf» extends «instanceOf»

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 7/12

slide-10
SLIDE 10

Concept - Overview

PCM Profiles - Models, layers and relations

Ecore Profiles MM aProfile aProfileApplication «instanceOf» «instanceOf» «instanceOf»

M1 M2 M3 Metamodel Level

aBaseModel PCM Domain MM aDomainModel extends «instanceOf» «instanceOf» extends references references «instanceOf» «instanceOf»

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 7/12

slide-11
SLIDE 11

Concept - Designing & Using Extensions

Two step extension of the PCM

Specifying a profile in the editor

Extension relations & OCL constraints Attributes & references Dependencies between stereotypes

Registering the profile

Generic use of PCM extensions

Automatic integration into tree-based & graphical editors Stereotypes applicable if restrictions are satisfied Default view for editing stereotype applications Separate storage of profile & stereotype applications

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 8/12

slide-12
SLIDE 12

Implementation - Profile Application

Generic extension of the graphical editor

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 9/12

slide-13
SLIDE 13

Example Extension - Dataflow Security

Without an extension mechanism

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 10/12

slide-14
SLIDE 14

Example Extension - Dataflow Security

Using PCM Profiles

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 10/12

slide-15
SLIDE 15

PCM Profiles - Requirements Revisited

Requirements fulfilled by our approach

type-safe typed extends relations and OCL constraints non-invasive profile definition and application without changing the PCM lightweight specific concepts and tooling for stereotype applications flexible annotation-like profiles with simple-typed information as well as complex profiles referring to extension metamodels intuitive editor support & notation similar to UML profiles composable profiles and stereotypes can depend on existing ones

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 11/12

slide-16
SLIDE 16

PCM Profiles - PIBA

Problem

Extending PCM = repeating information & tooling in an unstructured way

Idea

Propose a uniform extension mechanism and provide infrastructure

Benefit

Reduces effort for future extensions & makes them more reusable

Action

Identify requirements and propose a profile- & stereotype-based approach

Motivation Concept Implementation Example Extensions Conclusion

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 12/12

slide-17
SLIDE 17

References

Philip Langer, Konrad Wieland, Manuel Wimmer, and Jordi Cabot. From UML Profiles to EMF Profiles and Beyond. In Judith Bishop and Antonio Vallecillo, editors, Objects, Models, Components, Patterns, volume 6705 of Lecture Notes in Computer Science, pages 52–67. Springer Berlin / Heidelberg, 2011. Philipp Langer, Konrad Wieland, Manuel Wimmer, and Jordi Cabot. EMF Profiles: A Lightweight Extension Approach for EMF Models. Journal of Object Technology, 11:1–29, 2012.

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 13/12

slide-18
SLIDE 18

Backup - Design Patterns

Without an extension mechanism

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 14/12

slide-19
SLIDE 19

Backup - Probe Specification

Without an extension mechanism

position: ProbeSetPosition ProbeSet Probe EObject 1..* probes 1 * annotatedElement 1 BEFORE AFTER NONE <<enumeration>> ProbeSetPosition

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 15/12

slide-20
SLIDE 20

Backup - UML & EMF Profiles

UML Profiles

Profile & stereotype application stored within extended model No dependencies between stereotypes

EMF Profiles

Persistence in publicly visible XMI-files No dependencies between stereotypes No OCL constraints restricting stereotype application No packages within profiles No inheritance between stereotypes No evaluation of multiplicity constraints

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 16/12

slide-21
SLIDE 21

Backup - EMF Profiles

EMF Profiles - Models, layers and relations

Ecore EMF Profiles MM aProfile aProfileApplication «instanceOf» «instanceOf» «instanceOf» «inheritsFrom»

M1 M2 M3 Metamodel Level

Metalevel lifting by inheritance

  • M. E. Kramer, Z. Durdik, M. Hauck, J. Henss, M. Küster, P

. Merkle and A. Rentschler – Extending the Palladio Component Model using Profiles and Stereotypes November 8, 2012 17/12