• No results found

Software Agent Architecture for Consistency Checking of Distributed Documents

N/A
N/A
Protected

Academic year: 2020

Share "Software Agent Architecture for Consistency Checking of Distributed Documents"

Copied!
266
0
0

Loading.... (view fulltext now)

Full text

(1)

Department of Computer Science

University College London

University of London

Software Agent Architecture for Consistency Checking

of Distributed Documents

Danila Stanislavovich Smolko

Submitted in partial fulfilment o f the requirements

for the degree of Doctor of Philosophy

at the University o f London

(2)

ProQuest Number: U642671

All rights reserved

INFORMATION TO ALL USERS

The quality of this reproduction is dependent upon the quality of the copy submitted. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if material had to be removed,

a note will indicate the deletion.

uest.

ProQuest U642671

Published by ProQuest LLC(2015). Copyright of the Dissertation is held by the Author. All rights reserved.

This work is protected against unauthorized copying under Title 17, United States Code. Microform Edition © ProQuest LLC.

ProQuest LLC

789 East Eisenhower Parkway P.O. Box 1346

(3)
(4)

Abstract__________________________________

T he size and com plexity o f current softw are system s often n ecessitates distributed and cooperative d evelopm ent by num erous participants. T his thesis investigates the problem o f m anagem ent o f co n sisten cy relations betw een docum ents in the softw are engineering dom ain, w h ich are cooperatively develop ed in such distributed setting. T he thesis builds on related w ork in expression o f con sisten cy relations by m eans o f co n sisten cy rules, and expands on the fram ework for centralised co n sisten cy link

generation to transparently provide the developers w ith in con sisten cy identification services at distributed locations.

T his thesis elaborates a con sisten cy fram ework, w h ich enables co n sisten cy checks to be carried out at location s o f the docum ents, rather than at a centralised server or repository. W e focu s on advantages that u se o f softw are agency brings to im plem entation o f this framework. T h ese advantages are realised in the d eveloped softw are agent architecture, w h ich capitalises on agent m obility for carrying out checks in the distributed environm ent.

T he thesis describes a m ethod for carrying out con sisten cy checks in crem en ta lly for the underlying con sisten cy link generation framework. Incremental checks relate in d ivid u a l docum ent updates to the current state o f the checked docum ent set. Incremental checking facilitates event-orientation o f the fram ework for distributed con sisten cy checks, w here individual update events trigger co n sisten cy checks o f related con sisten cy rules, resulting in generation o f con sisten cy links, relevant to the original changes. Inconsistent links indicate problem areas to the developers, w here further w ork m ay be needed in correction o f rem aining incon sisten cies.

T his thesis m akes a n ovel contribution to con sisten cy checking in the softw are engineering dom ain by providing the softw are agent architecture, w h ich enables distributed collaborative developm ent. Initial evaluation o f the softw are agent architecture for distributed con sisten cy checking is carried out on a sim ulation m odel.

(5)

Acknowledgements

I would like to acknowledge with sincere appreciation a number o f people, whom I ow e for helping shape this thesis. I would like to express my deep gratitude to Professor Anthony Finkelstein, my supervisor, for reassuring my confidence in achieving of the academic objectives and providing independence in research. This thesis would not have been possible without his attention and unfailing support. I am also grateful to my secondary supervisor. Dr. W olfgang Emmerich, who has provided constructive feedback for three years o f my studies and has given a detailed review to numerous reports and the thesis draft.

I would also like to thank all members o f the Software Engineering group and my fellow students, who have provided me with a very supportive environment throughout my stay at UCL. I appreciate the warm welcome into the group from Dr. Andrea Zisman and Dr. Ernst Ellmer. I am particularly grateful to Dr. Cecilia M ascolo for generous encouragement and support through the ups and downs o f the PhD, and to Nim a Kaveh - for his humour, comradeship and unconditional optimism. Credits are due to Carina A lves, Christian Nentwich, Daniel Dui, Joe Lewis-Bowen, Licia Capra, Luca Zanolin, Rami Bahsoon, Stefanos Zachariadis, my office colleagues, for creation o f a friendly and productive atmosphere. Thanks, Christian, for a timely release o f the TreeDiff tool as an open source software, and for numerous discussions o f the XLinkit framework. Joe deserves special thanks for meticulously reviewing the draft o f this thesis at a very short notice. I would also like to thank my friend Joao Oliveira for his considerate regard and kind attention in the times o f pressure.

I ow e a special gratitude to my loving partner Lucie, who believes in my abilities and has encouraged me on the way of their realisation. And, last and not least, sincere thanks go out to my parents Liliya and Stanislav for the wisdom o f their advice and for the warmth o f their hearts. Thank you so much. Mum and Dad!

(6)

Table of Contents

L IS T O F F IG U R E S A N D T A B L E S ... 10

C H A P T E R 1 IN T R O D U C T I O N ... 14

1.1 Mo t iv a t in g Sc e n a r i o...15

1.2 Co n t r ib u t io n...15

1.3 Th e siss t r u c t u r e... 16

C H A P T E R 2 R E L A T E D W O R K IN C O N S IS T E N C Y C H E C K I N G ...18

2.1 Th e Vie w p o in t s Ba c k g r o u n d...18

2 .2 Vie w p o in t-Or ie n t e d So f t w a r e En g i n e e r i n g...18

2.2.1 V ie w p o in ts...19

2.2 .2 C onsistency o f V ie w P o in ts... 19

2.2.3 C onsistency M anagem ent A c tiv itie s... 21

2 .2 .4 P o lic ie s ... 22

2.3 So f t w a r e De v e l o p m e n t En v ir o n m e n t s... 23

2 .4 Me t a-C A SE To o l s... 24

2.5 At t r ib u t e Gr a m m a r s...25

2 .6 Spec ific a t io n La n g u a g e s...26

2.6.1 C E N T A U R ... 26

2 .6 .2 P R O G R E S S ... 26

2 .6.3 G O O D ST E P ...26

2 .7 X Li n k i t... 26

2.7.1 Link G en eration ... 28

2 .7 .2 X Linkit and Distribution S u p p ort... 28

2 .7.3 Exhaustive C onsistency C h eck in g ... 28

2 .8 Su m m a r y... 29

C H A P T E R 3 R E Q U IR E M E N T S F O R D IS T R IB U T E D C O N S IS T E N C Y C H E C K I N G .. 31

3.1 St a k e h o l d e r s... 31

3 .2 Sp e c if ic a t io no f In t e r-Do c u m e n t Re l a t i o n s h i p s...32

3.3 Lo c a t io n o f Co n s is t e n c y Ru l e sa n d Th e ir Ap p l i c a b i l i t y... 32

3 .4 Dis t r ib u t e d Do c u m e n t Mo n it o r in ga n d Ch a n g e Id e n t if ic a t io n... 33

3.5 Tim in go f Co n s is t e n c y Ch e c k s...33

3 .6 In c r e m e n t a l Co n s is t e n c y Ch e c k s...33

3 .7 Re l e v a n c eo f Co n s is t e n c y Ru l e s...34

3.8 Do c u m e n t Ac c e ss Lo c a l it y... 34

3 .9 Re p r e s e n t a t io n of Re s u l t so f Co n s is t e n c y Ch e c k s... 35

3 .1 0 Up d a t eo f Re s u l t so f Co n s is t e n c y Ch e c k s...35

3.11 Ev e n t No t if ic a t io n a n d Pr o c e s s in g...35

3 .1 2 Su m m a r y... 36

C H A P T E R 4 S O F T W A R E A G E N T S A N D T H E M O B IL E A G E N T P A R A D IG M ... 38

4.1 Wh a tisas o f t w a r ea g e n t? ... 38

4 .2 Ch a r a c t e r is t ic so fs o f t w a r ea g e n t s... 40

