13
2/6/01 USC - Center for Software Engineering 1 Marrying Software Architecture with Configuration Management Techniques Roshanak Roshandel [email protected] ARR February 2001

Marrying Software Architecture with Configuration Management Techniques

  • Upload
    teva

  • View
    47

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Marrying Software Architecture with Configuration Management Techniques

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

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

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

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

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

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

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

2/6/01 USC - Center for Software Engineering

8

Example Application

Page 9: Marrying Software Architecture with Configuration Management Techniques

2/6/01 USC - Center for Software Engineering

9

Mae

Page 10: Marrying Software Architecture with Configuration Management Techniques

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

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

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

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