1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn thạc sĩ VNU UET checking timing constraints in software system using AOP

51 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Checking Timing Constraints In Software System Using AOP
Tác giả Do Tuan Anh
Người hướng dẫn Dr. Truong Ninh Thuan
Trường học Vietnam National University
Chuyên ngành Information Technology
Thể loại thesis
Năm xuất bản 2009
Thành phố Hanoi
Định dạng
Số trang 51
Dung lượng 14,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

r/the time point is jusK before \the beginning ofthe >.

Trang 1

Cheeking 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

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 3

3 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 4

L 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 15

o 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 19

Cleaner "'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 23

b e t w / e e n 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

T h e m a i n s t e p s f u r g e n e r a t i n g a s p e c t a r e s u m m a r i z e d a s follow’s

• T i m i n g c o n s t r a i n t s a r e e x p r e s s e d b y U M L T i m i n g D i a g r a m s e x p o r t e d t o X M L

f o r m a t

Trang 25

3 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 27

r/the time point is jusK before \the beginning ofthe >

Trang 29

I 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 32

Check_BalanceAcount( ) {bi b2)s

Gtve_M oney( ) {g1 Return( ) {r1,r2}s

Check BalanceATM( ) {a1 ,a2}s

Trang 34

0» 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 38

The timing constraints from the first schema

I

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 40

I ’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

< Model composite- "truey consider Default Properties = ”false” display ModelType

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 41

T 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>

W e r e t r i e v e t w o I D o f a T i m e U n i t a n d a S t a t e C o n d i t i o n T h e r e l a t i o n b e t w e e n

T i m e U n i t a n d S t a t e C o n d i t i o n e x p r e s s e s in a Time Instance

< Model composite="true” considerDefaultProperties—”false” display ModelType=” Time In­

stanceid-~MePqefiFS-gygRii" modelType - "TimeInstance” name - ” ”>

Trang 42

(1) for (i - 0: i CvalucArrLen; i f f ) {(2) Systein.out.printing* Name of task: ” 4 taskNamo2[i] 4

’’ tim e point: M -f timeUnit.Name2[i)):

(20) }

(21) for (i= 0 ; i <i3; i 4 4 ) {(22) System.out.println(taskName3[i] 4 ’’ duration: ” 4 tim eValfi] 4seconds” );

Trang 43

a 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

Trang 46

s 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

Ngày đăng: 05/12/2022, 15:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN