Systematic Synthesis of Delta Modeling Languages - SE@RWTH

4 downloads 25971 Views 4MB Size Report
2. Software Engineering and Automotive Informatics, TU. Braunschweig, Brunswick, Germany. Keywords Delta modeling π Modeling π Language engineering π.
!"

#

%$!

"

!

#&' ( ) ( * +( , -

,.

& ( / () ' ,

+ & 0 ( '( ( 1 '1 2+ ( ( 1 + ' 1 30 ( 0 ( () ) 3 ) ( ,( ,& , ( ) + ) ) 3 ) ( , ,& , 4 ( 3 ( ,& , ' & ) ,& , ' 3 & 1) 0 + ) ' ,& , 5 ( ,& , ) ( ( +

1

&

)

+ , 33 & 3 (

3 (

' ,(0 1,

( , )( +& .& 4 ++ 1 , ( + )( , ) () ) &++

,& , ( + + 4 1 (6( , ) ,& , ' ,& , & 3 ) ) ,& , 2 (

( &

& 3 )& ( ,) 3 ) ( , 2& 0 ( ( & )( , 3 7& 3 4 0 & & 3 )& ( , 3+ (0 &)1 ( &)1 0 ( & 4 & & 4 ) ' 0( ,& , ) 3+ + 2( ( , ) ( , 33 , ) , 33 3 & 1 ( ), 3 3 ( + + ( 2 ( / ' # )( , ( ( + )& ( #$%8 ! 4 ++ ! 4 ! 9 /: ) '

(

< =& $ => + +

&++

) '1

75 59

";,

1

= ) )

$ ,(

3 ) ( , ( , + )&

(

,(

< ) ( ,

$ ,& , 5 (

( ,

! < ) ( ,( (3+ + ) 0 +3 &( , ( 1 3 + ( 0 ( & ) 0 +3 + C D ( ) + (+ (0 3 ) ( , (3 , ( , + 1 3 ) (+ (0 3 ) ( , (3( , ) &3 ( 33& ( ( ( & < ) 1 3 ( ( ,1 0 ( ' ) + 0 1( , & E&( 3 0( 3 )( ( + )& ( ,( ( , C! D ( ' ( ) ++ ) 0 +( , 1 3 ( 33 (( ) 0 ( '( ( ( A + )& ( ( & )4 3 ) ( , (E& ) ,& , & ) 0 &++ ) ( ) 0 ( '( ( 1 3 ( , ( ( ) 0 +3 + 3 ( 1 3 ) 0 ( '( ( 1 ( ( + )& ( (0 4 3+ ( ( 4 ) 3 ( 0 ( '( ( 1 3 ) ( , C 4 D ( + + 4 & ) 3 ) ( ,4 3 ( 0 ( '( ( 1 3 ) ( , ++ C 0 ( '( ( 1 3 ) ( , + ) 3 ) ( ,4 )(0 1 3 ( + ) '1 ) (, ) 3 )

&' ) ( ? ,(

( ,4 @A / ;

B (0

( 14 ;

4

))4 3 0 4 3 )( 1 + 3 3 ) 3 4 3'( ) ) + ( ' )) ) + 0() 3 0 ( ) 3 ) ( , + ('( ( ( ) 0 + 4 & 3( , + ( , 3

7&

5 3 1 . &

#

? ,( ( , ) ;& 3 (0 (,4 . & ( =4 5 3 1

3 ( 4 B

[HHK+15] A. Haber, K. Hölldobler, C. Kolassa, M. Look, K. Müller, B. Rumpe, I. Schaefer, C. Schulze: Systematic Synthesis of Delta Modeling Languages. In: International Journal on Software Tools for Technology Transfer (STTT), 17/2015:601-626, Springer Berlin Heidelberg, October 2015. www.se-rwth.de/publications

"

"

. "

* #

&

! " #$ % () & " *

' "

" % (2 $ 3$ (4 * * " * "

"

* * " *

+ *

( *

.

" * " " *5

,

"

. '

& %

" "

* "

-

&

6 7 *

*

"

#( *

& $ " .

" " * &

# &

-

"

&

' *

.

' *

*

" "

.

' *

"

* '

&

&

2

" ) " *

4 &

(

" "

/

"

"

" * "

+ -

#

* "

" "

"

-

.

"

* "

"

' * '

.

-

" "

6

* "

-

"

"

"

'

"

-

" 0 "

"

"

"

1

* '

"

"

"

* *

"

-

0

+

'

1

.

*

-

8 "

"

. .

9

.

" 5

* "

" "

+

*

.

( * .

! "

!

# $

!

%

!

/

.

*

*

. *

)(

. (

!

!

0 )(

"

) 1) '

#

.

*

2

$ %

0 ) ) 1* . 3

,

&

)

)+ 0 ) )"4

'

(

$1 0 ) ) 1)

!

)'

* 0 )( 0 ) )"1* . )+

)+ )&

* ) 1 2

, - ) )

'

0 ) ) 1 *.

)+

) 1

.

0 ) )

!

&) 5

+

)

3

!

9

"

9

#

"

$

#

%

*. # #

.

9

)

$

! "

&

*

9 *

#

*

*

*

/

; < *" =) &

9

)

!

( ; . 0 ) ) 1

"

. #

!) &

9 .

$ %

%

2 ) 1* ) 1)

! !

!

0 ) )!1* 0 ) )%1* .

%

$

#

0 ) 0 )

)

! "

* 6

$

*

.

#

) & .

.

.

0& +1) & , @5 )

0

0 ) ) "1)

0 ) )#1 . 0 ) )$1

0 ) )