4.2.1 W eak A g e n c y ... 40

4 .2 .2 Strong A g e n c y ... 41

4 .3 Ag e n t Mo b i l i t y... 41

4 .4 Dis t r ib u t e d Sy s t e m Co n s t r u c t io n With Mo b il e Ag e n t s... 42

4 .4.1 Traditional Distributed S y ste m s... 42

4 .4 .2 M obile A g e n ts... 44

(7)

4.5 In t e r-a g e n tc o m m u n ic a t io n... 48

4.5.1 C om m unication Prim itives...4 9 4 .5 .2 M ulti-agent C o-operation... 4 9 4.5 .3 Location Service for Distributed A g e n ts... 50

4 .6 Ta x o n o m yo f Mo b il e Ag e n t Fr a m e w o r k s...51

4 .6.1 Structure o f the T axonom y...51

4 .6 .2 C o m m en ts... 5 2 4 .7 Th e Ag lets Fr a m e w o r k...55

4 .7.1 A g e n t s ...55

4 .7 .2 Servers...56

4 .7 .3 C om m unication...57

4 .7 .4 S e c u r ity ... 5 7 4.7.5 A g lets Event M odel - A gen t C loning E xam p le...57

4 .7 .6 A g lets Event M odel - A gen t M o b ility ...5 9 4 .8 Ch o ic eo fa Mo b il e Ag e n t Fr a m e w o r kf o rt h e Dis t r ib u t e d Co n s i s t e n c y... Ch e c k in g Ar c h it e c t u r e... 60

4.8.1 Requirem ents For a M obile Softw are A gen t Fram ew ork...61

4 .8 .2 Selection o f a M obile Softw are A gen t Fram ew ork... 62

4 .9 Su m m a r y... 63

CHAPTER 5 INCREMENTAL CONSISTENCY CHECKING... 64

5.1 CoNSiSTCNCY Ru l e s... 64

5.1.1 R ule E x a m p le...64

5 .1 .2 C hecking a C onsistency R u le...65

5.1 .3 R esulting C onsistency L in k s...66

5 .1 .4 Fragility o f X L ink L o ca to rs... 66

5 .2 Ex h a u s t iv e Co n s is t e n c y Ch e c k in g... 67

5.2.1 A lgorithm o u tlin e... 67

5 .2 .2 A pplication D om ain for Exhaustive C h eck s... 68

5 .3 In c r e m e n t a l Co n s is t e n c y Ch e c k in g...70

5.3.1 In itialisation ... 71

5 .3 .2 Selection o f R elevant C onsistency R u les...71

5.3 .3 Execution o f Selected R u les... 72

5 .4 Dist r ib u t io no f Co n s is t e n c y Ch e c k s... 72

5.4.1 M obile A g e n ts ...73

5 .4 .2 Distributed Incremental C onsistency C h eck in g ... 74

5 .5 In c r e m e n t a l Ch e c k in g Ch a l l e n g e s... 76

5 .6 Su m m a r y... 77

CHAPTER 6 SOFTWARE AGENT ARCHITECTURE FOR DISTRIBUTED CONSISTENCY CHECKING...79

6.1 In t r o d u c t i o n... 79

6 .2 Ar c h it e c t u r e De s c r ip t io n... 80

6.2.1 R esource Interface A g e n t...8 2 6 .2 .2 D om ain A g e n t... 83

6.2.3 G ateway D om ain A g e n t... 85

6 .2 .4 C onsistency C hecking M obile A g e n t... 86

6 .2.5 U ser Interface A g e n t ... 90

6.3 Hie r a r c h ic a l In f o r m a t io n St r u c t u r e...90

6.3.1 D ocum ent N am e T a b le ... 91

6.3 .2 D istribution o f C onsistency R u le s ...9 2 6 .3.3 A gen t Lookup T a b le ... 94

6.3 .4 Event List T a b le ...95

6.3.5 System P o lic ie s ... 96

6.4 Re-c o n f ig u r a t io n At Ru n t im e... 97

(8)

6 .5 .2 D om ain A g e n t...98

6 .5 .3 G atew ay D om ain A g e n t...99

6 .5 .4 M ob ile C onsistency C hecking A g e n t... 99

6 .5.5 U ser Interface A g e n t ... 100

6 .6 Su m m a r y... 100

C H A P T E R 7 S T A T E T R A N S IT IO N M O D E L O F T H E S O F T W A R E A G E N T A R C H I T E C T U R E ...102

7.1 In t r o d u c t i o n... 102

7 .2 Th e Mo d e l l in g Ap p r o a c h...102

7 .2 .1 Construction o f a State Transition M o d e l... 103

7 .2 .2 M od ellin g T o o l - C overs... 103

7 .3 St a t e Tr a n s it io n Mo d e lo ft h e So f t w a r e Ag e n t Ar c h it e c t u r e...104

7 .3 .1 D ocum ent active ob ject...104

7 .3 .2 R esource Interface A gent active ob ject... 107

7 .3 .3 C on sisten cy C hecking M ob ile A g en t active o b je c t... 109

7 .3 .4 D om ain A gen t active o b ject... I l l 7 .3 .5 A gen t M iddlew are active o b j e c t ...113

7 .4 Ev a l u a t io n Re s u l t s...113

7.5 Su m m a r y...118

C H A P T E R 8 S C E N A R IO S : D IS T R IB U T E D D E V E L O P M E N T O F T H E B R E A K P L A N N E R A P P L I C A T I O N ...120

8.1 In t r o d u c t i o n...120

8 .2 Ap p l ic a t io n Do m a in... 121

8.3 An Ov e r v ie woft h e Sc e n a r io s... 121

8 .4 Ap p l ic a t io n De v e l o p m e n t Te a m... 122

8.5 An a l y s isa n d De s ig n oft h e Br e a k Sc h e d u l e r Ap p l ic a t io n...122

8 .6 Sc e n a r io I: Lo c a l Co n s is t e n c y Ch e c k in ga ta Ho s t With ina Sin g l e Do m a in... 125

8 .6.1 Event: Creation o f a N e w D o c u m e n t... 125

8 .6 .2 R esponse: C onsistency C heck... 125

8 .6 .3 Result: Generated C onsistency L in k s ... 126

8 .6 .4 P rocessin g o f the E ven t... 127

8 .7 Sc e n a r io II: Dis t r ib u t e d Co n s is t e n c y Ch e c k in g Wit h ina Sin g l e Do m a i n 131 8 .7.1 D istributed Check: Generation o f C onsistency L in k s... 131

8 .7 .2 Event: D ocum ent C h a n g e ... 132

8 .7 .3 P rocessin g o f the Event by the Softw are A gent A rchitecture... 133

8 .8 Sc e n a r io III: Dis t r ib u t io no ft h e Br e a k Sc h e d u l e r Ap p l ic a t io n... 137

8 .8 .1 D istribution o f U M L M odel E le m en ts... 138

8 .8 .2 Inter-dom ain A gen t M igration P o lic ie s...139

8 .8 .3 D istributed Inter-Dom ain C on sisten cy C h e c k ... 141

8 .8 .4 Inter-D om ain D ocum ent L ocation D isc o v e r y ... 142

8 .8 .5 M ulti-A gent C ollaboration... 145

8 .8 .6 Firew alls and m obile agent secu rity ...153

8 .8 .7 D iscon n ected operation... 154

8 .8 .8 R e p lic a tio n ... 155

8 .9 Su m m a r y...156

C H A P T E R 9 IM P L E M E N T A T IO N P R O T O T Y P E ...15 7 9.1 In t r o d u c t i o n...157

9 .2 Re s o u r c e In t e r f a c e Ag e n t... 157

9 .2 .1 Startup... 157

9 .2 .2 H andled m e s s a g e s ...158

9 .3 Do m a in Ag e n t...160

