!
! "##$"##%
! " #$"% & '( ) * & &+ & & & & #$"% & & &+ & & & & & + , - .+ + , ) + '( + +
/ & - . 0 ( & '( / / #$"% & & & , 1+ + 2 3+ - & 45 & / & * 5 # 1 " 4 + 6 ! ) + 6 +
# -
& + + & . + & + ) +
7 5 &7 8 0 7 7&7 7 9 7 7 9 7 9 & 70 : ; 0 7 # ' #
%B %I :
! " "! # $%$
>% ' 6 & >%% ' 6 >%> ' # >> ,% C>+,%D # & >>% $ >>> >>? , >? ,> C%+,>D # & >?% , >B
% ? ? B B E F F G H %J
%% %% %? %G %G %H >% >% >> >I
& " # '(') *+ !, ?% : >F ?> )#6K#6 ' >G
$-+-' ?>% ?>> #6 ?>? ?>B / / ?>I ' / / ?>E ' $0 ?>F / ' 6 ?>G 2 & ?>H 6 ?? )#6K#6 ??% , , & ??? :& 0 ??B 2 & ??I ! & ?B )#6K#6
. " B% B> B? BB BI
4# ' < < 1 , & , & ) E? ,> & & E?% ' & E?> & & E?? :,$" & E?B #)2 & E?I 2$) "$L & E?E 2$) 1$M # &
>G >H >H >H ?J ?J ?% ?% ?> ?? ?? ?? ?B ?B ?B ?B
&/
?I ?E ?F ?H BJ
.&
B? BB BE BF BG BG BH I>
/,
IF IG IH EJ E% E> E? E? EB
$-+-'
F% ) # ' )
F> (
# & F>% > ' F>> ,% , & F? # 2 & # & F?% % ' F?> ,> , & FB #
EB EI EE EF
E?F (2$ & E?G 2$(2$ & E?H $$$ & & : * ,> 0 ,% ,>
,
5 +
G% )
G> # )#6K#6 G>% G>> G? 2 ( GB 2 GB% 6 H>
% 1#
% 7 8 011* # ' ) ' # '
6& 6/ 66 9/ 96 /
%% %> %? %B %I %E
! " #$%&'(
B I E E F H
>% >> >? >B >I >E >F
" " ) " " *#*+ , -+ .
%> %> %E %H >J >> >B
?% " &/0/ >G ?> " >H ?? / ?J B% B> B? BB BI BE
/ $ ' $ # $ & $ *#*+
?F ?G ?H B% B% B>
I% I> I? IB II IE IF IG IH
% " % . " % . % . ". !"# ". !"# ". 1 !"#
BI IJ IJ I% I% I> I? I? I?
' $ 87+' I%J * . IB I%% "2 IE E% E> E? EB EI EE EF EG EH E%J E%% E%> E%? E%B F% F> F? FB FI FE FF FG FH
, , $ " & % , $ % $%$ , $ ) 3 -+ , $ , $ &' , $ ( , $ ( , $ , $ .
, *#*+ ,
! *#*+ ( 4 -+ + -+ + -+
IF IG E> E? E? E? EB EI EE EE EF EF EG EH F> F> FB FB FI FE FF FF FG
G% * ! 556 GI G> & 7+ GF G? $ HJ % " %JG > " $ %JG
E% &/0/ , FJ E> &/0/ , FJ F% % *#*+ , F? F> ) FH
" + &* : & ( + # & && EJ GIN O(HIP
' ( Q/ R + # O#HIP & , , 8 9 9 ! 9 : 8
: + & & : + & &* O(· HFP ) & +
& & & : &
& &
& 0 &*
/
!
&
O...J>P , + & &
& & & && & & + &+ '::
& ':: '::+ # * ++ & && %HIJ + >JJ ':: + & EJ O! J>+ #,J?P /& & & !) & ( 6 + & & &
1 & & & # + &* & 0 & + & & + /&
' # / &
: + + % & & & & + &
&+ & = & & 6 + & & & + & # + & & + & /* /& & / & & & & & & # @#A & & &
& & R &
&
" +
6 & & : & & + & & & + & & & &
:! ) '
&
& & 6 + @ A + & / & +
, & && & O,(P ) & @ & A
& 0 6 + & & ( & . & # + 6 +
2& & & & & & + & & % & @ A 0 / & > & & + & ? & & & + & & && & & & / . O...J>P / = & & & &
& # # > & @A & @,A
+ / & + @ %A+ & & # , + & & + 0 & + @
.
conceptual
physical
wrapper
statements
logic
>A+ 6 + @+ A & + & & & @2$A O.J?P + & + & & + & 0 # 2$ / + ' / ,
: + & & & & & &
& & & & & @ ,%A ! & &
&
& # & & @ ! ,>A+ & # & & & & & @+ ! ,?A # / 0 & & &+ & & / & &+ 6& %% + C>+,%D & C%+,>D &
# 1 2)!3 6& %> & ' & @#,#A / @'#A+ & /
:! ) '
/
2$ + & @,#A & '#+ & 0 ,# & & 2$ & O.J?P
+ / & & @#,#A & #,#
, *& #,# & &
&
4 &
@'#A + '# &
# 011 2"3 & '
! )
@+ & A
&
P , + * & *
& @#,#A & @,#A
:. = # 11
6 ORD ORD-CODE ORD-DATE ORD-CUSTOMER ORD-DETAIL id: ORD-CODE acc acc: ORD-CUSTOMER acc: ORD-DATE CUS CUS-CODE CUS-DESCR CUS-HIST id: CUS-CODE acc
STK STK-CODE STK-NAME STK-LEVEL id: STK-CODE acc
CUSTOMER
ORDERS
STOCK
CUS
ORD
STK
" #$%&'( ' ) * + + ) + + , +.,/
, / ,* & **) +
011 8 '11
& )"
+ @ & A ! @ # A * T & &T ) + & + + &
+ 0
6 & @,#A @#,#A +
)"
':: 4 & >
!" # ( # %? /
& @A & & & @,A + ! & 6 & &+ / ':: #S
9
$ % & ' > ':: & & & ':: #S ' ?+ )#6K#6 $ + ':: & ' B & & ':: & + &
& & & ' I E
& & ' >
)#6K#6 $ ' F+
& '::
' G + & 6 + ' H
+ @,%A ! @,>A
& & '::
( @ A ':: ':: & & #S ( / ':: & & + #S & &* # >% ':: ':: # >>+ ,% ':: & + & C>+,%D & & # >? ,> ':: & + & C%+,>D & &
' !
"% )%
) ':: &* O- GEP ) '::
& $
& O.J?P
& %$$%$ + &* + + 6& >% / & + U U /
& & 6& >> / & % &
!
" "! # $%$ !" # $ $ $
"
% & '(% ) & (*) & (%&) & (& )
"
& 6 + % +,-./ , : V , @
% ,0/
1 ) ':: )
+ & 6& >>+ ) + ':: .-
$> ) ':: &* = O HGP
1$ 0 & 0
$
':: &
1$
0
' & ( &
0
1$
!:
&
? 6 1$ + & &'+
& 6 + &' + 6& >%+ 6 & ' + & &' &' I & / / + & $+ & @$+ &A+ @ OBFP+ O%J%BP O%F >JP 6& >IA+ (& 2 2 @ O?EP+ OG%>P O%B%FP 6& >IA + = & & $+ &+ + & #
!9
" "! # $%$
- % & (%&) & (%% ) & (% )
- $ % & (%&) & (%% ) & (% )
% & '(% ) & (*) & (%&) & (& ) $ % $ & $ '(/) & $ (% ) & $ - '(/) $ % & (& ) & (. ) & (, ) & (% ) & (% )
"
% & '(% ) & (*) & (%&) & (& ) % $ & $ '(/) & $ (% ) & $ - '(/) % & (& ) & (. ) & (, ) & (% ) & (% )
!:& # "! # D)E"!F '
!
* ' &
011
2 ,%
'::+
@ / & A & 5+
+ & #
'::
& &
!$
$ 2
$ !$
$ ':: !$ + &
(& 2 2
011 1 <
#S # & 6 + & ($ $ 2 33 $ 3&' $3 ( $
$ ':: = @$A & & $ & + &' / ( $
# # ()* + ,> ,% & &*&
!!
" "! # $%$ % & & & &
'(% ) (*) (%&) (& )
!2 234 ( 5 6789!(% ) 62 6744 5 !:(*) 62 6744 5 !:(%&) 62 6744 5 !:(& ) 62 6744 ;98< =< ( 5 ))> !2 96? 5 6 ( 5 )> !2 96? 5 6 ( 5)>
0#01 + 21
* ' &
,> & + & & + & & # 5+ 1 + ':: 1 $ ':: 1 + + 6& >E / % ':: + 6& >B >I+ 1 ( % & + @A #S $ #S / #S 0 4 ':: *
'G ( '::
& #S & ) + = ':: #S '::+ #S+ #S ) #S + 0 ':: . /
! "#
/ + @ 6& >B >IA $ 5 & 0
!:& # "! # D)E"!F '
!&
& + ( & + #S ':: ( #S &
0 + & '::
! ! ! !
* 1 & & & '::
0 ':: & 0 / @ &' &' A+ & 0 & #S & . + 6& >? & & + + & + / 0 6& >F ) & @6+ 7+ 76A & 6 + & / + & & ) & & & & * $ & + & + " 6& >F & ,> 6 + &' / ( ' E+ ' + . '::#S ) &' & &' 1$ # & * ) ':: ( & #S ) ':: ( #S $% ) ':: #S #S ':: % & & #S ':: C%+,>D & + $
!.
" "! # $%$
5 5 5 5 5 5 5 + " @ 5 $ +
+
5 5
- 5 5
+
5 5 5 5 " " " " 5 5 5 5 " " " "
$
3
!:.
!/
?
6 + / + & ':: & #S $ & #S ':: # + % + /& & & & / & @ ,%
A @ ,> & A 6 + U U U% %8U & %8 & & & & #S
) 6& >F+ #S ':: ':: / #S & %
! 21
!
/ )+ & + ':: # & C>+,%D C%+,>D & 2
C>+,%D & + ':: #
C%+,>D & + ':: # % /& & &
+ & #S & ':: /+ & ':: @% + + + 0 + + A & 6 / + '::
' +$ & #
$, & # $ & # $ !
!4
" "! # $%$
D)!E"F
!$
$ & #
$, !$ !$ $ $, $ $
!
D)E"!F '! !+$ !& #!!
$, $ $ $, $ $ !
' E+ & ,> &
! " # $%
' + )#6K#6 $ + ,% ,> ':: )#6K#6 $ "( & '( "( & & &+ & & + "(
% & )#6K#6 $ & & & + + / && OBP =
/ & & &&
& & & &&
)#6K#6 && & / & & && & )#6 @)& # 6 A #6 @# / 6 A
!5 " # '(') *+ ()*+ (,-). // 0 1--1 -0 12.-3 .-). 34)-1 1)-1 ) +3+ 12.-3 5!678 ! ) 5 - .7 ! # ).-3-! 12.-3 )9)+!-)!1:+;)< ! ) =9+1 >(2?)>
! )
// 0 1--1 -0 :*-).1 .-). :*-).1 5:*@7 )9)+!-)!1:+;(2?)< 1:+ ?0. (2?) )9)+ 5*+-!@7 )9)+!-)!1:+;(2?)< (2?)
" &454
','
'%
) )#6K#6 $ / @#6 /A @)#6 0 A ' + & & + + / 0 6 / & / & 0
+1 6& ?% / )#6K#6
# / + ( + ( 0 ) '$ @9 A+ * @9A @9A $ + : ( & ( ( "+ ( . 0 ;:4-A> ! .-.
"
0 !4- 0
0
/ + & ( = )#6K#6 + / # O1J?P
#) * * &
#6 3==3 3=3 & $/ & 6& ?%
(
) & ) + & 6 + # 6& ?% >4 6& ?> ?> # >4 + ( >4
+ ,*% ,
/ / / / ) / / & @&+ + + A / / & /
& / '$ & 6& ?% / '$ 4 6& ?? #6
&9 " # '(') *+ ()*+ 2)*// . -01 ()*+ ? . -0 // )((.- ).=.-). ) A 34)-1 +3+ 12.-3 >//> B5.7C 5.7 ! # >/> B5./78 >/> ! #
4
-
" ,. ,
/ / && ) / / / + & * 373 : 6& ?% / /
" % $0'
)#6K#6+ 0 = + 0 . ;#
;> 8 > ! )
+ & ( 6 +
@B
>08>5D!E7C ! 8
+ @B-+ @B8+ @BC+ 0 . @B- 51@7 !1;(2?)< ?);08@ >1>< ?0. (2?) ?);08@
C D & & ':: & +
) & & & & & & & ½ ¾
½ ¾
& & @ A &
',' )#6K#6 $ ( + & 5
% 6
#6 / & & !& >4>+ & + 4-!*(4 !( !) A-9+
&
)
#6 /
: + & # 1,+ !4 A-9+ ! -(A-3- !) -(A-
)? + & / ) / + # & # U# , %%.
! 56467 ?%
%'
./!0.. 1 :4&1@#:: 56467 %% ) !% :4&A
% %+ !%
B7@ C
6 0#01 '' $
! %% D!
7E%% 5 @!+ !% $ -)' ! "%% :4&1@#:: %% , *
) !
" =2*
49 F $%>+ 1
% !%+ !%% ! (%% 0
'% ;
%A ! : 9 % ! %
: %
3 !
" FG
%1
, !'
) , B)#@ C
+ % *1! %% ! :4& '* , #0$
, )' %
*
% ! %+ '
+
' %%
56467 :4&1@#:: #0$ %% " % !
% ,
+ , ) % !
*1! %%
7
* ' !
! %% %
.
G
G B)#@ C
!"!# $%&'
'
&4
"
3 #H7 '*+ , %
%
, 56467
# 1 + 2 8
+ !, * I
J B; C (%% 0
! %%
'% ; =(0;> ! !,
F , (%% 0 :4&1@#:: 56467 '* , (0;
! ! )
(%% 0 '% ;
)
B;7@ C '% ;
!% %% :
)
34)- * %%+ !%
!% +
34)- *
1%% #0$ 8 , ! % %
9 +
+
! 56467 :4&1@#:: &'
%
!%
:
%% ,
, ! 3 )
% :4& % ) 3*
,' $ + % !
%+
3
!,
+-!1--(.> > +!.( > >H .=+!I2!1--(.-!+1-H .)-!.=+!I2!1--(.-!+1-H > ! >H J
( / + & & # # > > ! ! ! A
) + & / & & >A
//C +I ?-., )((.-1 //C . (2 4),( //$ # > >A
> !
> !
1
1
$
) / ':: ) ':: @DA+ F + + / & # + & #6 / & @A 0 F+ & & & + & +
& 0 & 0 ( ':: & #6 + #6
6& B> / ':: & " & + & #6 ':: & & 6 + 5+ & / ':: 4# #6 &
# + 5 ':: # & /
: + & !
+ " , ) & O#4HFP & + && ) / 2 1$ 76 ':: & + * ':: #6 5+ 6 + ':: & & 6 ':: & & & ! D%% , , ) !% ' % #+ "#$/#0$ % : ,' !,
1
%
+ ,
3 )
% ) %
%+
.:. "*1
&6 5 ,7
1 $ C
$
C ?0. ½ AAA
'
$
& !
1
9 )
+ 6 56467
% !%+ %
56467 ' %' ) % !
%
% % %
,
, % 1
' '1
: %
$ + % %
,
% % . '
, %
1% $%+
: ) +
=+ > % ,'
,' , "#$/#0$ ! !
"#$/#0$ %
! 56467
56467
%% % , 9 % +
!%
'
'+
% %
+ 9 %
G B)@ C #+
+ G
% !% :
!%
, $
9
' !
= 1> , ' 9 '
( ) *
.9
"
DM#+ ' '
4'
' ?
,
, $
$ 1 # M , ,
!%
! 56467 !% %
%%. L
, ! ? ?
%+ 5 5
)' : !
56467 !% ,
1 !%
: $ + ,
!%
.4*-A)9> % )*-4*-A)9 )*-4*-A)9 %
, % =
%' ! 56467
56467
%+
! !% 56467 %
.4*-A)9+
, #H7 ! % 56467 3 ?
,
!% ! N
1
1
+ #
56467 %% , #0$ %% ! %
3
!, '
: + F
?-.,
56467 :4&1@#:: #0$ %%+ # "#$/#0$ &12)%+ 5
+ ,
+
1,+
0 ,
% :
!% '* 3 4
'* !
%
+ "#$ , 3
+ !
, '* !
1 !% '* !
%
% + ) *
!%
1
! ) % #0$ %% 56467
%% !% 7+ ' :
%
'1 +
+ # +
%
)*-4*-A)9
%
%
%%'
.:/ 8 11 # % $() &
- , .
- $() $ / A 0A $ 1
- *
- $ $ '
$ % %% $ %& %, %.A - $ %/ - $ %0 %1 " $ %*A - $ %' & $ () &% &&A &, @ %
# $
% & , . / 0 1 * ' % %% %& %, %. %/ %0 %1 %* %' & &%
$()
-
- $() $ A $
-
- $ $
$ $ A - $ - $ " $ A - $ $ () @ %
& $
.
.!
"
input.cob
Preprocessing
Parsing (sglr)
Rewriting (asfe)
Perl script
SDF syntax
ASF equations
Postprocessing
Perl script
Prettyprinting
Perl script
output.cob
0#01
&''$ '
() : 5
+ ,
"#$/#0$
3 ! ? 56467
% )
'+ !, 0 ) ' 8 % ! 56467 3 ) %+ ) ,
2 ,
, #H7 + '
, '
) %
!
" ' %+ ? ) ! % 3+ , , !, % ! , ! '
% % 56467 3
0 56467 %
) % ) ,
! $ G+ , $
!% G
%
! % 3
$ 3 : ? %
%+ , !' % "#$/#0$ !
,' , ,
' %
' 1
9+55&2+*77 9 ! + )
1-); 9+55&2+*77 4! + &* +
& !"# + # @& & A
+ & " & + & & + + + (& 2 2 + !"# ( $
&
6 / + & UU 1 1% &
@ + +A + & ':: & @>#EA & +
& -
**' '%
**
5)!.(!-9+7 )!.(!-9+; +!.(@A D@ )!.(@A -@C -9+@ +!+1-@< 1-);-9+@+!.(@)!.(@< ?0. +(-;+!+1-@ +!.(@< -*
0 + & & @-A ( + *& @!-A+ + @-A @-DA ( @!-A @-A+ & " + !- & + + ,! -A!-/
+1 & & 6& I> & + & 5P P P & &7
/9
011* 1 2"3 % & (%&) & (%% ) & (% ) % & '(% ) & (*) & (%&) & (& ) $ % $ & $ '(/) & $ (% ) & $ - '(/)
"
B9468% % !68% 2!%A
% & '(% ) & (*) & (%&) & (& )
% )!.(!-9+ 3
0 ;<
& & & 6& I> 0 6 + 6& I? &
& & 0 ; & #>< ! ! !& # 1--(.-!+1-@ !)((.-;> & #>< 1--(.-!+1-' ! 1--(.-CO ?0. +!.(@ +3!)9?);08@< )!.(@ +))I*4 ;.!-9++!.(@> % ! # > > >& # ! > % ! @ !
! & # "# % ! ! "# ! "# % ! "# ! C & # ! ! !& # # > > @ ! C & # ! ! > ! !%
> ! !%
":
11!-)!++
*
'
() ' + )#6K#6 ,> ':: & & + & % & + # E% 2 ,> ':: & # ':: & & + & #S 0 ) + & #S & ':: # & %8 2' ,> & & #S & & # E?
5 + % & & ( % & ':: #S ) + % $ 6& E% + %
#S + #S !"CD2762 # $ $
% & , (%&) , (%0) & , (& ) , @ (/) , (% ) & (& )
+ +
/5
' 1 2"!3 STUD (COBOL) NAME FIRST-NAME LAST-NAME ADDRESS STREET NUMBER CITY SCHOOL id: NAME acc: NAME.LAST-NAME
STUD (SQL) FIRST_NAME LAST_NAME ADDRESS SCHOOL id: FIRST_NAME LAST_NAME acc acc: LAST_NAME
"
+ + & #S 0 ':: #S #S + 6& E> ) + && & #S & % +
5 & + U U+ ':: # & #S ) + (& 2 2 + ,>
'G$)+ 1 & #S 6
+ * + 1 1 (& 2 2 % % !
"!*$7-+ %8$ + &
#S $ ,D/ 6 + & + & & * + &' /
4:& "! 11#
/6
"!*' 7' 2 + + ( $
,>+ & #S %8 $ & %8$ 1+ &' / + & %8 $ + &' %8 $ . D@ '! E;E
& + + ':: # #S # : & % ':: % & + 5 +
& & ':: #S
& [ ':: [ [ % #S [
+ ½ ¾ + ½ ¾ ( + &'
[
+
[
&'+
½ ¾
[ $ @ A
49
' 1 2"!3
/
"' *% ((
) + #S ) #S & ':: & %8 2' 6 @ A+ #S U U + U U U U
& & %
1 ½ +¾ ++
"# ½ +¾ ++ ! ,
½ ¾ +
++
#H7 % 9'
+1 . U U 6& E% +
%
"# !
& & & %
1G ½ +¾ ++
=½ ½ > ==½ ½ > =¾ ¾ >> !
½ ½ ½ ½ "# ½ ¾ >
+
+
++
=
>
=
>>
++
½ ¾ # ,
½ ¾
==
3 ! 9'+
+
++
4:& "! 11#
4
+1 %
; ! < ;; ! < ; ! & & & + ':: & & & % ) ,% + ,> >! )
+ 6& E%? >! = ':: >! $ & % /& & %8 $ &' & & #S & & & 6& EH
5$ % 6
# & ,> & = '::
& ,> &+ & = + & ,> & & = & + & ,> & % . #6 4'!++!4,1;)9)+!1)*!4),( 2+1-< ! 2+1- L-=1+;* #
!,
+ , 3 ) )
: # + , %
' =O0+?P> :
! %
%
7 ' , ,
%+ , %
Q % ' 56467 BM C BM C 56467 %
&
)A)9+
% !
* 3
% ' ,
%+
%
%
%
%
! % 9 !
3 3
% , $
7 9 + 1
" &
0 ) '+ )
+ !
% ! ' + )
, !%
%+ ' !,
%' ) !
!
, %
BM C
! 04D2
;
+ ,
8 , R'
,!
!"C # $ !"C # $ $ $ $ !"C $ # $ $
% & (%&) & (%% ) & (% ) % & '(% ) & (*) & (%&) & (& ) $ % $ & $ '(/) & $ (% ) & $ - '(/)
+ 0#01 +
ORD ORD-CODE: num (10) ORD-DATE: char (8) ORD-CUSTOMER: char (12) ORD-DETAIL: char (200) id: ORD-CODE acc acc: ORD-CUSTOMER acc: ORD-DATE CUS CUS-CODE: char (12) CUS-DESCR: char (110) CUS-HIST: char (1000) id: CUS-CODE acc
STK STK-CODE: num (5) STK-NAME: char (100) STK-LEVEL: num (5) id: STK-CODE acc
ORDERS ORD
CUSTOMER CUS
STOCK STK
! 0#01
) ' + < # "* ; $ * BM C
: + % % '
%% % %!'
% %!' # %
% 9, '
%%+ + !
% ! * ) % * ! ' ! !,
1
4' '. 007 , $ + ,
% * " , $ + + ' % ,
'
' %
*
) BM C
!%
,:! 011 '
,&
! "
& #
& # & #
A D@ DG E;
S
3 'S
3 * ! S
3 3 ! %1)
2 '
S
)
% ' %
)N) '
% +
' ' ! 9' )' @ '
' % $ + ' )
! ! ' ' ! 9' %' 3 ! ! ' ' # %
8 3% !
%
' % %
%+
+
%% ), !
' % ! ' ) $
) ' 1 >
!% 1 0 :
0 # 5
! %
. !
: !
+ +
%.
% BM C
+ % ! ' ) $ .
'
% , $ !, !% ,
,.
ORD ORD-CODE: num (10) ORD-DATE: char (8) ORD-CUSTOMER: char (12) ORD-DETAIL: compound (200) DETAILS[0-20]: compound (10) REF-DET-STK: num (5) ORD-QTY: num (5) id: ORD-CODE acc ref: ORD-CUSTOMER acc ref: ORD-DETAIL.DETAILS[*].REF-DET-STK acc: ORD-DATE
CUS CUS-CODE: char (12) CUS-DESCR: compound (110) NAME: char (20) ADDR: char (40) FUNCT: char (10) COMPANY: char (30) REC-DATE: char (10) CUS-HIST: compound (1000) PURCH[0-100]: compound (10) REF-PURCH-STK: num (5) TOT: num (5) id: CUS-CODE acc ref: CUS-HIST.PURCH[*].REF-PURCH-STK
ORDERS ORD
CUSTOMER CUS
STOCK STK
STK STK-CODE: num (5) STK-NAME: char (100) STK-LEVEL: num (5) id: STK-CODE acc
CUSTOMER CODE NAME ADRESS COMPANY FUNCTION REC-DATE id: CODE
0-N
PASS
ORDER CODE id: CODE
1-1
0-20 0-100 DETAIL QUANTITY
PURCHASE TOTAL
0-N
0-N STOCK CODE NAME LEVEL id: CODE
( ;
,:! 011 '
,/ DETAILS D_O_CODE: num (10) CODE: num (5) ORD_QTY: num (5) id: CODE D_O_CODE ref: D_O_CODE ref: CODE
ORDERS CODE: num (10) ORD_DATE: char (8) CUS_CODE: char (12) id: CODE ref: CUS_CODE
STOCK CODE: num (5) NAME: char (100) STK_LEVEL: num (5) id: CODE PURCH P_C_CODE: char (12) CODE: num (5) TOT: num (5) id: CODE P_C_CODE ref: CODE ref: P_C_CODE
CUSTOMER CODE: char (12) NAME: char (20) ADDR: char (40) COMPANY: char (30) FUNCT: char (10) REC_DATE: char (10) id: CODE
21
% % , % %! $ + % =+ &> + &>
! ' ' =
% '
, ' % !
' 9' , * %1) =
> , !% '
$'+ % ,
;
% ! %%' * $%
+ ' )
% '+ +
)
% 04D2
$ )
=$ >+
#H7
' % ! , #H7
$ ) 007 ! #H7
1
.
" ' % !% , ' 56467
' % , #H7
% %
, '
!%
' % !%. '
' % ,
! ,
,
' % #H7
: '+ , 3
! $ G+ , $
G
,
) + ! % 56467
% ) , !,
% ! ,
% ! '
!+ !
3
S
!+ !
3
S
! &+ !
3
&
!%
! % 3 #
,4
!2 234 ( !:(%&) 62 6744 !:(& ) 62 6744 !:(. ) 62 6744 !:(, ) !:(% ) 5 !:(% ) 62 6744 ;98< =< ( ))>
!2 234 $ ( 6789!(/) 62 6744 !:(% ) 62 6744 $5 - 6789!(/) 62 6744 ;98< =< ( ))> 42 234 !6D2962 $5 B9E6 =< ( ) B6!D $>
!2 234 ( 5 5 6789!(% ) 62 6744 6789!(/) 62 6744 5 6789!(/) 62 6744 ;98< =< ( 5 5 ))>
42 234 !6D2962 $5 B9E6 =< (5 5 ) B6!D > 42 234 !6D2962 $ B9E6 =< (5 ) B6!D >
!2 234 ( 6789!(% ) 62 6744 5 !:(*) 62 6744 5 !:(%&) 62 6744 ;98< =< ( ))>
42 234 !6D2962 $5 B9E6 =< (55 ) B6!D >
!2 234 ( 55 !:(%&) 62 6744 6789!(/) 62 6744 6789!(/) 62 6744 ;98< =< ( 55 ))>
42 234 !6D2962 $5 B9E6 =< ( ) B6!D $>
1 21
8
? ,
%
)A)9
.+-.1);* +$ <
% ! !%
%
+$
! 56467 3 )
(2+1-; &
8
)A)9
% )
%
7 & + 1
" &
0 ) '+
+ %
* 0
' :
'1
% ! !
# # # #
-
)
-
) % ! #H7
)
-I
)+ ! 9' ! #H7 + #H7 % %1
, 56467 #H7
3 ! 56467
9'+ % =%
56467 3+ %
! #H7>
? , !!' % , !'
'
)
%.
!
" 56467 1
%
, ' .
% =!
'1
> ) "
, ! 9 =+ ,+ ,+ > % )
)A)9
%
* 0
8
,:. '
,6
?%
&% #. =765>
)A)9
4@A)9
4'A)9
4'!)4-A)9
#. ! ? =765>
1
1
#. ! ,
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
=765>
F% !
F% ! 3 F% ! F% ! F% ! F% ! F% ! F% ! F% !
F>
)
7 , ! ? ) ? ) !
%
)A)9
%. ? ) ! ? ) , ? '
4@A)9
L)' !% ' ,
%
)A)9 !% ,
4'A)9
%
)A)9 !% ,
8
'
#% D,
'
4'!)4-A)9
%
)A)9 !% ,
'+ , % !
#% D,1
%%
59
%
*
:
,
) ! ,9 ! %
% )
! 0 $ % %
1
: # + ,
# ) ' ! "#$/#0$ !%% 1
! !% '%
: # ,
)
$'+ %% ! ! )
% %
%
)%
% #
: # 6
% % 8
#% D,
: + , ! 9' !
D'
'
5%
*' :
,
: "#$/#0$
!
3
+ !
%
, ,
; 8 ! !
11!-)!++ 11!-)!4)( ) %+
% %
%
%) = %)> '* !%
" *%
3+ , ' !%
L 9 , !'
'* ' '* ) %
% $ *% 9 2) !
,
!
+!-)!?)I.,
,
4'!1-).
%
&
) % !% !%
! %
%
56467
% '
'
5!
+
: ,'+ , ,
!%
, ) ! 3 ?
?'+ ,
3 , )
?
3 ) ,
%
!% !1
$ + "#$/#0$ ' % ,'
? :+ %
'
' ,
* ,
' %
' !% 041&":F )% 4' @' %
%
, %+ Q'
" , *
! + ' !
% !%
%
#'+ %
$'+ %
) % ! !%
) 3 !
' . !%
,9 '%+
% :
3+ '
! , %% % ) !% 8 %
. ,'
56467
%% , *
% (0; ,
1
:
%
'% ;
%% %
% ) + #H7
!% ' : 8 ,
3 !
8 # (%% 0
'+ #H7
,
: #% D, '+ !
%
*' %
) ' ! !%
%
! ' %% = > 5'+ ! % ! %
: + ',' : + , % % ! "#$/#0$ !%%
:
+ , ) ' ! "#$/#0$ ! 56467 !%
2
*
"#$/#0$ !%% '
#0$A
) , 3 '* ' ' "#$
'* = 13 '*> )' ) ! '* !% ,' ) "
!'
%
% !% '% !%
* " ' )'
1+
, ,' ! ,
8 , %
3 "#$
. ! ) $
) ' "#$/#0$ !%% " % # + ' !
, !
3 !
% '
% !%
% !) ! "#$/#0$ 8 ! B);@ C ! %
5:! ' '(')
"#$/#0$
! )
5&
%' 8 ) %' 1
! 9 56467 &)+ %'
! 56467 % "#$/#0$ !%% %
!' , !%
$ '*+ B)#@ C+ G, %% %
% %
G $ , + ,
3 ! ) !
+ , % 56467 '* BT C
"#$/#0$ !%%
5
8 , 9 %
' "#$/#0$ &12)%+
. ) % ! )
%1
% )%
: %
%
! "#$/#0$
3
)' Q 5 + %%' %
*
) Q
!%+ 9
' !
1% ,
#) 9' %
' ! "#$/#0$ &12)%+
) R*' # # ! %
!+ !
8
,
--*)+ 1!'
8
)
3
: % !, )
) %
' % '*1 ).+ )' )
! !
"# !,
' #2F+ &12)% (?7
"#$/#0$
%
)
;
1,+
% !
%
*1! %%+ )
R
! ,19, 7*/K !%% %' ! , !1 1 R+ ) ) %' ) % , )
3 ! 56467 !%
% , *
" 11 + ! 8
: , % ) %
3 , 56467
"#$/#0$ ' ! %' !
3 ! !,
! "#$/#0$
%% 1
% ) 2*%
B))0;
· C
!
' , % B@ C+ %A 56467 %
!% : "#$/#0$ &12)% 56467 G %3' %' % )GB@ C
! %
! A % ,
" + )' 56467 '% , !' !%
!
%% $ + , '
! *) % %. ! %+ 1, !% # ,
) ' % ! %
!
5:& 0?
5/
% ' 4 ( 3 &
& '(
0
0
' " ! # = 0 ! 0 # = &! &# =
1- +* *
D
½ ¾ ½ ¾
$ !
+
0
+
0 "
½ ½
+
¾
+ ! !+
'
+ ) )
¾
' %%
! "
'
' %%
)' 3 )&! 3 &# = ) )0 0 ! 0 0 # = ) )&&! &&# = )
+ +
:!
+
+ ,
0! >>?
JJ
A);9.B
TT) % ! !%,9 '
) ) % ! T) '
+ ' * !
@ % %+
3 ) ' %' ! % !%
%
TT) !%,9 L , !+ ,
1-9+
1-) 1-9+
) %% ! ! ) @
L %
# # #
.- ,-0+)*.-; % ! % , $ " *) )), ! TT)A ' ! %1
! TT)
!
54
+ TT) ' TT)A !%,9
) % '
! TT) !%
%
,
!
'* ="#> !
)
! "# %
'* =@#> !
" )
%
) = !%> @# ) % ) !% *
%
"
( TT$ ) ! "
%' %
* =' L > "# ! T) , " %
% !
)
1-9+
+ + ) ! T) :
9 3 #0$
:
+ %
T) ! 1
! '* %1
%
! !% %
% !% ! *
%%
3 ! 4F$+ , % !
9 =+
53411).7 >
6) % ' ! , !G
% '% '
'
) 3 G
+ , G,
% !%
' , , L ! ! 3 =>%% U7 !% ! % ' +
)' A%"9.B
!'
!
% %
0
)
%% %
%+
'
' ,
)
51--(.-7> ) !
=+
' ! % '
#!, D 9 %%
' !% '%
AAAG
%% 3 =% $# (0;> 9'
U7 !% %
%)
3 ! %+
%
: ! ! ! % %.
(
5:.
5,
@ #
.+* >1+A(>
@ 0 ! ! . 1--(.AAA K 5.7 8 53411).7 . .
@
*+ (. 4+ 51--(.-7 5.7 8 53411).7 92 8 ; < . *+
& A1
% '+ %3 ! !, '%
! 0 , %
% ! !, '% .
M % ! % 0
0 (. 7D
0
9 % ! *%
% *1! '* : ,+
*
0 , , 0A D #
3 7 '
! !%
)
)
! ) 7M# !
+ ?"D7"F#2 ?"D7"F#2
%%
! 0
0 ?' %
)
'1 !'+ ! %
* *
, %% 0 , %+ , G :
%+
'
%+
) ' !
,
'
'
G G3'G
'
: 3'
! +
'1
,
:
+ , , 9 *
%
, 3 )
) %% ! ! )1
%%
#0$ %%
! % )
1
% 9 (0; F
69
+
Database conversion
DB-MAIN
Legacy DB
New DB
Wrapper Wrapper generation
program
program’
Program conversion
ASF+SDF Meta-Env
SDF grammar
ASF equations
GDK Grammar adaptation
$
: 5
+ , ) '
% ' : 5 + , )
' %
' ! ,
8 ) % %% ! ! ) % : + , )
) ? ?
% )
!' % & '+ , ) 3 9' ! ! * ! + %'
+
% )
9' ! )
%
%
*1
'
,' ! %
%
!
% ) , %% '
6!
) ) ! %
1 !
!
=?>
% ) '
? !%
) %
% + , ' %
% M,)+ 7 D,
! %
*' !
%
,
) , ,
% : ,'+ % ,9 3'
* ! $ + 560"#K7 0 0 %+ % % % % %
7 =007>+ %' 56467
* 56467 007 560"#K7
+
' ) ! ,
+ &*
" #
&*+
" #'*
&*,
5%
5%% 4 6 7
'&*-
5! 0 #'% 7
*
5
'.*
04 &% #'%
'/,
04 D) 2
''
0 0
'.
0 &% 7
'.*
0 &% #'%
'.*
3 $%%
" #!, 2
#%
7
D &9 ! #% 0 :
0,/
( 2'1D
0'1
(%% 0
2.*
:!% &% #'%+ 1 0 4 #'%
*'
#'* 03 $%%
**
# ?' #%
+*
?' #%
3
@'
'% ;
'+ B4C ;M 4 7' #'% 5
8 # :
W+ B4?& C : 0 4*+ 5 ?+ & & ? # #!, 2) :
! "
+
+ )% +
?% !% !
' $
0--4 $$???A?A.+$=.-1$'DD'$'DD'$441$93-A
4
B4 C ( 08 4,
0
'""" !
& 4 07 0
T 8'+ + B4 C & 49 ' ! 6
B7E C D! 7E%% )% !
(%% "
1(
+
+ &'
:
W #
* 4 % " 4%" CC
+
1@+
B7@ C D! 7E%% 5 @! #%1"% (%% D)'
I "
! $
+ =>W + 0%
B?; C "# ?
9 7 T ;.%
&(,1M+
+ B?; C "# ? B?8C
9 7 T ;.%
89
,
4),(!-.1)(-).A),+ 7
&
&(,1M+
?%
0--4 $$???A
!%
%3 &' + 7 &'
% ; 1
B#?7 C D 5 #+ 0 ?9+ ( " 7,
#2: # #!, 2 "18'+ BM C ? :
T17 M 8
0)
% ! 7' 0 D
* J , " "?C
:222 5%1
#' ?+ B- C 8% & -
1 -
? M ?D+
B)0@ C " ) 0 T @ 5% $%,9
# & "' - TT) @
!- "
+
B@ C F @% D 5 #'% "% !% &1 A + @ %' % )% ! %' 1 ! "#$+ #0$ &12)% , !+ % ! )
' , !+ % ! ) % ,1
% 6 "#$/#0$
%' -
! ?
3 =9
3>
% )%
?
%! 501D6& ) , &A
! ? "#$/#0$ #
3
! ? "#$/#0$ #
3
'
! 501D6& )
???A.)A*.4AA9$B+=$!
#( *=*
@!4-).G !
' G
' G
501D6&
"! G+
! 5 :4&1@#:: #0$ %%
=1+!*.-).1G+
' G !
#0$ '* "#$
1%
" # "$%# 4
94
7 8 1 1-*2G+
' G
# # #
)A)9GS
'
% G
!%
+!+1-A-3-GS
% G
)4@A)9G
% G
@!).=1). 14-G+
' G
# # # #
!% ? !% G
)9)+9(=1'A-(A-9+G G =1+!*.-).1A-(A-9+GS
G
G ?
"
4@!).=1).GS
=1+!*.-).1A:1S
:
' ? !%
4@!).=1).G
G
&9
%
4@!).=1).
*
+
*
0() 83 4@!).=1). + 56467
%
*
A$4@!).=1). *
!% !, %%
+$ *
,
3
+$
! % 3 $ + 3 !
) ! '
*
(2+1-; & & & %
"1# ':: & / ?J
# & * ,> & & ' %8$
% & %8% % $%$ & %8% $ & & &' 6 & %8 &' 7 & %8 2 &' 67 & %8 & %8 &' & %8 & ( & %8( ( & %8( & %8 > #S / %G # & * @\\2\ A
4
' # ' U U U0 U 2 U& U U U & ,> && @ %F + #SA 6 + & 5 # & U& U 25
, % & (.) &
(&) & (&) % % ' % ' % ' % '(/)
- - - - $ @ % $ & $ '(/) & $ (% ) & $ - '(/) % & '(% ) & (*) & (%&) & (& ) % & (%&) & (%% ) & (% )
% '(/) % '(/) % '' -
A A A
% & '(') ** & - ** &- $ - % ** & - % % & (% ) % (% ) % (% ) % $ (% ) % & (& ) & (. ) & (, ) & (% ) & (% ) % & % @ , $ '(/) , '(/) % & & @ , $ '(/) , '(/)
A A A A
A & A & A $ & $
% & $ , . / $ 0 (@ @) 1 (@ ) * % & $ , . / $ 0 1 * A A62:96E 2 A A62:96E 2
5 A A
' # ' A $ A62:96E 2
" F -
A A
" - " - " - ( ) " -
- " -
- A & A- $ &- $
- % A A &
A A
A A A
A
$ $ @ " - $
A A A A62:96E 2 A A &
- % ( ) A & A A &
- A A A
-
- A $ & $ A- $ &- $
- % % A & A & A &
- % A
- %
" - $ - " - $ - A A
A $ &$ A- $ &- $
$ $
6 A A $ A A62:96E 2 A A $ & $
- % $ $ A A $ & $ A A &
- A A $ $ $ - @ " - - -
() -
-
- %
-
-
- %
- % &%
- AA & AA- $ &- $
- AA & AA- $ &- $ @ " -
- AA & $ AA- $ &- $
- % ( ) "
- $()
-
- %
- $ AA $ & $$$ AA- $ &- $
-
- % " - () ( L $( ) ) %
!9
' # '
- $() @ % "
% $() $() % % @ % % % " - $() () ()
- $()
- () ()
(@ @)
- AA $ + & AA- $ &- $
- A A - $
- %
(@ ) - -
() -
- AA $ + & AA- $ &- $
- AA - $
- % AA & AA &
- AA "
- %
- % % %
- $()
- () @ %
- &%
- $()
-
- $() $ AA $ & $$$ AA- $ &- $ " $ AA - $ $ () @ % & & 5 5 5 5 @ 5
! 5 5 5 5 5 " @ 5 5 5 5 5 5 + " @ 5 5 5 5 5 5 + " @ 5 5 5 5 5 5 @ 5 5 5 5 5 5 5 " @ 5 5 5 5 5 5 5 + " @ 5
5 5 5 5 5 5 + " @ 5 5 5 5 5 5 @ 5 5 5 5 5 5 5 " @ 5 5 5 5 5 5 5 + " @ 5 5 5 5 5 5 5 + " @ 5 5 5 5 5 5 @ 5
!!
' # '
5 5 5 5 5 5 " @ 5 5 5 5 5 5 5 + " @ 5 5 5 5 5 5 5 + " @ 5 $5 $5 $5 $5 - $ @ $5 $5 $5 $5 $5 - $ $5 "$$ @ $5 $5 $5 $5 $5 - $ $5 + "$$
@ $5 $5 $5 $5 $5 - $ $5 + "$$ @ $5 & $ $
- $5 $ $5 &
- 5 5 &
- 5 5 & (A) "& 5 + " ( )
- & (& ) &- $ 5
- 5
- & &
!& (A) "& 5 + " ( )
- & (& ) &- $ 5
- 5
- & & $ ( $ $5 ) $5 "$$ "$$ "$$ - ( $ $5 ) $5 "$$ "$$ "$$ - ( $ $5 ) $5 "$$ "$$ "$$ - ( $ $5 ) $5 "$$ "$$ "$$ -
- & &
( 5 ) 5 " " " " ( 5 ) 5 " " " " ( 5 ) 5 " " " " ( 5 ) 5 " " " " ( 5) 5 " " " " ( 5) 5 " " " " ( 5)
!.
' # ' 5 " " " "
( 5) 5 " " " " ( 5) 5 " " " " ( 5) 5 " " " " ( 5) 5 " " " " ( 5) 5 " " " "
- & & ( 5 )
5 " " "
( 5 ) 5 " " " ( 5 ) 5 " " " ( 5 ) 5 " " "
- & & $$$ $ (A) "& $ $5 "$$ ( )
- & (& ) &- $ $5
- $5 $ $5 "$$ "$$
!/ "$$ -
- & & $ (A) "& 5 " ( )
- & (& ) &- $ 5
- 5 5 " " " "
- & & $ (A) "& 5 " ( )
- & (& ) &- $ 5
- 5 5 "
" "
- & & - ( " " " )
- & & - ( " " " " )
- &
&$ $ - ( "$$ "$$ "$$ - )
- & & 5 " 5 " 5 " 5 "
- & & 5 "
- & & 5 "
- &
!4
' # ' ( 5 ( 5 ( 5 ( 5
5 )
5 )
5 )
5 )
( 5 ) 5 ( 5 ) 5 ( 5 ) 5 ( 5 ) 5 ( 5) 5 ( 5) 5
( 5) 5 ( 5) 5 ( 5) 5 ( 5) 5 ( 5) 5 ( 5) 5 $ ( $ $5 ) $5 ( $ $5 ) $5 ( $ $5 ) $5 ( $ $5 ) $5