>?-* ; 0 ) )#11 9 .

1) &

) ! &

'

.

.

7

* .

. )8 *. .

7 )+

.

"

. .

* )9

,

%

!

% #

(

( )

%

(

*

* . ) & ;

.

.

* ) !) *

( +) $

! "

#

)

%

' * ( (

$

) :

( (

(

# (

!

+) ,( -(

(

% ( +) %

' .* ( ( '

"

0 ) )%1* !

) 0 ) )

1) '

0 ) )

1

. * )8

0 *- /1* 9

0 0 1*

0

0 11)

; * ) )* 1 < !*!!*" =) (

.

)+

2 0 ) ) 4 1) '

; .

. . * .

.

(

+

)+

9

*

) 5 .

* *

9

; . .

0 ) )#1 0 ) )!1) +

#

% 0

>?-) ' @5

*.

* *

;

; .

* A

0 -

)

.

. .

)+ )+

9 A < %* !=)

)+ .

; . .

):

* ) )*

)

;

+

.

. )'

, ) .

)+ )+

>

9

* .

)+

. .

2

) 9

0(

1)

+ ,

2

) & %

0 ) )

, 1) + . 3

B)C)

0

1 0 ) ) 1) & *.

)

&:9 ) .

)'

*

4

# 0 ) )

4

&) 5

55 % 55

& 4

!

%

$

# )& 4 % 4 "1) D

% ! "

55

2 $

0 ) )

#

)

6 ( $

* #

* )

#

#

'

$

( ,( # ( (

%

4 !

(

"

( ) (

# 3 # ( %

* ( (

%

$

# % * ( (

+4 3

) +

.1

%

-

( (

#

3 +

$ '

$

55 &

%

#

55 # ! 4 9!

$ %

# ! 4 % #

# %

+ 8! $

$

.

#

%

( .

0

) #1) 9 3

. #

.*

)/ 0 ) ) #1* 0 ) ) $1*

# # '

#

4

3

+

#

# 4 %$ # 6 ' $ # % $

% +4

,( (

"

$

$ +4

!

$

)

# 4

55 7 4 %

& *

6

$ %

%

* ) )* 4 %

* & /) +

#

4

*

#

)

0 ) ) %1) + 3 !

55 3

4 ) / 3

# 3

"

3 3

# $

:

%

;

' (

!