9 .3 .1 Startup... 160

9 .3 .2 H andled M e ssa g es...160

(9)

9 .4.1 Startup... 162

9 .4 .2 Handled M essa g es... 162

9 .4 .3 C loning Procedure... 164

9 .4 .4 M igration... 165

9.4.5 Redundant C onsistency C h e c k s...165

9 .5 Ga t e w a y Do m a in Ag e n t...166

9.5.1 Startup... 166

9 .5 .2 Handled M essa g es... 166

9 .6 Us e r In t e r f a c e Ag e n t...166

9.6.1 Startup... 167

9 .6 .2 Handled M essa g es...167

9 .7 Se c u r it y... 167

9.7.1 U ser-level Security...168

9 .7 .2 E xecu tion -level Security o f M obile A g e n ts ... 169

9 .7 .3 M igration-level Security o f M ob ile A g e n ts ... 170

9 .7 .4 M essage-level S e c u r ity ... 171

9 .8 Su m m a r y... 172

C H A P T E R 10 E V A L U A T IO N ... 174

10.1 Qu a l it a t iv ef e a t u r e s... 174

10.1.1 E leg a n ce... 174

1 0 .1.2 M anageability... 175

10.1.3 Rule A pplicability P o lic ie s ... 176

1 0 .1.4 Flexibility and D ynam ic R econfiguration... 176

10.1.5 Grouping o f R esources Into D om ains and Support o f D om ain H ierarchies...177

1 0 .1 .6 D isconnected O peration... 178

10 .1 .7 Support for T ransactions... 179

10 .1 .8 Balance o f R equirem ents...179

10.2 Qu a n t it a t iv e Pe r f o r m a n c e Ev a l u a t io n... 180

10.2.1 Exhaustive C onsistency C heck vs. Incremental C heck...181

1 0 .2.2 Distributed C heck vs. Centralised C heck o f Distributed D o c u m e n ts... 184

10.2.3 Centrahsed Exhaustive C onsistency C heck vs. Distributed Incremental C h e c k ... 193

10.3 Su m m a r y... 194

C H A P T E R 11 C O N C L U S IO N S A N D F U T U R E W O R K ... 195

11.1 Co n c l u s io n s...195

11.1.1 T he Softw are A gent Architecture for Distributed C onsistency C h e ck in g ... 195

1 1 .1 .2 Architecture M o d e l... 195

11.1.3 Incremental C h e ck in g ...196

1 1 .1 .4 V alidation o f the A rchitecture...196

11.2 Op e n Qu e s t io n sa n d Fu t u r e Wo r k... 197

11.2.1 C onsistency C hecking F ram ew ork ... 197

1 1 .2 .2 Integration o f the Software A gen t A rchitecture... 198

11.2.3 Distributed Softw are A gent A rchitecture... 198

11 .2 .4 Incremental C h e c k in g ...198

11.3 Cl o s in g Re m a r k s... 199

B I B L I O G R A P H Y ...2 0 0 A P P E N D IX A U M L W E L L -F O R M E D N E S S C O N S IS T E N C Y R U L E S ... 2 1 0 A . 1 As s o c ia t io n s... 210

A .2 As s o c ia t io nCl a s s... 212

A .3 As s o c ia t io nEn d... 213

A .4 Be h a v io r a lFe a t u r e...214

A .5 Cl a s s ...214

A .6 Cl a s s i f i e r...215

(10)

A .8 Co n s t r a in t...218

A .9 Da t a t y p e... 218

A . 10 Ge n e r a l iz a b l e El e m e n t... 218

A . 11 Ge n e r a l iz a t io n...219

A . 12 In t e r f a c e... 220

A .1 3 Me t h o d... 221

A . 14 N a m e s ? ACE... 2 2 2 A . 15 Ty p e ... 223

APPENDIX B STATE TRANSITION MODEL PSEUDO CODE...224

B . 1 Do c u m e n t Ac t iv e Ob je c t... 224

B .2 Re s o u r c e In t e r f a c e Ac t iv e Ob j e c t... 225

B .3 Mo b il e Ag e n t Ac t iv e Ob j e c t...226

B .4 Do m a in Ag e n t Ac t iv e Ob j e c t...2 2 9 B .5 Ag e n t Mid d l e w a r e Ac t iv e Ob j e c t...230

APPENDIX C BREAK PLANNER APPLICATION: SELECTED UML DIAGRAMS 231 C. 1 An a l y s is Cl a s s Di a g r a m... 231

C .2 Dist r ib u t e d Br e a k Pl a n n e r Ap p l ic a t io n Cl a s s Dia g r a m... 23 2 C.3 Br e a k Sc h e d u l e r Ap p l ic a t io n - Us e Ca s e s...233

APPENDIX D REVIEW OF MOBILE AGENT FRAMEWORKS...234

D .l D Ag e n t s...234

D .2 Mo le ...235

D .3 Hiv e ... 23 6 D .4 Co n c o r d i a... 23 7 D .5 Gr a s s h o p p e r...238

D .6 M E S S E N G E R S ... 23 9 D .7 Ta c o m a... 24 0 D .8 Te l e s c r ip t... 241

D .9 Vo y a g e r... 2 4 2 APPENDIX E QUANTITATIVE PERFORMANCE MODEL OF THE ARCHITECTURE ...244

E .l In t r o d u c t i o n... 24 4 E .2 As s u m p t i o n s... 24 4 E.3 In it ia lf i n d i n g s... 245

E .4 Lo c a lc o n s is t e n c yc h e c k... 245

E.5 Dis t r ib u t e di n-d o m a inc o n s is t e n c yc h e c k... 24 6 E .6 Sin g l ea g e n td is t r ib u t e d c h e c ka c r o s sm u l t ip l ed o m a i n s... 24 6 E .7 Mu l t i-a g e n td is t r ib u t e dc h e c ka c r o s s m u l t ip l ed o m a i n s... 247

E.8 Th e o r e mo nm u l t ip l e-a g e n td is t r ib u t e dc o n s is t e n c yc h e c k in g...248

E .9 Th e o r e mo nm u l t i-a g e n td is t r ib u t e da n dl o c a lc e n t r a l is e dc o n s is t e n c y CHECKING... 25 0 APPENDIX F INCREMENTAL CHECKING: TECHNICAL CHALLENGES... 253

(11)

List of Figures and Tables

Ta b l e 4.1. Ta x o n o m yofm o b il ea g e n ts y s t e m s, p a r t 1... 53

Ta b l e 4.2. Ta x o n o m yofm o b il ea g e n ts y s t e m s, p a r t 2 ... 54

Fig. 4.1. Se q u e n c e Dia g r a m fo r Ag l e t Cl o n in g... 58

Fig. 4.2. Ex a m p l eoft h ec l o n in gc o d e, c r e a t in g l in k e dm a s t e ra n d c l o n ea g e n t s...59

Fig. 4 .3 . Ex e c u t io nl o go ft h ee x a m p l ec l o n in gc o d e...5 9 Fig. 4 .4 . Se q u e n c ed ia g r a m f o r Ag l e tm ig r a t io n... 60

Fig. 4.5. Re v ie wo fr e q u ir e m e n t sf o ras u c c e s s f u lm o b il ea g e n tim p l e m e n t a t io nw it h int h e CONSISTENCY MANAGEMENT DOMAIN...61

Fig. 5.1 . Co n s is t e n c y RULE: w e l l-f o r m e d n e s sc o n s t r a in tf o r "Ge n e r a l iz a t io n" e l e m e n t s. 65 Fig. 5.2 . Th isg e n e r a l iz a t io n f u l f il st h ec o n s is t e n c yc o n s t r a in t...65

Fig. 5.3. Th is g e n e r a l iz a t io nd o e sn o tf u l f ilt h e c o n s is t e n c yc o n s t r a in t... 66

