Text Box:   


Quality Objects (QuO)
http://quo.bbn.com

 

 

QuO Toolkit

Reference Guide

 

 

 

Text Box:

 

 

QuO Release 3.1.0

September 2004

 

 


 

 

QuO Toolkit Release History

September 2004

QuO release 3.1.0

October 2002

QuO release 3.0.11

April 2002

QuO release 3.0.10

December 2001

QuO release 3.0.9

October 2001

QuO release 3.0.8

October 2001

QuO release 3.0.7

September 2001

QuO release 3.0.6

July 2001

QuO release 3.0.5

June 2001

QuO release 3.0.4

May 2001

QuO release 3.0

December 1999

QuO release 2.1

May 1999

QuO release 2.0

September 1998

QuO release 1.0

 

Document History

September 2004

changes for release 3.1.0

October 2002

changes for release 3.0.11

April 2002

changes for release 3.0.10

7 December 2001

changes for release 3.0.9

30 October 2001

changes for release 3.0.8

28 September 2001

updates for release 3.0.7

4 September 2001

Final updates for release 3.0.6

29 August 2001

Updates for QuO release 3.0.6

30 July 2001

updates for QuO release 3.0.5

26 June 2001

updates for QuO release 3.0.4

6 June 2001

Additions about how to write a System Condition, plus reformating for HTML output

18 May 2001

QuO 3.0 release

 

On the cover:
The Eastern Quoll is a carnivorous marsupial found in Tasmania. See: http://www.parks.tas.gov.au/wildlife/mammals/equoll.html

Copyright © 2004                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      by BBN Technologies.

Produced by BBN Technologies .
10 Moulton Street, Cambridge, MA 02138, (617) 873-8000


C o n t e n t s

 

Preface. ix

Purpose of this Document ix

Background of the Project ix

Technical Questions. ix

1    Quality Description Languages. 1

1.1... Introduction to Aspect Languages. 1

1.2... QuO's Aspect Languages. 2

1.3... Supported Platforms for QDL V.3. 4

1.4... Contract Description Language (CDL) 5

1.4.1    CDL Syntax and Semantics. 6

1.4.1.1    Syscond Sequences. 8

1.4.1.2    Region, and State Declarations. 8

1.4.1.3    Predicates. 9

1.4.1.4    Transitions. 10

1.4.1.5    State Transitions. 12

1.4.1.6    The Until Clause. 13

1.4.2    Use Cases for Regions, States, and Until Clauses. 13

1.5... Aspect-Oriented Structure Description Language (ASL) 15

1.5.1    The Use of ASL. 15

1.5.2    Using ASL to Create Delegates. 16

1.5.3    The Syntax and Semantics of an ASL File. 16

1.5.3.1    Instance Variable Declarations. 17

1.5.3.2    Method Variable Declarations. 19

1.5.3.3    Pointcut Designators. 20

1.5.3.4    Region Designators. 21

1.5.3.5    Advice. 22

1.5.4    Which Aspects Make Sense. 23

1.5.5    ASL Templates. 24

2    Qosket and Adapter Objects and Qosket Components. 26

2.1... Terminology for Objects and Components. 26

2.1.1    Qosket Objects. 26

2.1.2    Adapter Objects. 27

2.1.3    Qosket Components. 28

2.2... Object Hierarchies. 29

2.3... Component Hierarchies. 30

2.4... Object/Component-Generation Options. 31

3    Qosket Library. 34

3.1... BW-Select 35

3.1.1    Description. 35

3.1.2    Qosket IDL. 35

3.1.3    Delegate IDL. 35

3.1.4    Wrapper Requirements. 36

3.1.5    ASL Requirements. 36

3.1.6    Quogen Flags. 36

3.1.7    Runtime Requirements. 36

3.1.8    Supported Architectures. 36

3.2... Count 37

3.2.1    Description. 37

3.2.2    Qosket IDL. 37

3.2.3    Delegate IDL. 37

3.2.4    Wrapper Requirements. 37

3.2.5    ASL Requirements. 37

3.2.6    Quogen Flags. 37

3.2.7    Runtime Requirements. 38

3.2.8    Supported Architectures. 38

3.3... Instrumentation. 38

3.3.1    Description. 38

3.3.2    Qosket IDL. 40

3.3.3    Delegate IDL. 40

3.3.4    Wrapper Requirements. 41

3.3.5    ASL Requirements. 41

3.3.6    Quogen Flags. 42

3.3.7    Runtime Requirements. 43

3.3.8    Supported Architectures. 43

3.4... RSS. 43

3.4.1    Description. 43

3.4.2    Qosket IDL. 43

3.4.3    Delegate IDL. 43

3.4.4    Wrapper Requirements. 44

3.4.5    ASL Requirements. 44

3.4.6    Quogen Flags. 44

3.4.7    Runtime Requirements. 44

3.4.8    Supported Architectures. 44

3.5... MethodRTT. 45

3.5.1    Description. 45

3.5.2    Qosket IDL. 45

3.5.3    Delegate IDL. 45

3.5.4    Wrapper Requirements. 45

3.5.5    ASL Requirements. 45

3.5.6    Quogen Flags. 45

3.5.7    Runtime Requirements. 45

3.5.8    Supported Architectures. 46

3.6... img_resize. 46

3.6.1    Description. 46

3.6.2    Qosket IDL. 46

3.6.3    Delegate IDL. 46

3.6.4    Wrapper Requirements. 47

3.6.5    ASL Requirements. 47

3.6.6    Quogen Flags. 47

3.6.7    Runtime Requirements. 47