' ( ' (

( (

55

!! !" !

#

6 3

. . 3

; (

# ! : ; 3 3 : ; +4

!

$

3

)

! !

%

; ' %

$

#

6

( (

*. .

> .

9

) * . *

#1

) 8

. %

%

* 4

)

# )+ . $

+ 0 ) ) 1

*.

'

)

#

)+ $

# .

%

* .

3

3

)/ .

#

9! )

*. 4

.

4

*

)

#

)

% ) 8

;

#

.

)

! ,-* !#

$

$

$ '

'

% &

+

+

% &

((

$ !

" $

( )

)) $

+

*

4

#

%

+

+

$

#

) 8

+

; )

;

*.

)' 4

%

$

;

*

#

) )&

8

*.

*.

; )+ )8

;

)'

*

.

*.

). $

*. ;

3

*

$ '

*&

; *

) "

( )

*&

$ $

8

+

!

*. )

+ 3

3

)+

.

)+ )'

)

9 $

$

* .

9

+

)8

'

.

& /( ) ")

+

'

+

% .

*. @5 .

*

) )-

)' . . .

9

;

*.

)+

2 ; ) )8

!

.

!

"

)

'

"

! "

! "

'

#

" $ %

*

"

!

'

& % $ %

' "

(

' %

'

"

"

" $ !

' "

-

+

.

"

)

'

' "

* ! & %"

'

"

$ % " '

" " !

' '

)

+

* '

"

*

'

+ '

& %

$ %

'

, /

0 "

' .

%

1

!

"

" #

"

" &#

! !

$ "%"

! "'(" &#

*$ " "

" "

&# )" "

+ ,,, ,,,

!

"

"

%

&

" " . "

# "

' -

+ +

!

"."

0

*

0

+

0

+

2

0

+

" +

"

"

% +

" &

+ "

0

"

"/"

*

" "

%

0

+ "

+

"

# " 1

.

(

1

1 1

1

3 /

2 0 5

"

4

.

1

* (" 0

.

1

1

"

1

' *

"

"

&#

" "

"

&#

" "

1 1 1

"

" %

2 & *

7

" " 8 + 6

"

'

" 9

6

4

6

5

&

" 6,5" 1 4& '

6( 4&

5

#

4

(

6(5"

&

" '

"

'

" " "

" !

!


!

# #

4 5 !

.

("

%

%

$ &

# ' .

/ 0 % & ' ' .

,= 4

'

%

66 0

" !

!

%

# $

5

5"

4

/

>.

0 $

?

" /

" / 0

'

0

%

% # 4 "" #5 % %

# 4 $"

%

& %

'

' %

#5 *

-

' 5

9


-

"

" %

! '

"

$

$ ?

%&$

&$

"

&$ $

!

&$

.

'

1 %

$

&$ ! (

%$

'

)

&$

'

+#

% $

&$ %$

# /

9 %

. $

%

&$

1

&$

%$ =

&$

(

?

3 # $ , # , * A %

"

!

= ' && ' 9 '

,

&

!

+

+ -

;,> '

" B!

!

"

!

!

"

( " -

=

% B!

" %

, B!

!

&

A2C' B!

!

%

( 4 ,

%, $

,

(

(

(

,

, = ! ! " ! # / >

$

% &B $

/ %

3 /

3

$ %

A

% ( ,

& $

(

'

&B &B . B!

@ $

.

1

-

&B &B

1 %$

.

%

1 $

$

&B

&B &B

4

% .

$1

: . !

1 * .,

! !

3

'

< 3

1 !

" ! - ." $ 9 %

/0

. /03 !

/0

1 ! ! %,

$

(

3 $

%

!

:

&$

&B ! (

(

$

&$

$

$ !

! .< < %,

'

&$

@ (

-

%$ % % :

,

,

(

%

1

" %, %$

$ &B

( ,

(

% %,

( $

% , %

< ,

$ $

&$

&$

!

(

-

,

%, ( , (

$ /

3

A

$ %

,

%$ $

$ 3

$

$

%

, ,

( (

!

%

&$

%

$ ,

3

%

&

%$ $

3

$ $'

&B $

%

&$ &$

&B $

% %

&B

$ 6 6

%$

$

&B $

$

%

&B

36 % $

$()

9

%'

&

3

%

$

< (

/0

$ $ 9

/03

% /0

$ 3

-

$

! %'

& $

(

%$ %$ %$

,

&$ " &$

( %

$

&$ $

$

&$ .

&$ % % 1

%, , ( , (

(

$ % %$ %

!

A %$ @

&B $ (

&B '

$

%$

! %

% %

"

&B

3

% !

( !

"

( %

!

&B

'

%,

%

/4 9

:

%

(

5 %

! " ! !

"

# #

# "

! $

!

%

#

&

'

()

#

"

* + "

#

#

, 4

# "

"

# -

"

#

$

$

"

#

" "

"

" $

" -

-

# &56 " $

"

"

"

% -

"

$

# #

$

$

$ ) . / " #

# " #

#

$

$ $

$

# &

0 "

" # "

#

7

#

# #

,

&

)

"

" /

$

$

"

2 #

" $

-

1

# $

"

!

$

&

# " #

#

"

"

"

" "

" "

"

-

# "

#

&56%

" "

" ,

#

! ,

" "

!

%

"

" ! "

# &

0

& 3

8

#

"

"

'

# ,

&

"

$

#

2 ) % "

"

) "

" 1

%9

"

$

& : "

1 " "

"

$ " "

" "

"

& : , " & :

& : $ & : " & : " & : /

"

& : &

7 "

" 2

"

0

& : ,

"

& : "

"

"

!

% "

" "

" $

& : "

& :

$ "

, "

"

" "

" "

$ "

$ !

" $

"

5 & -

"

1 1

"

"

"

& :

$

$ "

& : 2

0 "

"

& :

& :

"

" "

& :

& : 4 *

1 .

"

& :

* .

$ $ " & : " & : " & : -

# !

-

-

$ & "

& :

"

!

& :

&56 -

&56%

-

&

%

,

$ ; %< $ $

1

*&56%.

$

-

= >"

? @A ; 9< $

-

>"

?

@ @A ; 9
" @A

/

; 9< $

&56

$ -

4

$

1

%%

$ B " * ,

1

. $ ,

$ *&56%. & &

%

) $ C

!

&56( ,

1

$ $ &

)(

% +)

?

% "

%

1"

& 9:

&

9

& / &

#

9 #

& 6:

:

#

&


+

&

(

# & &

=

&

2

3

-

A $

' &

#

+

&

+

= %

#+

( B

$ (

, 5

=C,

#

D ) .. * BE C' $ C$ ' )$ ' * ) ..1* > ? 0C 3 $ C $ ( 8 ' 7 $ )7 $* ) ..!* > 7C = #& $888 ) * 1F- )-14!* > 7 9 7 ' ? 'C # & C & # $ C $ ? + 5 ' ) 5 '* F . ) ..1* + / : < ' $ C (& $ C7 ; $ , # 7 8 ),7 8G-.* - F ( ' ; H + ) .-.* ! 2 + B ( + 2 'C ' C & $ C$ # , 7 8 ),7 8* ) .. * 4 2 + B : C= #& # $>' 0 ) * -F ) .. * 0

$ 8 -- = -

9 = $

-

=

&


3

,BC $ C8

' / ( I= )8 '/(#=(* F-! ) ..1* -! , K : B : 6 > ' C +

( ' 5K +

C

)$ 8* ) ..4* ( :K & B B 9 + ' 6 > B $C 8 -! $ 7 9 ) 79 G- * F - ( ' ; H + ) .- * -1 : & ( B ' 7 ; 2 7' 6 > $C = # & &@ + $ C$ ? + 5 & ' # $ )5 ' * ) .- * . : & ( B 2 6 : 6 > $C / # & ' $ C8 ( )8 (* ) .--* - : & ( 6 : 6 > $C/ $ C & / #? + '>88 C ' & 8 + & 5$$ -F-. , &: ' ) .--* : & ( 6 03 6 >C ' ( I & & # # 6 ($># .- #. 6? : ( , ) .- * : M 'J #7 > 3 + 0 3 , -4 : & 'L $ C7

" 3

- (

,J

7

$ C $ ) ..4* :

7 = ? $ C( #3

) ..!* : +

9

C> 7

(

) 79 * &

9

8

)(3798*

: + (C'

# $ C$ 8* ) ..!*

8 )$ 0 2 & + C5 & N5 9 $ C7 -- $ 7 # 9 ) 79 G.!* B & -.F- ..! 7 5 )? + * - F- ) ..!* ! 0 7B ? 0 8+ (' , :C' $ C$ 8 4 B

9 , 9

1 B

$ C /L ' > , B

9 - F . ) .- *

7 6 K

' / )' /89 * ) ..!* ? ? ?

2

( B

+ '

B #/ ) =

) .- * : 7 +

6

#

* # -1!F -

>

'

$ C 7

8 B ! F !1 ) .-.* ' > + B > 0 3 + ? 6 & /C6 # C$ / 8 ( #? 7 & $ > )-111* 6 6 > C' # # C $ C= 8 ..! 8 )=3 8* ) ..!* : C/ 7 9 D'9 ( 9 7 & $ 6 ) .. * 6CD #& # 7 / D 3 ) ..1* 6 'J #7 >C #& 6 6 41 ) ..1*

. B

:C '

( - B

D : 6

C (

' 2

E

, 8

# 7

> 5K +

C'

2#

C

'

) BL 8 '

+

, ) .-.* > 5K + C ' 3&
) ..4* ; ; B C ( # & $ C$ 7 9 ) 79 * ) ..4* 7 B >K + , 9 =C 7 9 8 I= 7 : & ) .. * 7 7C ( >$ ; ' ) * F ! )-1! * 6 >C ' D'9 N > ) .--* 6 >C ( ' D'9 > ) .- * 6 7 : ' 6 ( 6 >C 6 8 C, 8 ? > +# ; H + ) .- * $C5 & # $ C$ ? + 5 & ' #$ )5 ' * ) .-.* $ > 9 / = 2 ;C/ # $ C$ # ) 79 * ) .-.* ' C 8 ? +2 + 2 ( 8 + D'9@7 ( $ +> 8 # + 5 ( ) .- * L (C7 C( # & $ C $ ? + , #, ( # )-11.* ?6 + / & / C 8 Q #8 / , 2 $ H ? 0 , $ C L (

0C' > ) 9

& * ' / 9 ; )9; * !- F! > ) ..1* 4 ' R : 0 2 & + C N5 9C - $ B 8 ) 8B8* -F 1 H + ) .. * 1 8 , 0 5 :C ' $ C 6 2#> $ > 0 ) */ 8 > ) .- *

# 8 $ C7 # 8 ( ' ;

.

2

,C ( C

( , )(, $58* ) .. * 2 / '

# + --F !

? + 6

$ C, $ C$

8

? + )8 > * ) .-.* ' B ) .. *

#>

? / 0C 6 / 7 & < > / /S 2 3 C = C $ C$ 8 )$ 8* ) ..!* 5 T / C' & $ C$ # ' / 8 9 )' /89 * -.F ) .. * 5 T / > (C + 7 ) * -4!F .! ) ..!* >

(

! 5K

7 / ' ,

D> $C7

,

( + 5 9 . ? - ?

$ C? + ' = ) * - F'

$ C$ ) 79 * ) ..!* $

'

) .--* #

# +> ) .- * ' 09C(

8 8

#

)'8* ) .--*

) .. * ' B

: B

,C $ C: $ # ):$ * ) ..!* ? 6 7 :K ' 3 ' 6 > ? U (C8 8 C( $ # B ( 7 & ; ) ...* N & C@@ @N @ R : 0 2 & + C N5 9C ( ' : 5 # 7 9 7 ) * 4-F .! ) .. * R : 0 2 & + C(: & # N5 9 $ C 7 - $ # 7 9 C, > ) 79 G-.* 0 < $ .F ) .-.* & #

$ C? + )7=8* ) .. *

(

# $ C$

7

=

8

#