Fig. 5.4 . In c o n s is t e n tl in kg e n e r a t e da sar e s u l to fac o n s is t e n c ycpœ ck...66

Fig. 5.5. Ps e u d o c o d eo ft h ee x h a u s t iv ec o n s is t e n c yc h e c k in ga l g o r it h m... 67

Fig. 5.6. Ps e u d o c o d eo ft h ein c r e m e n t a lc h e c k in ga l g o r it h m... 70

Fig. 5.7. Ps e u d o c o d efo rd is t r ib u t e din c r e m e n t a lc o n s is t e n c yc h e c k in g... 75

Fig. 6.1. a sin g l ed o m a ino fth eso f t w a r ea g e n ta r c h it e c t u r efo rd is t r ib u t e dc o n s is t e n c y CHECKING...81

Fig. 6.2. Co n s is t e n c yc h e c k in ga g e n t'sg o a l "s e l e c t" a n dt h er e s u l t - t h ea g e n t's ITINERARY...88

Fig. 6.3. Ex t r a c tf r o mt h e Do c u m e n t Na m ea n d Ty p e Ta b l e... 91

Fig. 6.4. St r u c t u r eo fa n e l e m e n to ft h e Ag e n t Lo o k u p Ta b l e...94

Fig. 6.5. Ane l e m e n to fa n Ev e n t Lis t Ta b l e, r e g is t e r in gt h ee v e n t "OnCh a n g e"... 95

F ig. 6.6. A c o n s i s t e n c y r u l e e x e c u t i o n p o l i c y e x a m p le in XML... 96

Fig. 6.7. Th es t r u c t u r eo fa r u l ee x e c u t io np o l ic y...96

Fig. 7.1 . St r u c t u r eoft h es o f t w a r e a r c h it e c t u r em o d e l... 105

Fig. 7.2. Do c u m e n ta c t iv eo b je c t; it ss t r u c t u r ea n d b e h a v io u r...106

Ta b l e 7.1. Pa r t ia lc o d e: Do c u m e n ta c t iv eo b j e c t... 106

Fig. 7.3 a. St r u c t u r eo ft h e Re s o u r c e In t e r f a c e Ag e n ta c t iv eo b je c t... 107

Fig. 7 .3b. Be h a v io u ro ft h e Re s o u r c e In t e r f a c ea c t iv eo b je c t... 108

Ta b l e 7.2. Pa r t ia lc o d e: Re s o u r c e In t e r f a c e Ag e n ta c t iv eo b je c t... 108

Fig. 7 .4a. St r u c t u r eo ft h e Co n s is t e n c y Ch e c k in g Mo b il e Ag e n ta c t iv eo b je c t...109

Fig. 7 .4b. Be h a v io u ro ft h e Co n s is t e n c y Ch e c k in g Mo b il e Ag e n ta c t iv eo b je c t...110

Fig. 7 .5b. Be h a v io u ro ft h e Do m a in Ag e n t a c t iv eo b je c t... 112

Fig. 7.6. Ag e n t Mid d l e w a r ea c t iv eo b je c t: itss t r u c t u r ea n d b e h a v io u r...113

(12)

Fig. 7 .8a. Pe r f o r m a n c ee v a l u a t io n o ft h ea r c h it e c t u r em o d e l... 116

Fig. 7 .8b. Pe r f o r m a n c ee v a l u a t io no ft h ea r c h it e c t u r em o d e l (c o n t in u e d) ... 116

Fig. 7 .8c. Pe r f o r m a n c ee v a l u a t io no ft h ea r c h it e c t u r em o d e l (c o n t in u e d) ... 117

Fig. 7.9. Pe r f o r m a n c eo ft h em o d e la n da c e n t r a l is e dc o n s is t e n c y c h e c k e r...118

Fig. 8.1. In it ia lst r u c t u r eo ft h e C D S d o m a in...122

Fig. 8.2. Dist r ib u t io no f X M I d o c u m e n t sf o r Sc e n a r io s I a n d II (s u m m a r y) ... 122

Fig. 8 .3a. Do c u m e n td is t r ib u t io n (h o s t A ) ... 123

Fig. 8 .3b. Do c u m e n td is t r ib u t io n (h o s t B )... 123

Fig. 8.4. Th e An a l y s is Cl a s s Dia g r a m c o n s id e r e d int h e Sc e n a r io s I a n d II...124

Fig. 8.5. Re l e v a n c eo f U M L w e l l-f o r m e d n e s s r u l e stom o d e le l e m e n t s... 125

Fig. 8 .6a. In it ia lv e r s io no fc l a s s Te a c h e r... 126

Fig. 8 .6b. In c o n s is t e n tl in kb e t w e e na n o p e r a t io nint h ec l a s sa n d t h ec l a s sd e s c r ip t o r. 127 Fig.8.7. Do c u m e n tc h a n g e isin d ic a t e dint h e Tr e eDiff... 128

Fig. 8.8. Ac t iv it ylo goft h ep r o t o t y p e: s e l e c t io no fr e l e v a n tc o n s is t e n c yr u l e s...128

Fig. 8 .9 Mo b il ec o n s is t e n c ya g e n t sr e c e iv eit in e r a r ie sf r o mt h ed o m a ina g e n t... 129

Fig. 8 .10. Ac t iv it ylo go ft h ep r o t o t y p e. Lo c a ll in kg e n e r a t io nf o r r u l e " c l" ... 130

Fig. 8 .11. Co n s is t e n tl in kb e t w e e nan a m e s p a c ea n dt h ee n d s o fa n a s s o c ia t io n...131

Fig. 8 .12. Tr e eDiff: a n a s s o c ia t io ne n de l e m e n tisa d d e dt ot h e U M L m o d e l... 132

Fig. 8 .13. Ac t iv it ylo go ft h ep r o t o t y p ea th o s t A: id e n t if ic a t io n o fc h a n g e s, r e l e v a n t RULES, PROCESSING OF LOCAL RELEVANT DOCUMENTS, MIGRATION TO HOST B ... 133

Fig. 8 .14. Se q u e n c eofc l o n in ga n d m ig r a t io n a c t io n sinad is t r ib u t e dc h e c k...135

Fig. 8 .15. Ac t iv it ylo go ft h ep r o t o t y p ea th o s t B: p r o c e s s in g o fl o c a lr e l e v a n t DOCUMENTS, LINK GENERATION, PROPAGATION OF LINKS TO HOST A ...135

Fig. 8 .16. Ac t iv it yl o go ft h ep r o t o t y p ea th o s t A: s t o r in g ofc o n s is t e n c yl in k s, d is p o s a l OF THE PARENT MOBILE AGENT...136

Fig. 8 .17. In d iv id u a lst a t is t ic sf o rt h ea g e n tf a m il y (p a r e n ta n d a l lc l o n e s) ... 137

Fig. 8 .18. Do c u m e n td is t r ib u t io nf o r Sc e n a r io III... 139

Fig. 8 .19. Mu l t i-d o m a in h ie r a r c h yo fn e t w o r kh o s t s... 139

Fig. 8 .2 0 . Su m m a r yo ft h epo lic ie sf o rin t e r-d o m a inc o n s is t e n c yc h e c k s... 141

Fig. 8 .21. Ro u t in gpo l ic ie sfo rm o b il ea g e n tin t e r-d o m a in c o n s is t e n c yc h e c k s...141

Fig. 8 .2 2 . In t e r-d o m a in l o c a t io nd is c o v e r yp r o c e s se x a m p l ef o rc o n s is t e n c yr u l e "GENERALIZATIONS"... 143

Fig. 8 .23. Re s u l t: in t e r-d o m a init in e r a r yf o rr u l e "g e nI", c h e c k e df r o mt h e C D S d o m a in. ... 143