3.6.8    Supported Architectures. 47

3.7... Switch. 47

3.7.1    Description. 47

3.7.2    Qosket IDL. 47

3.7.3    Delegate IDL. 48

3.7.4    Wrapper Requirements. 48

3.7.5    ASL Requirements. 48

3.7.6    Quogen Flags. 48

3.7.7    Runtime Requirements. 48

3.7.8    Supported Architectures. 48

3.8... Switch – Qosket Component Library. 49

3.8.1    Description. 49

3.8.2    Qosket IDL. 49

3.8.3    Delegate IDL. 50

3.8.4    Wrapper Requirements. 50

3.8.5    ASL Requirements. 50

3.8.6    Quogen Flags. 50

3.8.7    Compile Time Requirements. 50

3.8.8    Runtime Requirements. 50

3.8.9    Supported Architectures. 51

3.9... DiffServ – Qosket Component Library. 51

3.9.1    Description. 51

3.9.2    Qosket IDL. 51

3.9.3    Delegate IDL. 52

3.9.4    Wrapper Requirements. 52

3.9.5    ASL Requirements. 52

3.9.6    Quogen Flags. 53

3.9.7    Compile Time Requirements. 53

3.9.8    Runtime Requirements. 53

3.9.9    Hardware Requirements. 53

3.9.10  Viewing the Set DiffServ CodePoints (DSCP) 53

3.9.11  Supported Architectures. 53

4    System Condition Objects. 54

4.1... Overview of System Condition Objects. 54

4.2... System Condition Types Provided In This Release. 55

4.2.1    Interfaces. 55

4.2.1.1    The SysCond Interface. 55

4.2.1.2    The ValueSC Interface. 56

4.2.1.3    The ReadOnlyValueSC Interface. 56

4.2.1.4    The ValueSCCallback Interface. 56

4.2.1.5    The Probe Interface. 57

4.2.1.6    The ProbeSC Interface. 57

4.2.1.7    The Monitor Interface. 57

4.2.1.8    The MonitorSC Interface. 57

4.2.1.9    The RemoteValueSCMonitor Interface. 57

4.2.1.10  The TimeSC Interface. 58

4.2.1.11  The SlidingWindowCounterSC.. 58

4.2.2    Implementations. 58

4.2.2.1    SysCondImpl 58

4.2.2.2    ValueSCImpl 58

4.2.2.3    ReadOnlyValueSCImpl 58

4.2.2.4    ValueSCCallbackImpl 58

4.2.2.5    ProbeSCImpl 58

4.2.2.6    MonitorSCImpl 59

4.2.2.7    RemoteValueSCMonitorImpl 59

4.2.2.8    MethodDurationSCImpl 59

4.2.2.9    CounterSCImpl 59

4.2.2.10  ResettableCounterSCImpl 59

4.2.2.11  BooleanCounterSCImpl 59

4.2.2.12  TimeSCImpl 59

4.2.2.13  SlidingWindowsCounterSCImpl 59

4.2.2.14  SWEventCounterSCImpl 60

4.2.2.15  SWMeanRateCounterSCImpl 60

4.2.3    Implementation Tag Mappings. 60

4.3... Writing a System Condition Object 61

4.3.1    Basics. 61

4.3.2    A Slightly More Complex Example. 62

5    QuO Code Generator 64

5.1... The quogen Command. 64

5.2... Command-line Arguments. 64

5.2.1    File Names. 64

5.2.2    Flags. 65

5.3... Property Files. 68

6    IDL Code Generator 69

6.1... Command-line Arguments. 69

6.2... Package-to-Module Mappings. 71

6.3... Preprocessor Statements. 72

7    Makefiles. 73

7.1... Contract/Qosket Generation. 73

7.2... Adapter/Delegate Generation. 74

7.3... IDL Generation. 74

7.4... CORBA keywords in idl files: Workaround for use of Object as type in idl files  74

7.5... ACE's Make Project Creator 75

8    Run-time / Development Environment 76

8.1... Working with QuO on Windows 2000. 76

8.2... Working with QuO on Mac OS. 76

8.3... Working with QuO sources. 76

9    Kernel 78

9.1... Introduction to the JAVA QuO-Kernel 78

9.1.1    Command-line Options and config Files. 78

9.2... Starting an Integrated Kernel 79

9.3... The Kernel’s GUI 80

9.3.1    Kernel Frame. 80

9.3.2    Contract Frame. 81

9.3.3    System Condition Frame. 83

9.4... The C++ QuO Kernel 83

10  Resource Status Service (RSS) 85

10.1. Introduction to RSS. 85

10.2. Objects. 85

10.3. Standard DataFeed Classes. 86

10.3.1  PropertiesDataFeed. 86

10.3.2  StatusConsumerFeed. 86

10.3.3  Sysstat Feed. 87

10.3.4  IperfFeed. 87

10.4. Standard DataScope ResourceContext Classes. 87

10.4.1  ClassDS. 87

10.4.2  IntegratorDS. 88

10.4.3  IpFlowDS. 88

10.4.4  MethodDS. 88

10.4.5  MvaDS. 88

10.4.6  ObjectDS. 88

10.4.7  ObjectMethodDS. 89

10.4.8  ProcessDS. 89

10.4.9  SiteFlowDS. 89

10.5. RSS Properties in Kernel config Files. 89

10.6. Using RSS. 90

10.6.1  Typical Use. 90

10.6.2  Generating a Path from a Remote Reference. 90

10.6.3  Manipulating Paths. 91

10.6.4  Special Case: expectedNetworkCapacitySyscond. 91