Designing Configuration Management Tools for Dynamically Composed

Designing Configuration Management Tools for Dynamically Composed

Designing Configuration Management Tools for Dynamically Composed Systems Bradley Robert Schmerl, B.Sc.(Hons) Thesis submitted for the degree of Doctor of Philosophy in The Flinders University of South Australia Department of Computer Science Faculty of Science and Engineering October 22, 1998 Table of Contents 1 Introduction 1 1.1Backgroundandmotivation......................... 1 1.2Researchmethodology............................ 3 1.3Contributionsofthethesis.......................... 4 1.4Outlineoftheremainderofthisdissertation................ 5 2 Dynamic composition 7 2.1Domainsinwhichdynamiccompositionoccurs............... 7 2.2Definingdynamiccomposition........................ 8 2.3Analysisofexistingmechanisms....................... 11 2.3.1 Environmentmechanisms......................... 11 2.3.2 Languagemechanisms........................... 19 2.3.3 Distributedsystems............................ 27 2.3.4 Somegeneralissues............................. 29 2.4Issues..................................... 31 3 Modelling dynamic composition 33 3.1Whatisconfigurationmanagement..................... 34 3.1.1 Classification................................ 36 3.1.2 Versioning.................................. 36 3.1.3 Validation.................................. 37 3.1.4 Composition................................ 38 3.2Currentsupportinlanguageandenvironmentmechanisms........ 38 3.2.1 DCDL–................................... 39 3.2.2 UsingDCDL–toexamineconfigurationmanagementissues...... 51 3.3Requiredconfigurationmanagementsupport................ 63 3.4Summary................................... 64 4 Modelling configuration management for dynamically composed systems 65 4.1Requirementsforamodelofconfigurationmanagement.......... 66 4.1.1 Additional requirements . ....................... 67 4.2Evaluatingpreviousconfigurationmanagementmodels.......... 69 4.2.1 Modelling configurations and versions .................. 69 4.2.2 Modelling validation ............................ 70 4.2.3 Modelling selection and composition ................... 72 4.2.4 Summary.................................. 73 4.3Jason–agenericmodelofconfigurationmanagement........... 74 4.4DCDL–Adynamicconfigurationdescriptionlanguage.......... 77 4.4.1 Classifyingconfigurationitems...................... 77 4.4.2 Validatingconfigurationitems....................... 84 4.4.3 Definingversionsofconfigurationitems................. 90 4.4.4 Validationinthepresenceofversions................... 95 4.4.5 Definingcomposition............................106 4.4.6 Combiningupdating,consistencyandselection.............113 4.5Conclusions..................................115 5 Using DCDL to design tool support 117 5.1Thedesignmethodology...........................117 5.2 Applying DCDL to tool design .......................118 5.2.1 ImplicationsofMRscomingfromTR1..................119 5.2.2 ImplicationsofMRscomingfromTR2..................122 5.2.3 ImplicationsofMRsrelatingtoTR4andTR5..............126 5.2.4 ImplicationsofMRscomingfromTR3..................128 5.2.5 Conclusions.................................130 5.3TooldesignoutsideDCDL’sdomain....................131 5.3.1 Interaction with traditional configuration management mechanisms . 131 5.3.2 Choosingthedomainofthetool.....................132 5.4Implementation................................133 5.4.1 Classescorrespondingtothealgebraicmodel..............133 5.4.2 ImplementingDCDLclasses........................134 5.4.3 Implicationsofchoosingthedomainofdynamiclinking.........135 5.4.4 ImplementingDCDLconstraints.....................138 5.4.5 Implementing version families .......................141 5.4.6 ImplementingaDCDL-basedtool.....................143 5.4.7 Notesonperformance...........................145 5.5Summary...................................149 6 Conclusions and Future Work 150 6.1Conclusions..................................150 6.2FutureWork.................................151 6.2.1 Specifictooldesignandimplementation.................151 6.2.2 Modelling other aspects of dynamic composition tools ..........152 6.2.3 Therelationshipwithstaticconfigurationmanagement.........152 6.3Concludingremarks.............................153 A The complete models of several dynamically composed systems 154 A.1 The model of dld ...............................154 A.2 The model of dynload ............................156 A.3 The model of db-Pascal ...........................157 A.4 The model of Napier .............................158 B Formal definitions of some of the concepts in Wiebe’s model 159 B.1Closuremaps.................................159 B.2Namespaces..................................160 B.3Variables....................................161 B.4Constraintformationandevaluation....................162 B.5Evaluatingconstraints............................163 C The syntax of DCDL 165 List of Figures 2.1Dynamicallycomposingdocumentsandprograms.............. 9 2.2Dynamiclinkingusingdld........................... 13 2.3DiagrammaticrepresentationoftheexampleinFigure2.2......... 14 2.4Dynamiclinkingusingdynload........................ 15 2.5DiagrammaticrepresentationoftheexampleinFigure2.4........ 16 2.6UpdatingprogramsusingPODUS...................... 18 2.7Dynamiclinkingusingdb-Pascal....................... 20 2.8DynamicallybindinganametoanimplementationinNapier88...... 21 2.9AssigningandchangingL-valuesinNapier.................. 22 2.10 Using the ClassLoader inJava......................... 23 2.11MultipleversionsinNapier88......................... 26 2.12DefiningmodulesinConic........................... 27 2.13JoiningmodulesinConic........................... 28 2.14RestructuringinDAS............................. 30 3.1Anexampleclassspecification........................ 41 3.2 Attaching a checked constraint to the class Document. .......... 43 3.3 Attaching a maintained constraint to Document............... 44 3.4 Defining a link operation for Document.................... 46 3.5 Overriding attributes in specialisations. ................... 50 3.6Provisionsindldanddynload......................... 53 3.7 Modelling db-Pascal components. ...................... 53 3.8 The link operationindldanddynload.................... 55 3.9Definingresourcesindld........................... 56 3.10Definingresourcesindynload......................... 57 3.11Resourceuniquenessinacomponent..................... 58 3.12 The link operationfordb-Pascal....................... 58 3.13 Objects after linking read database to relational rd.............. 59 3.14 Constraints in which terms may be undefined. ............ 60 3.15 Modelling quiescence in PODUS. ...................... 61 4.1Variouswaysofexpressingconsistency.................... 71 4.2ObjectsinJasonandtheiralgebraicdescription............... 75 4.3DefinitionofaconstraintinJason...................... 75 4.4 Defining version families and system templates in Jason. ......... 76 4.5ExpressingselectioninJason......................... 76 4.6AschemadefinitionforaBrowserapplication................ 78 4.7 The formalisation of the DCDL class Browser. ............... 83 4.8 An example of an algebra for Browser. ................... 83 4.9 An example viewers set for a hypothetical Browser object........ 85 4.10 The variable namespace for the maintain constraint in Figure 4.6. 89 4.11 Examples of specifying version families in DCDL. ............ 91 4.12 A group of Viewer objectsinaparticularΨ-state.............. 94 4.13Anexamplecontainingaversionfamily................... 96 4.14 Interpreting constraints with operators..................103 ⊕ 4.15 Interpreting for-all constraints........................104 4.16 Interpreting there-exists constraints.....................105 4.17Anexamplesystemmodelforabrowser...................107 4.18Beforeandafterapplyinganoperation....................112 4.19 A collection of Viewer objectsfromwhichtoselect.............113 4.20Updatingthebrowserwithanewpieceofdata...............114 5.1 The classes and name propagation for a configuration. ..........119 5.2Viewingasystemmodel............................121 5.3Aschemaspecialisation............................123 5.4Displayinginformationaboutconsistency..................125 5.5Somefamilydefinitions............................126 5.6 Presenting version families as part of the configuration. ..........127 5.7PossibleDCDLinteractionswiththesystemandtheuser.........129 5.8Updatingabrowsersystembyaddingadatacomponent..........130 5.9Interactingwiththerepository........................132 5.10ThepredefinedDCDLclasses.........................134 5.11ImplementingDCDLclassesinC++.....................135 5.12TheDCDLdefinitionsofthedomainspecificclasses............136 5.13Implementingdomainspecificclasses.....................137 5.14 The inheritance hierarchy for the example tool designed in Section 5.2. 137 5.15 The signature of the Equation class, and a corresponding specialisation. 138 5.16 Translating an equation handling families. .................139 5.17Thetranslationofamorecomplexconstraint................140 5.18 The Family class................................141 5.19 The SelectionThread class...........................142 5.20Evaluatingconstraints.............................143 5.21 An example of a constraint requiring tagging. ............144 5.22Thestepsinvolvedinselection........................145 5.23UsingRB3toevaluateincrementallyandnon-incrementally........147 5.24 Using the strategy in Section 5.4 for compiled, non-incremental code. 148 B.1 The namespace closure of Browser......................161 List of Tables 3.1ThebasetypesofDCDL–........................... 40 3.2Signaturesfortheoperators.........................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    186 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us