F ig. 8 .24. X M I S o u r c e o f g e n e r a l i z a t i o n " O r g a n is e r I m p l im p le m e n t s O r g a n is e r " a n d t h e RESULTING INCONSISTENT LINK... 144

(13)

Rg. 8 .2 6 In c o n s is t e n tl in k: t w oc o pie so ft h es a m ea s s o c ia t io ne x is tint h e U M L m o d e l. . 147

Fig. 8.27. Ge n e r a t io n ofs u b-it in e r a r ie s...147

Fig. 8.28. St a g e 1 o fm u l t i-a g e n tc o l l a b o r a t io n: e x e c u t io no fs u b-it in e r a r ie s... 148

Fig. 8.29. St a g e 2 o fm u l t i-a g e n tc o l l a b o r a t io n: c o l l e c t io nin t ot h er e p o s it o r y... 148

Fig. 8.30. St a g e 3 o fm u l t i-a g e n tc o l l a b o r a t io n: g e n e r a t io no fl in k sa n d th eir PROPAGATION...149

Fig. 8.31. Co m pl et eit in e r a r yofd o c u m e n t s, r e l a t e dtoc o n s is t e n c yr u l e "n1", f r o ma l l PARTICIPATING DOM AINS...150

Fig. 8.32. Co n c a t e n a t io n ofit in e r a r ie sa n d n o d e s e t sf r o mr e d u n d a n t c o n s is t e n c y CHECKING AGENTS...151

Fig. 8.33. Pa r t ia lit in e r a r yfo rc h e c k in gr u l e "g e nI" a tt h ed is c o n n e c t e dd o m a in B C L ... 155

Fig. 10.1. Tim in g so fe x h a u s t iv ec h e c k so f U M L w e l l-f o r m e d n e s sc o n s is t e n c yr u l e s...182

Fig. 10.2. Ch e c kt im e sf o rin c r e m e n t a la n de x h a u s t iv ec h e c k s... 183

Fig. 10.3a. Ch e c kt im in g so fd is t r ib u t e dc o n s is t e n c yc h e c k sb yn u m b e ro fh o s t s... 186

Fig. 10.3b. Ch e c kt im in g s - p l a in g r a p hw itht r e n d l in e s... 186

Fig. 10.4. Pe r f o r m a n c ec o m p a r is o no fd is t r ib u t e d a n dc e n t r a l is e dc h e c k so fr u l ea1...188

Fig. 10.4b. Pe r f o r m a n c e c o m p a r is o n: p l a in g r a p hw itht r e n dl in e s...188

Fig. 10.5. Ex e c u t io no fc o n s is t e n c yr u l e: w e l l-f o r m e d n e s so f Na m e s p a c e... 190

Fig. 10.6. Ex e c u t io no fc o n s is t e n c yr u l e s: w e l l-f o r m e d n e s s o f As s o c ia t io n s...190

Fig. 10.7. Ex e c u t io no fc o n s is t e n c yr u l e s: Cl a s s e sa n d Be h a v io u r a l Fe a t u r e s...191

Fig. 10.8. Pe r f o r m a n c e o fc o n c u r r e n t m u l t i-a g e n tc h e c k s...192

Fig. 10.8b. Pe r f o r m a n c e o fc o n c u r r e n tm u l t i-a g e n tc h e c k s... 192

Fig. 10.9. Pe r f o r m a n c eo fb e s ta n dw o r s td is t r ib u t e d c h e c k in ga p p r o a c h e sc o m p a r e dw ith CENTRALISED CHECKING OF DISTRIBUTED DOCUMENTS... 193

Fig. F .l. Ex a m p l e so fc o m p l e x X Pa t he x p r e s s io n sf r o m t h e U M L r u l eb a s e... 25 4 Fig. F.2. Al g o r it h mf o rf in d in gin t e r s e c t io nb e t w e e nt w o X Pa t h e x p r e s s io n s... 255

Fig. F.3. Co n s is t e n c yr u l ese l e c t io ns c e n a r io s... 2 5 6 Fig. F.4. Re s u l t so fp r o c e s s in g X Pa t he x p r e s s io n s... 2 5 6 Fig. F.5. Al g o r it h mfo rm e r g in gl in k s e t s... 25 8 Fig. F .6a. Ex a m p l ed o c u m e n t sf o rd e m o n s t r a t io n o ft h e X Pa t h f r a g il it yp r o b l e m... 25 8 Fig. F .6b. Lin k sb e t w e e nt h et w od o c u m e n t s... 2 5 9 Fig. F.7a. Ch a n g e dd o c u m e n t s...2 5 9 Fig. F .7b. In c r e m e n t a ll in kb a s e... 2 6 0 Fig. F.8. X Pa t hu p d a t ea l g o r it h m...261

Fig. F.9. X Pa t he x p r e s s io nm a p p in gh a s h t a b l e... 261

(14)

Fi g. F. 13. Cl a s se l e m e n t, e x t r a c t e df r o m aUML m o d e l...263

(15)

Chapter 1

Introduction

The size and complexity of current software-intensive systems necessitates their distributed and

collaborative development. In this setting, a number of participants in a joint effort produce documents,

which are often required to follow certain restrictions on their format and content. These restrictions

define relations between the documents that are required to hold by a standard, a development process, a

company policy or another factor. For example, software system descriptions, expressed in the Unified

Modelling Language (UML), are required to follow the well-formedness constraints, defined by the

UML standard [OMG 2000b].

In many cases, produced documents have "overlapping" content, as they refer to common objects or

phenomena. The overlap gives rise to consistency relations between documents and their parts referred

to as document elements. In a variety of cases, the developers intend to constrain these relations, due to

the software development process used, the document structure or semantics demanded, or project

requirements. In this thesis, we use the term consistency management to describe the process, by which

existing consistency relations between overlapping documents are checked for conformance to specified

constraints.

The task of consistency management is complicated by the distribution of documents and their

concurrent collaborative development by numerous distributed participants. With the expansion of the

Internet, company intranets and distributed collaboration technologies, company-wide distribution of

developers has already become widespread, and there exists a growing trend in adoption of the

geographically distributed, Internet-scale development. Existing centralised approaches to consistency

checking cannot cope with a scenario of checking the mutual consistency of documents in the

distributed setting of this scale.

This thesis addresses the problem of checking consistency relations between distributed documents.

We build a distributed architecture, consisting of autonomous collaborating components, which

automatically provide the consistency checking service at the distributed document locations. This

architecture is proposed as an alternative to the traditional approach, where checks are inherently

centralised. The developing software agent technologies and code mobility are making feasible the

construction of the new architecture.

As a motivating scenario in this thesis, we consider the problem of consistency management in the

(16)

1.1 Motivating Scenario

As an application domain and a benchmark for the proposed software agent architecture for

distributed consistency management, we consider consistency checks between distributed software

engineering documents. A running scenario of throughout the thesis deals with the design of a break

scheduler application, discussed in [Bergner, et al. 1997]. In the scenario, a team of distributed

participants is concurrently developing on a UML model [Booch, et al. 1999] of the software

application. The scope of consistency relations, demonstrated in the scenario, is that of checking well-

formedness constraints [OMG 2000b] of the UML model throughout the development process.

Checking of well-formedness constraints of UML models has been chosen as the application

domain due to variety and complexity of the UML constraints. The approach to distribution of UML

model elements for collaborative development and distributed checks allowed us to generate evaluation

scenarios of significant scale for larger UML models.

1.2 Contribution

This thesis builds on the approach for expression of consistency relations between documents, the

concept of consistency checks of these relationships, and the method for representation of the state of

relationships between individual documents [Zisman, et al. 1999]. We draw on the recent development

of this framework - a novel XLinkit rule language [Nentwich, et al. 2001a] and the framework for

carrying out consistency checks of well-formedness consistency relations in UML models [Nentwich,

et al. 2000b].

