Download presentation
Presentation is loading. Please wait.
Published bySabrina Gilbert Modified over 9 years ago
1
1 Andrew.Jackson@cs.tcd.ie Toward the Integration of Theme/UML & JPDDs Andrew Jackson, Siobhán Clarke Distributed Systems Group, Dept. of Computer Science, Trinity College Dublin, Ireland, {Andrew.Jackson, Siobhan.Clarke} @cs.tcd.ie
2
2 Andrew.Jackson@cs.tcd.ie Presentation Overview Theme/UML – Well defined AOD language – Supports an symmetric decomposition model Problems (Auction System Case Study) – What we may like to do but cant… JPDD – Contextual join point selection Limitations & benefits
3
3 Andrew.Jackson@cs.tcd.ie Theme/UML > Close Auction sd close() Auction new() AuctionMonitor > start() hasExpired() Loop until true close() _do_New() > Offer Auction.New(..) Bind[{, }] ThemeName(OfferSlice) match[name] sd offer() AuctionsView offer_Offer() offer() Auction new() Auction new(Time) Aspectual Themes Base Themes Join point selection Merge Auction.New(..) AND visibility = true
4
4 Andrew.Jackson@cs.tcd.ie Problems What if I want to specify join point selection that is based on the dynamic state of the system? What if I want to constrain selection based on some property that is not directly related to the join point? Assume: –Textual representation is less intuitive for the designer and they would prefer a means for visually model join point selection
5
5 Andrew.Jackson@cs.tcd.ie Join point designation diagrams *:Auction *:AuctionView new(..) AuctionConstructorJPPD *: AuctionView verified: Boolean [True] *: Auction + new(..) Structural selection contextBehavioural selection context Pattern Signature Identifier Instance Identifier selected elements Instance Identifier Static context: public visibility Dynamic Context: attribute value
6
6 Andrew.Jackson@cs.tcd.ie Theme/UML & JPDD Integration > Close Auction sd close() Auction new() AuctionMonitor > start() hasExpired() Loop until true close() _do_New() > Offer Auction.New(..) ThemeName(OfferSlice) match[name] sd offer() AuctionsView offer_Offer() offer() Auction new() Auction new(Time) *:Auction *:AuctionView new(..) Bind: AuctionConstructorJPPD *: AuctionView verified: Boolean [True] *: Auction + new(..)
7
7 Andrew.Jackson@cs.tcd.ie Limitations - Comprehensibility > Bid > Persistence > Registration > Join > Offer Bind[{,, }]
8
8 Andrew.Jackson@cs.tcd.ie *:* *:Auction set*(..):* *: Register *: RegisteredUser set*(..):* *: Register *: RegisteredUser setCreditCardDetails(CreditCardDetails) *:AuctionView *:Auction makeBid(Bid) *:AuctionsView *:Auction joinAuction(User):* *:Auction +makeBid(Bid) POUpdatesJPDD p{?jp=?jp} P{?ac=?ac} p{?jp=?jp} ?ac ?jp ?ac ?jp AuctionUpdatesJPDDRegisteredUserCCDUpdatesJPDD JoinedAuctionJPDD NewHighestBidJPDD RegisteredUserUpdatesJPDD AuctionOpVisibilityJPDD
9
9 Andrew.Jackson@cs.tcd.ie Other Limitations Limitations –Tooling - Automated UML weaving Themes would need to be well specified to ensure dynamic models available for OCL meta- operations Work has begun to implement this composition in Kermeta (kermeta.org) –Not clear how this can be extended for specific domains? –Open for discussion?
10
10 Andrew.Jackson@cs.tcd.ie Summary & Conclusions In this paper we have: –Identified a limitations of Theme/UML –Shown how JPDDs can over come these –Illustrated how these approaches can be represented JPDD - Theme integration cont’d –Join point selection based on dynamic –Control flow (see paper – aids reuse) –State based (see paper – state based selection) –Data flow (future work)
11
11 Andrew.Jackson@cs.tcd.ie End Discussion 5 mins… –Implementation – Does anyone have a perspective or experiences they want to share with me? –Do designers need this level of expressiveness for join point selection in UML models, do they real need visual models for join point selection? –Reuse: Does improved compensability improve reuse? –Can I design by contract in AOM? Composition Contracts?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.