marrying software architecture with configuration management techniques
DESCRIPTION
Marrying Software Architecture with Configuration Management Techniques. Roshanak Roshandel [email protected] ARR February 2001. Background. Software Architecture Elements Components, connectors, configurations, architectural style, architecture description languages (ADL), subtyping - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/1.jpg)
2/6/01 USC - Center for Software Engineering
1
Marrying Software Architecture with Configuration Management
Techniques
Roshanak [email protected]
ARR February 2001
![Page 2: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/2.jpg)
2/6/01 USC - Center for Software Engineering
2
Background
• Software Architecture Elements• Components, connectors, configurations,
architectural style, architecture description languages (ADL), subtyping
• Configuration Management Elements• Change management at source code level,
versioned archive, revisions, locks, branches, version tree, system models, configurations
![Page 3: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/3.jpg)
2/6/01 USC - Center for Software Engineering
3
Scenario
Word Processor
develops
Architecture Design Implementation
![Page 4: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/4.jpg)
2/6/01 USC - Center for Software Engineering
4
Architecture System Model
• Based on software architecture concepts• ADL and style independent• Component, connector, and interface
types• Component, connector, and interface
instances• Versioning types to capture architectural
evolution
![Page 5: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/5.jpg)
2/6/01 USC - Center for Software Engineering
5
System Model
Name, Revision, Representation, Ascendant, Descendant, Interface instances, Component instances,Connector instances, Behaviors, Constraints, Subtype, Style
ComponentType
ComponentType
ConnectorType
NameDirectionInterfaceType
InterfaceInstance
NameComponentType |
VariantComponentType
ComponentInstance
NameSource InterfaceDestination InterfaceConnectorTypeVariantConnectorType
ConnectorInstance
VariantComponentType
VariantConnectorTypeNameRevisionRepresentationAscendantDescendant
InterfaceType
NameRevisionVariantPropertyNameAscendantDescendantSubtype
VariantComponentType
![Page 6: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/6.jpg)
2/6/01 USC - Center for Software Engineering
6
Mae
• Architectural evolution environment
• Instance of the generic system model
• Mapping onto C2SADEL ADL
![Page 7: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/7.jpg)
2/6/01 USC - Center for Software Engineering
7
Implementation
Mae Dradel Ménage
Expansion and loose integration
Environment for supporting
architecture based evolution
Graphical environment for
specifying versioned software
architecture
![Page 8: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/8.jpg)
2/6/01 USC - Center for Software Engineering
8
Example Application
![Page 9: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/9.jpg)
2/6/01 USC - Center for Software Engineering
9
Mae
![Page 10: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/10.jpg)
2/6/01 USC - Center for Software Engineering
10
Spell CheckerName = tSpellCheckerRevision = 2Interface = { iSpellCheck }Component = { iTokenizer,
iResultCollector}Connector = { iC2bus1,
iC2bus3 }Behavior = { iSpellCheck* }Constraint = { }Representation = { << … >> }Ascendant = { tSpellChecker 1 }Descendant = {tSpellChecker 3}Style = { C2 }SubType = { beh \and int }
Name = tSpellCheckerRevision = 3Interface = { iSpellCheck }Component = { iTokenizer,
iResultCollector,iStatistics, collectStatistics, true }
Connector = { iC2bus1,iC2bus2, collectStatistics, true,iC2bus3 }
Behavior = { iSpellCheck* }Constraint = { }Representation = { << … >> }Ascendant = { tSpellChecker 2 }Descendant = { }Style = { C2 }SubType = { beh \and int }
![Page 11: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/11.jpg)
2/6/01 USC - Center for Software Engineering
11
Benefits of Mae
• Automated change script generation• Architectural level patches
• Subtyping relationship to suggest candidate versions of components for replacement
• Multi-version connectors• Reliable component upgrade
![Page 12: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/12.jpg)
2/6/01 USC - Center for Software Engineering
12
Future work
• Additional design-time functionality for evolving architectural elements
• Tight integration of development-time architectural evolution with the evolution of a deployed system, at run-time
• Enhancing the Mae environment
![Page 13: Marrying Software Architecture with Configuration Management Techniques](https://reader036.vdocuments.site/reader036/viewer/2022062410/56815a6b550346895dc7c5d6/html5/thumbnails/13.jpg)
2/6/01 USC - Center for Software Engineering
13
Acknowledgement
• Andre van der Hoek
• Marija Rakic
• Roshanak Roshandel
• Nenad Medvidovic
Additional information:
“Taming Architectural Evolution”, Andre van der Hoek,
Marija Rakic, Roshanak Roshandel, Nenad Medvidovic
Technical Report: USC-CSE-2000-523