The XLinkit framework follows the approach, which originates in software development

environments [Donzeau-Gouge, et al. 1984, G O O D STEPTeam 1994, H aberm ann and N otkin

1986, Reps and Teitelbaum 1981] and provides the facilities for carrying out centralised consistency

checks, where documents need to be stored at, or moved to, the location of the consistency checker.

The growth in distributed software development in industry and in the software engineering

community has initiated re-consideration of the centralised architectures. With respect to the existing

tools, such as XLinkit, most significant concerns arise in the scalability of the centralised approach, and

in its usability for incremental development, since consistency checks have to be initiated by a user and

upon every check, all distributed documents have to be copied to the central location and check results

need to be returned to the locations, where development takes place.

This thesis proposes a distributed architecture, where consistency checking is carried out locally at

the network hosts where documents are located. We introduce a distributed checking algorithm, which

separates checks of documents in space and time and executes at numerous locations. The approach

enables concurrent checking at numerous locations and improves efficiency and security of checks by

(17)

The architecture facilitates distribution by scaling out, through introduction of self-contained

autonomous domains and forming of a domain hierarchy, and by scaling up with the increase in a

number of hosts and documents in each domain. The concept of domains - groups of related documents

allows us to tackle large scale distribution and offer a de-centralised solution, capable of delivering an

efficient consistency checking service. Disconnected operation of autonomous domains enables us to

improve fault tolerance and achieve stability by use of persistent components. In order to fulfil its task,

the distributed architecture builds on software agency and mobility in construction the architectural

components.

In a brief summary, this thesis makes the following contributions:

Development of an architecture for distributed consistency checking, which capitalises on locality of

access to documents.

An incremental checking algorithm, which extends the capabilities of existing exhaustive checker

and provides better support for the incremental development process. We have addressed technical

challenges of extending the current non-incremental checker XLinkit to provide support for

incremental checks. Having achieved interoperability between the checkers, we consider them as

complementary and have suggested deployment scenarios for both checkers

Development of a model of the architecture, where components' operations are specified via state

charts. This model allows us to better explain component roles, to provide initial verification of the

architecture, and to give an initial estimation of its performance characteristics.

Construction of an implementation prototype of the architecture, which we have evaluated on a

number of scenarios, demonstrating its scalability and explaining in detail the features provided by

the architecture. The chosen scenarios follow distributed cooperative development of a software

application by a number of participants.

We have suggested a number of approaches to multi-agent collaboration and concurrent execution

of checks, which aim at improving performance of the distributed consistency checks, and gave

recommendations on optimal configurations of the distributed system.

We have carried out a performance evaluation of the architecture and compared it with the

centralised checking approach. This evaluation has allowed us to highlight the distribution

configurations, in which the distributed checks are most effective.

1.3 Thesis structure

Related work to consistency checking in the areas of ViewPoint software engineering, software

engineering environments, and the XLinkit consistency framework follows in Chapter 2. Chapter 3 sets

out the primary considerations - functional requirements for construction of a distributed consistency

management architecture. Chapter 4 gives an introduction to software agency and mobility concepts, on

(18)

frameworks, specify our requirements and select a framework, on which the architecture and its

prototype are constructed.

Chapter 5 introduces incremental checking development for the XLinkit framework, and considers

in detail a centralised algorithm and a distributed, incremental consistency checking algorithm. By

describing the checking process, this chapter sets a context for the following description of the

architecture.

Chapter 6 gives a high level overview of the proposed software agent architecture for distributed

consistency checking. It describes the roles of the architectural components and elaborates on fulfilment

of the functional requirements, demanded in Chapter 3, by each of the components.

A model of the architecture, outlining internal operations of each component in state transition

diagrams, is presented in Chapter 7. The model allows us to give a detailed demonstration of internal

operations of the components and their interaction, and gives an initial performance estimation of

distributed consistency checks.

A number of scenarios, occurring during the development of a UML model of a break scheduler

application, are introduced in Chapter 8. The scenarios are extensively developed for distributed checks

in different distribution configurations, where events, triggering consistency checks, actions and

interactions of components during the checks, and results of the checks are described in detail. These

scenarios are a result of deployment of an implementation prototype of the software agent architecture,

which serve as validation of the architecture.

Chapter 9 lays out the internal structure of the implementation prototype that was informally

introduced on scenarios in Chapter 8. In Chapter 9, each component of the event-driven architecture is

described in terms of event generation and handling.

The software agent architecture is evaluated in Chapter 10. Qualitative evaluation outlines

advantages and disadvantages of the architecture, and refers to the functional requirements, demanded of

the architecture in Chapter 4. Quantitative performance evaluation of the implementation prototype uses

a UML design example and contrasts the traditional centralised checker with distributed incremental

checks in the software agent architecture.

Quantitative and qualitative evaluations in Chapter 10 complement the evaluation and validation of

correctness of the implementation prototype, carried out on examples from the running scenario in

Chapter 8. Chapter 9 also plays a part in evaluation, and serves to demonstrate the event-orientation

feature of the proposed architecture.

Conclusions in Chapter 11 outline the strengths and weaknesses of the proposed software agent

architecture approach. The conclusions confirm the primary argument of this thesis, that distributed

consistency checking is effectively carried out by the proposed software agent architecture.

(19)

Chapter 2

Related Work In Consistency

Checking

Techniques for expressing and checking consistency constraints are found in many areas of

computer science. This chapter gives a summary of major work in consistency management: the

Viewpoints framework and programming and software development environments. Here we also

describe XLinkit - the framework for consistency checking, on which the software agent architecture of

this thesis builds. The review of existing methods accentuates comparisons between proposed

approaches, and aims to establish the position of the architecture, proposed in this thesis.

2.1 The Viewpoints Background

A number of researchers have worked on formal techniques for viewpoint specification [Ainsworth,

et al. 1994, Boiten, et al. 1996, Finkelstein, et al. 1992, Trappier, et al. 1995, Larsen, et al. 1995, Zave

and Jackson 1996]. Use of different abstractions when reasoning about complex systems has been

recognised as an effective way of separating concerns. Not surprisingly, many other disciplines involved

in information systems development have come up with similar approaches. View-integration in

conceptual database design has been a widely researched topic in the 1980s [Navathe, et al. 1986]. The

use of separation of views in requirements engineering even dates back to the late 1970s [Mullery 1979].

More recently, viewpoints have been proposed and researched for program development environments

[Meyers 1991] and information systems design [Baldwin 1993].

Within the software and requirements engineering communities, numerous researchers have been

working on the "multiple perspectives problem" [Finkelstein, et al. 1992, Kotonya and Sommerville

1992, Nuseibeh 1994, Reeves, et al. 1995, Spanoudakis, et al. 1997]. By this term they refer to the

problem of how to organise and guide software development in a setting with multiple actors, using

diverse representation schemes, having diverse domain knowledge and different development strategies.

A framework has been developed [Finkelstein, et al. 1992, Nuseibeh 1994] in order to address the

diverse issues related to this problem. Multi-perspective software development within this framework is

referred to as Viewpoint Oriented Software Engineering (VOSE).

2.2 Viewpoint-Oriented Software Engineering

There is a growing awareness in distributed software engineering that the development of complex

software systems can no longer be seen as a linear, top-down activity [Steen 1998]. The ViewPoint

Oriented Software Engineering framework (VOSE) [Finkelstein, et al. 1992] advocates structuring of

(20)

framework [Finkelstein, et al. 1992, Nuseibeh 1994] considers consistency relations within the context

of ViewPoints.

ViewPoint models allow developers to split up the complete specification of a complex system into

a number of viewpoint specifications, each concentrating on a particular concern or aspect of the system.

The specifications are potentially distributed, as they belong to different participants. Each viewpoint

