TRUNG TÂM ÎHÔNG Tin THU VIÊN.
Trang 1Cheeking tim in g con strain ts in software
sy s te m using A O P
D o T u a n A n h
Faculty of Information Technology
College of Technology Vietnam National University, Hanoi
DAI HOC QUÔC GIA HÀ NÔI
TRUNG TÂM THÔNG TIN THU VIÊN
i ' L o / 6 (n -
Trang 2-r a b l e o f C o n t e n t s
1.1 M o t i v a t i o n 1
1 2 O b j e c t i v e s 2
1 3 C o n t r i b u t i o n s 3
1.4 O u t l i n e o f t h e t h e s i s 3
B a c k g r o u n d 5 2.1 U M L a n d U M L T i m i n g D i a g r a m 5
2 1 1 O v e r v i e w o f U M L 5
2 1 2 U M L T i m i n g D i a g r a m 6
2 2 A s p e c t O r i e n t e d P r o g r a m m i n g a n d A s p e c t ) 8
2 2 1 A s p e c t O r i e n t e d P r o g r a m m i n g 8
2 2 1 1 T e r m i n o l o g y 9
2 2 1 2 I m p l e m e n t a t i o n 10
2 2 1 3 S o m e l i m i t a t i o n s o f O O P 11
2 2 1 4 B e n e f i t s o f A O P 14
2 / 2 2 A s p e c t , ) 16
2 2 3 R e m a r k s 17
2 3 S u m m a r y 18
C h e c k i n g t h e c o n f o r m a n c e o f t i m i n g c o n s t r a i n t s 1 9 3.1 G e n e r a t i n g v e r i f i c a t i o n a s p e c t s t o c h e c k t h e c o n f o r m a n c e 19
3 2 A c h i e v i n g t i m e f r o m s p e c i f i c a t i o n a n d i m p l e m e n t a t i o n 21
3 2 1 T h e o r d e r o f e v e n t s 21
3 2 1 1 O r d e r o f e v e n t s in a a p p l i c a t i o n 21
3 2 1 2 O r d e r o f e v e n t s in s e v e r a l a p p l i c a t i o n s 22
3 2 2 R e a d i n g t i m i n g c o n s t r a i n t in s p e c i f i c a t i o n .23
3 2 3 C a l c u l a t i n g e x e c u t i o n t i m e f r o m i m p l e m e n t a t i o n 25
Trang 33 2 ‘5.1 T h e b e f o r e a d v i c e 25
3 2 3 2 T h e a f t e r a d v i c e 2(5 3 3 C a s e s t u d i e s 26
3.3.1 A u t o m a t e d T e l l e r M a c h i n e for b a n k i n g p u r p o s e 26
3 3 1 1 O b j e c t i v e o f t h i s c a s e s t u d y 2(5 3 3 1 2 T i m i n g c o n s t r a i n t s in W i t h d r a w a l s c e n a r i o 2 7 3 3 2 T a k i n g o f f p r o c e s s o f a n a i r p l a n e 29
3 3 2 1 O b j e c t i v e o f t h i s c a s e s t u d y 29
3 3 2 2 T i m i n g c o n s t r a i n t s o f t a k i n g o f f p r o c e s s 29
3 4 S u m m a r y .31
4 I m p l e m e n t a t i o n 3 2 4.1 T h e a r c h i t e c t u r e o f t h e s u p p o r t t o o l 32
4 2 O b s t a c l e s in t h e i m p l e m e n t a t i o n o f s u p p o r t t o o l 3 6 4.2 1 D i f f i c u l t i e s in r e a d i n g t i m i n g c o n s t r a i n t f r o m t h e T i m i n g D i a g r a m 3 6 4 2 2 A s p e c t ) c o d e for c h e c k i n g t i m i n g c o n s t r a i n t s 3 7 4 2 3 S o m e r e s u l t s a n d r e m a r k s 38
1.3 S u m m a r y 3 9 5 R e l a t e d W o r k 41 5.1 B u i l d i n g a set o f t o o l a n d m e t h o d s for c h e c k i n g 41
5 /2 B u i l d i n g f o r m a l f a c i l i t i e s f o r c h e c k i n g 42
5 3 C h e c k i n g a n d e v a l u a t i n g in s o m e r e a l - t i m e s y s t e m s 13
6 C o n c l u s i o n a n d p e r s p e c t i v e 4 4 6.1 C o n c l u s i o n 4 4 6 2 F u r t h e r r e s e a r c h 45
Trang 4L i s t o f F i g u r e s
2.1 U M L 2.0 D i a g r a m s 6
2 2 U M L J o n c i s e T i m i n g D i a g r a m 7
2 3 U M L l o b u s t r i m i n g D i a g r a m 8
2 4 A n e x u n p l c o f c o d e t a n g l i n g 12
2 5 A n e x a m p l e o f c o d e s c a t t e r i n g 13
3.1 U M L S e q u e n c e T i m i n g D i a g r a m 20
3 2 T e m p l a t e f o r t h e V e r i f i c a t i o n A s p e c t s 21
3 3 T h e e v e n t E i is s e p a r a t e d f r o m t h e e v e n t E2 22
3 4 T h e e v e n t E i is c o v e r e d b y t h e e v e n t E-2 22
3 5 T h e e v e n t E i is o v e r l a p p e d t o t h e e v e n t E*2 22
3 6 O r d e r r e l a t i o n 23
3 7 T h e r e l a t i o n o v e r l a p 1 ' b e f o r e ’’ 23
3 8 T i m i n g c o n s t r a i n t s a r e r e p r e s e n t e d in a t i m i n g d i a g r a m 24
3 9 U s e r is u s i n g A T M .2 7 3 1 0 U M L S e q u e n c e D i a g r a m o f t h e W i t h d r a w a l s c e n a r i o 28
3 1 1 U M L T i m i n g D i a g r a m o f t h e W i t h d r a w a l s c e n a r i o 28
3 1 2 A n a i r p l a n e is t a k i n g o f f 2 9 3 1 3 T i m i n g D i a g r a m o f a i r p l a n e e a s e s t u d y 3 0 1.1 T h e g e n e r a l c h e c k i n g p r o c e s s 3 3 4 2 T h e t i m e s t a m p s o f t w o p a r t s 34
4 3 T h e a r c h i t e c t u r e o f p r o p o s a l t o o l 34
4 4 A p i e c e o f c o d e t o r e a d t h e t i m i n g c o n s t r a i n t s i n f o r m a t i o n 38
4 5 G e n e r a t e d V e r i f i c a t i o n A s p e c t s 3 9
Trang 10g i v e n t i m e p e r i o d e m p h a s i z i n g t h e t i m i n g c o n s t r a i n t s A l s o it s h o w s m e s s a g e s w h i c h
m o d i f y t h a t s t a t e , l i m i n g d i a g r a m is o f t e n u s e d t o d e s i g n e m b e d d e d s o f t w a r e , s u c h
Trang 15o f m e t h o d s , fo r e x a m p l e , o r just b e f o r e m e t h o d c a lls T h e t y p e s o f l o c a t i o n s w h ere'
h o o k s c a r b e i n t r o d u c e d d e p e n d o n t h e w e a v e r N o t e t h a t h o o k s arc* n o t n e c e s s a r i l y
l o c a t i o n s w h e r e a s p e c t s a p p l y b u t l o c a t i o n s w h e r e a s p e c t s p o t e n t i a l l y a p p l y
A m o n g a ll t h e h o o k s i n t r o d u c e d b y a r u n - t i m e w e a v e r , o n l y a s e l e c t e d s u b s e t will r e d i r e c t t h e e x e c u t i o n H ow t o w a r d a n a s p e c t T h e a s p e c t p r o g r a m m e r d e c i d e s
Trang 19Cleaner "'esonsib Hit,/es of the individual module: A G P a l l o w s a m o d u l e t o t a k e
r e s p o n s i b i l i t / cd v for i t s c o r e c o n c c r n ; a m o d u l e is n o l o n g e r liable' for o t h e r c r o s s c u t
d e s i g n d ec is io n s for fut u r e r e q u i r e m e n t s b e c a u s e it is p o s s i b l e t o i m p l e m e n t t h o s e a,s
Trang 21TRUNG TÂM ÎHÔNG Tin THU VIÊN
Trang 24(b1.b2)s
_ Æ l.rgjK
Task4( ) -4*1**218
Trang 253 2 A c l i e v i n g t i e f r o s p e c i f i c a t i o n a n d i p l m n a t o 21
im p o r t o rg a s p e c tj.la n g J o in P o in t;
va ria b le sVariables arc declared here;
a fte r( ) : (e x e c u tio n (* * * ( ) ) ) & & !w ith in ( AspeetName) {
- Get ¿2; / / the current system time:
- Get method name from X M L tile(taskl, task2, );
- Get lower and upper bound on tim ing from X M L file ( r j , r2 );
- t — t2 - t\;//C a lc u la te the execution tim e of the method;
Trang 27Application 1 Application n
F i g u r e 3.6: O r d e r r e l a t i o nApplicaton I
The relation "overlap" between J
r/the time point is jusK
Trang 28A tming constraint associated A t mmg constraint associated ^
with an events duration with a states duration
Trang 29I f y o u t h r o w a n e x c e p t i o n in t h e b e f o r e a d v i c e , t h e c a p t u r e d o p e r a t i o n w ill n o t
e x e c u t e F o r e x a m p l e , if t h e a u t h e n t i c a t i o n lo g i c in t h e p r e v i o u s a d v i c e t h r o w s
Trang 32Check_BalanceAcount( ) {bi b2)s
Gtve_M oney( ) {g1 Return( ) {r1,r2}s
Check BalanceATM( ) {a1 ,a2}s
Trang 340» 5 10 IS DO 25 30
F i g u r e 3 1 3 : T i m i n g D i a g r a m o f a i r p l a n e c a s e s t u d y
F i r s t l y , w e c h a r g e t h e fu e l i n t o t h e a i r p l a n e in 5 s e c o n d s A f t e r fu e l is c h a r g e d fully, w e s t a r t o t h e r c o m p o n e n t s T h e e n g i n e s t a r t s a t 5 t h s e c o n d , a n d it s t a r t s in
Trang 35(3) (4) (5)
Trang 38The timing constraints from the first schema
F i g u r e 4 3 : T h e a r c h i t e c t u r e o f p r o p o s a l t o o l
Trang 40I ’a r a d i g m h a s m a n y p a r t s a n d i n f o r m a t i o n s , b u t w e p a y a t t e n t i o n t o i m p o r t a n t
i n f o r m a t i o n s t o a c h i e v e e s s e n t i a l i n f o r m a t i o n fo r t h e t i m e o f e a c h t a s k A X M L (lie h a s t w o p a r t s : Models a n d Diagrams. I n t h e p a r t Models E a c h c o m p o n e n t ’s
p r o g r e s s is a L i f e l i n e H e r e is a L i f e l i n e o f F u e l :
< Model, c o m p o s ite~ "true" consider Default P ro p erties— ’'false ” d isp la y M odel Type - ” Lifeline ”
id " T n 5 q tfiF S -y y y R tjl ” m odelT ype- Life L ine ” n a m e - " Fuel" >
Time Unit a n d State Condition. S t a t e C o n d i t i o n r e p r e s e n t s a t a s k o f a n o b j e c t
H e r e is a s m a l l p i e c e in X M L file d e s c r i b i n g S t a t e C o n d i t i o n Fuel charging o f o b j e c t
State Condition ' i d = ”X 0 7 q e f i F S g y g R i a ” niudelType = ”StateCondition” name
= "Fuel charging">
Trang 41T h e n o d e Fuel charging is a c h i l d n o d e o f Fuel Time Unit r e p r e s e n t s a t i m e
p o i n t H e r e is a p i e c e d e s c r i b i n g a T i m e U n i t a t t i m e p o i n t 0 s e c o n d
< Model composite- "true" consider DefaultProperties- "false" display Model Type
”Time Unit" i d = ”M e P q e f i F S g y g R i h ’1 rnodt IType- Time Unit" name- ’0 V>
Trang 42(1) for (i - 0: i CvalucArrLen; i f f ) {
’’ tim e point: M -f timeUnit.Name2[i)):
(21) for (i= 0 ; i <i3; i 4 4 ) {
Trang 43a f t e r f j : (executionf* *.*( )))&& !wrt.hin\VAspect) {
m n—thisJoinP oint.getS ignature();// get method name;
t2=System currentTim eM illis();
lb=getM inC onstraint(m n);
ub=getM axC onstraint(nin);
e t= t2- t i; / / t h e execution tim e of the method tt+ = e t;//t h e execution tim e of sequential methods
if (et < lb || t‘t > u b || t.t > f) log(this.JoinPoint);
}
| vo id lay (Join Point jp){
System.out println(jp.getSourceLocation()-f jp.getSignatureO);
Trang 46s ta g e o f system d e s ig n in g based on th e Use Case d ia g ra m a n d som e a d d itio n a l in fo r-
m a ttio n c o n c e rn in g th e b e h a v io r o f th e user o f fu tu re syste m T h e a im o f th is w o rk is
to p o i n t o u t t i e p o s s ib ility o f u s in g th e T im in g D ia g ra m to d e s c rib e u ser's b e h a v io r
at tth e fir s t s ta je o f t he s y s te m m o d e lin g : th e d o c u m e n ta tio n o f u s e r’s re q u ire m e n ts
A d d in g a new d a ta d e s c rib in g user's tim e a c t iv it y c h a r a c te r is tic expressed b y th e
U M 1L T im in g D ia g ra m , it is able to e s tim a te th e o v e rlo a d in g o f th e b o u n d a r y Use Casses, i t uses some e s tim a tio n s fo r th e w o rk lo a d a n d s y s te m w o rk lo a d T h e p re
s e n te d a rith m e tic o f T im in g D ia g ra m s in th e a rtic le o f u s in g o n ly one ty p e o f U M L
d ia g r a m s (Use Cases) is n o t enough fo r d e ta il c a lc u la tio n o f th e s y s te m e ffe c tiv e
n e s s H o w e v e r it is s im p le a n d th e e v a lu a tio n is m ade 0 11 th e e a rlie s t leve l o f s y s te m
d e v e lo p m e n t, n o t in r u n -tim e
5 2 B u i l d i n g f o r m a l f a c i l i t i e s f o r c h e c k i n g
D illlo n e t.a l ( D illo n et a l., 1993) p ro p o s e d a te c h n iq u e a n d a p r o to ty p e to o l w h ic h
d e s c r ib e te m p o ra l lo g ics o f a c o n c u rre n t system s b e h a v io rs b y u s in g g ra p h ic a l n o
t a t io n s I t s u p p o rts fo rm a l s p e c ific a tio n and v e rific a tio n o f c o n c u rre n t s o ftw a re
s y s ttc m s T h e o b je c tiv e o f th is a rtic le is to e nable s o ftw a re e n g in e e rs to s p e c ify and reasson a b o u t te m p o ra l p ro p e rtie s o f c o n c u rre n t system s m o re e a s ily b y p ro v id in g
th e irn w it h a lo g ic th a t has an in t u it iv e g ra p h ic a l re p re s e n ta tio n a n d w it h to o ls th a t
s u p > p o rt its use T h e researchers raise an e le v a to r syste m as a case s tu d y in e x p lo r in g
th e to o l H ow ever, th e g ra p h ic a l n o ta tio n s w h ic h are used t o te m p o r a l lo g ic s are
miKch c o m p lic a te d M o re o v e r, th e to o l does not s u p p o rt id e n t if y in g tim e c o n s tra in ts
a lo m g th e system
S A C R E S (B e n v e n is te e t a l., 1998) is a v e rific a tio n e n v iro n m e n t fo r e m b e d d e d
s y s tte m s th a t a llo w s user to g r a p h ic a lly sp e cify p ro p e rtie s as S y m b o lic T im in g D i
a g r a m s Designs are tr a n s la te d in to fin it e s ta te m a ch in e s w h ic h are o p tim iz e d and
th e m v e rifie d b y s y m b o lic m o d e l c h e c k in g T h e a d va n ta g e in th is w o rk is t h a t th e ir
a p p r o a c h can v e rify large , c o m p le x syste m s H ow ever th is w o r k fo cuse d o n ly 0 1 1 th e
d e s iig n levels b u t not a t th e im p le m e n ta tio n level as in o u r a p p ro a c h
Trang 475 3 C h e c k i n g a n d e v a l u a t i n g in s o m e r e a l - t i m e s y s t e m s 4 3
5 3 C h e c k i n g a n d e v a l u a t i n g i n s o m e r e a l - t i m e
s y s t e m s
(W e ge ne r & G r o c h tm a n n , 1998) p ro p o s e d an a p p ro a c h fo r v e r ify in g t im in g co n
s tr a in ts o f R e a l-T im e S yste m s b y m eans o f e v o lu tio n a r y te s tin g In th is p a p e r, a
v io la tio n o f t im in g c o n s tr a in ts m eans t h a t o u tp u ts are p ro d u c e d to o e a rly , o r th e ir
fo r a c c u ra te te s t d a ta b y m eans o f e v o lu tio n a r y c o m p u ta tio n is c a lle d e v o lu tio n a r y
te s tin g T h is te s tin g a p p ro a c h d iffe rs fro m o u rs w h ic h use A O P to a u to m a tic a lly check w it h t im in g c o n s tra in t s p e c ific a tio n B e sid e , th is approac h a n d o u rs m a y be
th e in c r e m e n ta lly c o m p o s itio n b u t do n o t check th e c o m p lia n c e b e tw e e n r u n - tim e
ta s k s a n d t im in g c o n s tr a in t s p e c ific a tio n
( M o k & L iu , 1997) is a lso d e te c ts th e t im in g c o n s tr a in ts v io la tio n a t r u n tim e
T h e y sh o w t h a t a t im in g v io la tio n can be c a u g h t as e a r ly as p o s s ib le b y d e r iv in g
a n d m o n it o r in g a m in im u m set o f t im in g c o n s tr a in ts fr o m th e t im in g c o n s tr a in t
s p e c ific a tio n O n ly O ( n ) tim e is needed in th e w o rs t ease fo r c h e c k in g a t each check
p o in t T h e y in v e s tig a te th e a lg o r ith m ic p ro b le m s in v o lv e d in th e d e te c tio n o f a
t im in g c o n s tr a in t v io la tio n a t th e e a rlie s t p o s s ib le tim e B y c o m p ilin g th e tim in g
c o n s tr a in t s p e c ific a tio n s , r u n - t im e m o n ito r in g can be p e rfo rm e d e ffic ie n tly w ith low
o v e rh e a d T h e m e m o ry re q u ire m e n t fo r th is m o n it o r in g a lg o r ith m is b o u n d e d a n d
an u p p e r b o u n d ca n be d e te rm in e d a t c o m p ile tim e T h e a p p ro a c h in th is w o rk
m e n tio n s o n ly th e t im in g c o n s tr a in t in s p e c ific a tio n fo r r u n tim e progress a fte rw a rd s
an n o t ch eck th e t im in g c o n s tr a in t a t r u n tim e d ir e c tly