ebook img

Preserving Architectural Decisions through Architectural Patterns PDF

138 Pages·2014·5.66 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Preserving Architectural Decisions through Architectural Patterns

THÈSE/UNIVERSITÉDEBRETAGNESUD présentéepar UFRSciencesetSciencesdel’Ingénieur souslesceaudel’UniversitéEuropéennedeBretagne Minh Tu TON THAT Pourobtenirlegradede: DOCTEURDEL’UNIVERSITÉDEBRETAGNESUD IRISA Mention:STIC ÉcoleDoctoraleSICMA Preserving Architectural Decisions Thèsesoutenuele30Octobre2014, devantlacommissiond’examencomposéede: M.Jean-MarcJézéquel through Architectural Patterns Professor,IRISA,UniversitédeRennes1/President M.DannyWeyns Professor,LinnaeusUniversity/Reviewer M.KhalilDrira Professor,LASS,Toulouse/Reviewer M.Jean-MarcJézéquel Professor,IRISA,UniversitédeRennes1/Examiner M.FlavioOquendo Professor,IRISA,UniversitédeBretagneSud,France/Advisor M.SalahSadou AssistantProfessor,IRISA,UniversitédeBretagneSud,France/Advisor Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 Acknowledgements I thank my supervisor Assoc. Prof. Dr. Salah Sadou for an exceptional supervision and guidance of my Ph.D. project. Thank you for all the patience and care you gave me since the firstdayIcametoVannes. I thank my supervisor Prof. Dr. Flavio Oquendo for you kindness and inspiration. Thank youforyourencouragementandsupportivediscussionsdespitebusyschedules. Thankyoufor allthesupportduringthesethreeyears. I thank my colleagues at the ArchWare team at the University of South Brittany for nu- merous helpful discussions. I also thank all the people I met and had discussions with during conferencesandworkshops. IthasbeenapleasuretobepartofIRISA-UBSthelastthreeyears. Ienjoyedplentyoftalks inavarietyofsubjectsduringlunchtimeandhangoutswithotherPhDstudents. Inparticular, Ilovedtogettoknowyou,SalmaandAbdel. Youhavebeensuchgoodfriends,alwayscaring andsupportive. Last but not least, I thank my darling Khanh Ha and my family for supporting me during this long journey. I thank you for your unconditional love and sacrifice you made for me. I wouldhavenotbeenabletogothisfarwithoutyou. Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 Contents TableofContents i ListofFigures vii ListofTables ix 1 Introduction 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Problemstatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Aimofthethesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Dissertationplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Stateoftheart 5 2.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.1 ArchitecturalDecision . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2 ADabouttheapplicationofpattern . . . . . . . . . . . . . . . . . . . 6 2.2 ADdocumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.1 Documentationofpattern-relatedAD . . . . . . . . . . . . . . . . . . 8 2.2.2 Checkingofpattern-relatedAD . . . . . . . . . . . . . . . . . . . . . 9 2.3 Architecturalpatternmodellinglanguages . . . . . . . . . . . . . . . . . . . . 14 2.4 Patterncomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5 Limitationsofexistingworks . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5.1 TheproblemofStADmaintenanceandchecking . . . . . . . . . . . . 18 2.5.2 Theproblemofpatterncomposition . . . . . . . . . . . . . . . . . . . 22 2.6 Summaryanddiscussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3 COMLAN-COMposition-centeredpatterndescriptionLANguage 27 3.1 ProcessOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 TheCOMLANmeta-model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.1 Exampleofpatterndefinition. . . . . . . . . . . . . . . . . . . . . . . 31 3.3 Patternrefinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.1 Stringingoperatortransformation . . . . . . . . . . . . . . . . . . . . 34 3.3.2 Overlappingoperatortransformation . . . . . . . . . . . . . . . . . . . 35 3.3.3 Nestedpatterntransformation . . . . . . . . . . . . . . . . . . . . . . 37 3.3.4 Supportoftraceabilityandreconstructability . . . . . . . . . . . . . . 37 3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 ii Contents 4 Pattern-based approach for documenting the solution of structural architectural decision 41 4.1 GeneralApproach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.1.1 Patterndefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.1.2 StADcreation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.1.3 StADverification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.2 Patterndefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.2.1 Generalpatternmeta-model . . . . . . . . . . . . . . . . . . . . . . . 44 4.2.2 ArchitecturalPatternSpecification . . . . . . . . . . . . . . . . . . . . 46 4.3 UseofStAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 AssociatingaPatterntoanArchitecturalModel . . . . . . . . . . . . . 47 4.3.2 FilteringStADviews . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.3 StADChecking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5 Implementation 57 5.1 COMLANtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.1.1 Usecases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.1.2 COMLANarchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2 ADManagertool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.1 Usecases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.2 ADManagerarchitecture . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6 Empiricalevaluation 65 6.1 Empiricalevaluationforpatterncompositionapproach . . . . . . . . . . . . . 66 6.1.1 Experimentalsetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.1.2 Traceability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.1.3 Reconstructability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.1.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.1.5 Threatstovalidity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 EmpiricalevaluationforStADdocumentationapproach . . . . . . . . . . . . . 72 6.2.1 Applicationofpatterndefinitionlanguage . . . . . . . . . . . . . . . . 72 6.2.2 StADdocumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 7 Conclusion 85 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 Contents iii Bibliography 91 Appendices 93 AppendixA Architecturalpatterncompositioncatalogue 93 A.1 EnabledCycleComponent[26,2,9] . . . . . . . . . . . . . . . . . . . . . . . 93 A.2 ForbiddenCycleComponent[2] . . . . . . . . . . . . . . . . . . . . . . . . . 93 A.3 Shield[53] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 A.4 Layers[2,9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 A.4.1 BasicLayer[2,9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 A.4.2 By-passedLayers[2] . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 A.4.3 Notby-passedLayers[2,9] . . . . . . . . . . . . . . . . . . . . . . . 95 A.4.4 Client-ServerLayers[2] . . . . . . . . . . . . . . . . . . . . . . . . . 96 A.4.5 FilteredLayers[2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 A.5 PipesandFilters[2,9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 A.5.1 BasicPipesandFilters[2][3] . . . . . . . . . . . . . . . . . . . . . . . 98 A.5.2 By-passedPipesandFilters[2]. . . . . . . . . . . . . . . . . . . . . . 98 A.5.3 Notby-passedPipesandFilters(orPipeline)[2,9] . . . . . . . . . . . 99 A.5.4 Internallylayer-structuredPipesandFilters[2] . . . . . . . . . . . . . 99 A.5.5 DatasharingPipesandFilters[2] . . . . . . . . . . . . . . . . . . . . 99 A.6 Sharedrepository[2,9,11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 A.6.1 BasicSharedRepository[2,9,11] . . . . . . . . . . . . . . . . . . . . 100 A.6.2 InternallyLayerstructuredSharedrepository[2] . . . . . . . . . . . . 100 A.7 Microkernel[2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 A.7.1 BasicMicrokernel[2] . . . . . . . . . . . . . . . . . . . . . . . . . . 101 A.7.2 BrokerbetweenClientandExternalServer[2] . . . . . . . . . . . . . 102 A.8 PAC[2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.9 IndirectionLayer[2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.10 Client-Server[2,9,11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.10.1 BasicClient-Server[2,9,11] . . . . . . . . . . . . . . . . . . . . . . 103 A.10.2 Client-ServerwithBroker[2] . . . . . . . . . . . . . . . . . . . . . . 104 A.10.3 Client-ServerthroughMicrokernel[2] . . . . . . . . . . . . . . . . . . 104 A.11 MVC[2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 A.12 Proxy[9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 A.13 Broker[2,9]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A.14 Façade[53,11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A.15 LegacyWrapper[11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A.16 PipesandFilters+Repository[11] . . . . . . . . . . . . . . . . . . . . . . . . 108 AppendixB FormalizedSOApattern 111 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014 iv Contents AppendixC FormalizedCBApattern 115 AppendixD Listofarchitecturalmodels 117 AppendixE UndetectedcasesofStADviolations 119 Preserving Architectural Decisions through Architectural Patterns Minh Tu Ton That 2014

Description:
4.3.1 Associating a Pattern to an Architectural Model . Checking rules are automatically derived from the actions via a . Therefore, SOA (Service Oriented Architecture) has been opted to help the system respond .. On one hand, patterns are central artefacts in attribute-driven architectural design
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.