then represents a particular abstraction, either from a stakeholder’s, or a modelling perspective.

2.2.1 ViewPoints

A ViewPoint combines the notion of 'actor', 'role' or 'agent' in the development process with the idea

of a 'perspective' or 'view', which an actor maintains. ViewPoints are defined as loosely coupled, locally

managed, distributable objects; thus containing identity, state and behaviour. A ViewPoint is more than

a 'partial specification'; in addition, it contains partial knowledge of how to develop that partial

specification.

Each ViewPoint is composed of the following components, called slots:

• The representation style defines the notation or language to be used in that ViewPoint.

• The work plan defines the actions that can be performed on specifications in the given style, and

their recommended ordering. Different kinds of actions are identified within the framework. Most

obvious are the assembly, or "editing", actions. Of particular interest to us in this thesis are

consistency checking actions, which we consider below.

• The domain is a label, identifying the area of concern of that ViewPoint.

• The specification slot contains the actual description of the identified domain, in the notation

defined in the style slot.

• The work record describes the actions that were performed on the ViewPoint specification. It thus

defines the development state of the ViewPoint.

Typically, different ViewPoints will share the same notation and development process. Creation of

a multiple-viewpoint system often occurs by instantiation of 'ViewPoint templates'. A template is a

ViewPoint, in which only the style and work plan slots have been filled in. Domain, specification and

work record slots of a template are then filled in during instantiation, thus allowing for dynamic

ViewPoint creation from templates. Creation of new ViewPoints may be the result of certain viewpoint

actions, which are a part of their work plans. Such as, a translation action would transform a ViewPoint

from one notation into another by creating a new ViewPoint-translation.

2.2.2 Consistency of ViewPoints

One of the main problems in any multiple ViewPoint approach to specification is defining and

(21)

challenging when we consider that different specification techniques may be applied to different

ViewPoints.

Consistency in this setting can be seen as a relationship between viewpoint entities. In the viewpoint

model for specification and development of software, consistency is defined as a set of syntactic

constraints. For example, the Unified Modelling Language (UML) standard [Booch, et al. 1999], based

on the Booch method [Booch 1991] for object oriented design, requires UML models to comply with a

significant number of static constraints [Appendix A] in order to be well-formed. In addition to static

constraints, techniques for tackling behavioural, or semantic consistency, which would provide

consistency management foundations for State Charts and Sequence Diagrams by means of process

algebraic specification techniques, have been studied in [Steen, et al. 1999].

The Viewpoints framework distinguishes two kinds of inconsistencies: in-ViewPoint semantic

inconsistency and inter-ViewPoint inconsistency. Consistency constraints are specified by consistency

rules [Easterbrook, et al. 1994]. In-ViewPoint consistency rules define the constraints that should hold in

order for a ViewPoint specification to be 'well-formed'; these define the static semantics for the

Viewpoint's representation style. Inter-Viewpoint rules define relationships between the representation

styles of different ViewPoints, thus identifying areas of "overlap" between the ViewPoints.

Consistency rules define partial consistency relationships between the different specification

notations. Specifications are consistent if all the rules that should hold between particular viewpoints

actually do hold. The general form of a consistency rule in [Easterbrook, et al. 1994] is the following:

VVP^ ,3VP^ : VP^diVPj^ , where VPs - is a "source ViewPoint", VPd - a "destination ViewPoint",

and 9^ is a relationship, which must hold in order for the consistency constraint to be satisfied. It is

envisaged that these consistency rules will be specified using an appropriate logic [Finkelstein, et al.

1994], where representation in first order logic is a possibility.

In-Viewpoint and inter-Viewpoint checks can uncover inconsistencies in and between specifications

that prevent a set of specifications from being globally consistent. However, self-consistency and pair­

wise mutual consistency are in general not sufficient to obtain global consistency. It is suggested, that

deficiencies of such pair-wise specification of constraints can be remedied by construction of a macro-

ViewPoint, containing a graph of all other ViewPoints [Easterbrook, et al. 1994]. Constraints are then

composed on the graph, specifying relationships between its nodes.

The consistency checking actions and inconsistency handling actions are contained in the work plan

of each ViewPoint. The handling actions are resolution actions that may be performed in the presence of

inconsistency.

Although the method defining consistency in ViewPoints is very expressive, it has a number of

drawbacks. Firstly, the approach requires the designer to define all possible consistency relations

between all possible combinations of viewpoint templates to be able to identify the global consistency

status. Secondly, a case may arise that all specification notations may not be suitably expressed in the

same logic. Thirdly, the advocated development model is highly fluid and new types of viewpoint may

(22)

The consistency checking techniques, defined for the VOSE approach, are focusing mainly on the

structure of specifications. Typical inter-Viewpoint rules require that for each viewpoint of a particular

type there exists a specification component in a viewpoint of some other type.

Consistency checking techniques have been proposed, which focus more on the specification

content, in particular the specified behaviour. In the PROST report [Cowen, et al. 1993] it is suggested

that specifications are consistent if there exists a common refinement. An analysis of these variations of

consistency has resulted in a generalised definition of 'semantic consistency' based on the notion of

common refinement [Bowman, et al. 1996]. It has also been shown that this general definition

encompasses the notion of logical consistency [Bowman, et al. 1995].

An important similarity between the two approaches is that both allow inconsistencies between

viewpoint specifications to exist. This is in contrast with, for example, program development

environments [Meyers 1991], where consistency is maintained at all times. VOSE provides for

development processes to be considered explicitly. As such, in VOSE, ViewPoint templates can be

defined, which prescribe a specification notation and a work plan, where the latter includes policies for

carrying out consistency checks and inconsistency handling actions, allowing toleration of

inconsistency.

2.2.3 Consistency Management Activities

In application of the VOSE framework to management of interference relations between the

viewpoints, [Finkelstein, et al. 1996] introduce a number of interference management steps or activities.

An interference consistency relation between viewpoints arises when goals of actors or viewpoint

owners are mutually interdependent (for example, at the requirements engineering stage). [Finkelstein,

et al. 1994] admit that interference is inevitable and acceptable in system development: inevitable as a

consequence of multiple perspectives, and acceptable in support of innovation in development,

fulfilment of commitments and consideration of alternatives. As a notion, embodying a broad class of

consistency relations, interference management is subject to complexities due to difference of

viewpoints held by their owners, use of different languages or heterogeneous tools, existence of

numerous levels of development and elaboration, as well as degrees of formality and granularity.

The process of resolution of interference relationships [Finkelstein, et al. 1994] comprises the

following significant activities:

Overlap identification for recognition and classification of system components, which refer to

common objects or phenomena in the domain of discourse. This essential step sets the stage for future

definition of consistency relations between the viewpoints, and is concerned with comparison, analysis

and formalisation of the views of participants. In general, overlap identification would require some

form of user input and cannot be fully automated, since certain types of references are usually implied or

not evidently found within the components themselves. While being one of the starting steps of the

(23)

viewpoint templates, which determine the essence, types of components envisaged to be deployed in the

system.

Construction of the instances from the templates, ViewPoint instantiation, is the activity of

transformation of classified system component templates into viewpoints. The development of

viewpoint templates reflects similarities in component structure, content or function. Instantiation of

templates with specific information taken from system components enables to trace overlaps between

particular viewpoint instances.

Consistency relation construction involves the creation of consistency relationships between

different viewpoints to reflect consistency overlaps. Construction of relationships can be automatic and

dynamic (on-the-fly), on demand (for example, as a result of a performed consistency management

check), or embedded (baseline in-system relations). The relations can then be specified in terms of

particular elements of the structures of the viewpoints, and expressed in first-order logic, as overlap

between sets or in another way, which is convenient and efficient given a language that information in

the viewpoints is expressed in and the structure of this information.

The three consistency management activities described - viewpoint instantiation, overlap

