# Delta-lenses: Unweaving alignment and update propagation Zinovy D. Generative software development Lab University of Waterloo.

## Presentation on theme: "Delta-lenses: Unweaving alignment and update propagation Zinovy D. Generative software development Lab University of Waterloo."— Presentation transcript:

Delta-lenses: Unweaving alignment and update propagation Zinovy D. Generative software development Lab University of Waterloo

State-based BX S V’ S’ V S V :put (get, put) Model space Mixing concerns: -- Algebra of put is complicated, eg.,PutPut Hiding  : –Lack of alignment control –Ill -formed sequential comp. of BX  :get and its problems

Wrong sequential composition of state- based BX A B’ A’ B A0A0 B0B0 : k.get : k. put kl C0C0 C’ C : l. get : l. put kk ll

Solution: Delta-based BX put = dif ; dput ; proj Model space V’ :dif  V Model space S S’  :dput S V

Tile algebra: Symmetric case A u B m m corresp. specs (matches) updates :ppg B’ A u* Asymmetric case

Statement: Be honest (algebraically :-), and treat alignment explicitly Delta-based BX provides –separation of concerns, –better interfaces, –better algebra Delta-lenses: Proc. ICMT’2010; Ext. version in JOT Symmetric delta-lenses and tile algebra: GTTSE’2009 Postproc. Springer LNCS Mini tutorial on delta-based sync and tile algebra

Wrong sequential composition of state- based BX A B’ A’ B A0A0 B0B0 : k.get : k. put kl C0C0 C’ C : l. get : l. put kk ll

Delta-based BX Informally, put = dif ; dput ; + where  BB’ = dif (B,B’,Y);  AA’ = dput (  BB’, A), A’=A+  AA’ S0S0 Model space B’ :dif B  B0B0 B1B1 Model space Update space A A’  :dput Strategy pool Y Y

State-based BX A B’ A’ B A0A0 B0B0 :get ( get, put ) Model space Update strateg y pool Y Y A lens is :put 

Problems of state-based BX  Mixing concerns:  Algebra of put is complicated, eg, PutPut  Hiding Y  Lack of alignment control  I ll -formed sequential comp. of BX A B’ A’ B :get :put Y Y

Download ppt "Delta-lenses: Unweaving alignment and update propagation Zinovy D. Generative software development Lab University of Waterloo."

Similar presentations