identification and consistency relation construction constitute the basic activities for consistency

management, set out in the ViewPoints framework. The scope of this thesis considers overlap

identification and consistency relation construction. Leaving the viewpoint instantiation and

inconsistency resolution to the developers, we concentrate on the consistency checking activity.

2.2.4 Policies

Depending on the required level of consistency enforcement in the system, it is advantageous to set

the policies, governing execution of checks of consistency relations between the viewpoints and use of

the results of these checks for reconciliation. Policy specification is an identification and composition of

appropriate policies for execution of checks of consistency relations. Originating from the standards

compliance domain, policies are considered by us as a useful abstraction for instrumentation of

Viewpoint consistency checks. One successful realisation of the notion of policy has been developed

within the Standards Compliance Manager project [Armitage, et al. 1998, Emmerich, et al. 1999], where

each consistency relation is associated with at least one policy, which defines:

• An indication of the consistency relation, the management of which the policy is concerned

with.

• A type of event that will trigger the checking of a consistency relation. In an example, where

viewpoints are represented by documents that are being modified by developers, creation or

removal of a document and modifications to a document would constitute those events, which

should trigger checks or some consistency relations.

• A mode that the policy is applied in. In our example, in case if inconsistencies are identified, the

(24)

and allowed to continue his present activity ("warning" mode), or prevented from continuing

until viewpoints have been changed and are consistent again ("error" mode).

• A type of diagnosis that is displayed. Depending on the particulars of a system under

consideration and the type of the user, a user can be either presented with a listing of

inconsistencies found (links between related documents and document elements), or a statistical

output of the number of inconsistent elements.

A policy can be specified in terms of high-level strategies or goals. Preventive policies (such as an

"error" mode policies) involve the immediate rejection of an action, whose completion would cause the

occurrence of an interference inconsistency. Remedial policies are those in which interference triggers

resolution actions. These are diversified by toleration policies, which define the scope and extent of

toleration of interference (choice of "guidance" or "warning" mode affects the extent of toleration).

Preventive policies parallel the traditional perspective on conflict [Meyers 1991] in studies of

organisational behaviour, where conflict is a malfunction within an organisation or a group and as such

it should be avoided. By contrast, remedial policies reflect the behavioural perspective in which conflicts

are the natural result of individuals and groups each pursuing their own interests and objectives within

an organisation, and compromises need to be achieved in order to resolve them.

Policy is a useful configuration concept for consistency checks. Policies have triggered our special

interest, because they relate system events, which trigger checking of a consistency relation to the

consistency relation, to a check of this relation in an appropriate application mode and to a specific

diagnosis - result of a consistency check. Self-containability of checks results from coupling of the

results of a policy execution, which explicitly expresses the connection between the ViewPoint slots.

2.3 Software Development Environments

The consistency management technology for incremental development is provided in the syntax-

directed tools [Donzeau-Gouge, et al. 1984, Reps and Teitelbaum 1984] of the software development

environments. These environments offer document production support in such a way, that document

accesses and updates are issued in terms of commands, and each command corresponds to an increment.

Since commands in syntax-directed tools are directed towards the syntax of the underlying language, it

is possible to immediately establish the "propagation" of a consistent relation through all opened

documents (or an inconsistent relation when inconsistencies are tolerated). As a result, such tools can be

effectively used in the incremental document development process.

The commands, that syntax-directed tools perform, internally correspond to operations on a

particular abstract syntax tree [Habermann and Notkin 1986, Reps and Teitelbaum 1981]. Additional

attributes of this tree often contain semantic information. Therefore, static semantic checking of a

document, represented as an abstract syntax tree, can be carried out by evaluating the mentioned

attributes along the paths in the tree [Knuth 1968], which are computed at tool construction time based

(25)

evaluations, an artificial root is appended to the forest of abstract trees of individual documents. In this

case, consistency constraints are checked starting from the root node. The framework for consistency

management, XLinkit [Nentwich, et al. 2000b] uses a similar approach, in which constraints are checked

on a macro-graph of the trees of document elements.

Abstract syntax graphs generalise the concept of the abstract syntax trees [Johnson and Fisher 1982,

Nagl 1985] by using of non-syntactic paths for implementation of semantic relationships between

syntactically unconnected parts of different documents, which may even correspond to different types.

Representing a set of documents in a project by an abstract syntax graph allows one to carry out static

semantic analysis, checking of consistency relations and navigation between separate documents along

the paths in the project-wide graph.

Among the first syntax-directed tools developed were the Cornell Program Synthesizer [Reps and

Teitelbaum 1981], tools developed in the Mentor project [Donzeau-Gouge, et al. 1984], and the Gandalf

project [Habermann and Notkin 1986]. In terms of architectures, all of these tools maintained the

document abstract syntax trees in main memory and did not provide sufficient support for persistent

document storage. As a result, inter-document constraints could not be checked between different

document types. Additionally, none of the tools supported version and configuration management.

Next generation syntax-directed tools from the IPSEN environment [Engels, et al. 1987, Nagl 1985]

provided persistent document representation based on the proprietary GRAS database model [Lewerentz

and Schurr 1988], where all documents were stored in a single graph. This graph effectively constituted

a document "universe", where each document was represented by a subgraph with reference edges

leading to other documents' subgraphs. The architecture enabled checks of static semantics and inter­

document consistency constraints. Additionally, transaction support was provided via the GRAS

transaction mechanism: any information loss was limited to the last completed command-increment. An

enhanced version of the IPSEN prototype also supported document revision control [Westfechtel 1989],

based on the functionality offered by the GRAS database system. The GRAS database system used a

proprietary data model called the graph pool, that has been explicitly defined for storing abstract syntax

graphs. While the discussed syntax-directed tools clearly benefited from the proprietary GRAS database

system providing persistent document storage, today's challenge is to be able to deploy an open standard

for document representation.

2.4 Meta-CASE Tools

Computer Aided Software Engineering (CASE) tools provide automated tool support for a range of

software engineering activities. Software engineering methods, which outline these activities, provide

techniques for specification, implementation, quality assurance, coordination, management and other

stages of the development process [Nuseibeh 1995]. Meta-CASE technology [Alderson 1991] is

Figure

Table 4.1. Taxonomy of mobile agent systems, part 1.
Table 4.2. Taxonomy of mobile agent systems, part 2.
Fig. 4.1. Sequence Diagram for Aglet Cloning.
Fig. 4.5. Review of requirements for a successful mobile agent implementation within the consistency
+7

References

Related documents

Four key themes for enhancing a person-cen- tred approach in clinical guidelines emerged: (i) use a joint definition of health-related quality of life as an essential compo- nent

• Explore perspective by writing descriptive word lists from the point of view of a character in Romeo and Juliet..

Agronomic score, waxy bloom, and panicle compactness in the rainy season, and days to 50% flowering, plant height, 100 seed weight, and inflorescence exsertion in the postrainy

Goettler, Parlour and Rajan (2005) show that less informed agents can learn about new information from quotes in the order book. In general, relative depth and market spreads,

Endoscopic balloon dilation of the biliary sphincter compared to endoscopic biliary sphincterotomy for remov- al of common bile duct stones during ERCP: a metaanalysis of ran-

I modellen er variasjonen i sammenstillingen for familiegravstedet på Uppsala gamla kyrkogård utvidet til å gjelde et større gravareal. Utover grav- arealet har jeg

Ganciclovir ophthalmic gel 0.15% 16 ■ Indication: Treatment of acute herpetic keratitis (dendritic ulcers) ■ pH: 7.4 ■ Formulation: Sterile preserved topical ophthalmic gel..

Politecnico di Milano, 19 dicembre 2007 IWINRH Pisa, April 2012 IWINRH Pisa, April 2012.. LFR fuel overview and LFR fuel