2/6/01USC - Center for Software Engineering 1 Marrying Software Architecture with Configuration Management Techniques Roshanak Roshandel

Slides:



Advertisements
Similar presentations
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Advertisements

Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Introduction to UML: Structural &Use Case Modeling
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Domain-Specific Software Architecture and Product Lines Software.
Information Systems Analysis and Design
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
03/11/20021 PRISM Programming in the Small and Many Nenad Medvidovic Marija Mikic-Rakic
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Advances in Effective Languages for Architecture Definition David Garlan Bradley Schmerl ABLE Research Group School.
Domain-Specific Software Architecture and Product Lines
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
CS189A/172 - Winter 2008 Lecture 7: Software Specification, Architecture Specification.
1 Dynamic Assembly, Assessment, Assurance, and Adaptation via Heterogeneous Software Connectors Nenad Medvidovic with Marija Rakic and Barry Boehm University.
© Copyright Eliyahu Brutman Programming Techniques Course.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Architecture, Implementation, and Testing Architecture and Implementation Prescriptive architecture vs. descriptive architecture Prescriptive architecture:
Software Design Description (SDD) Diagram Samples
1 Refining Reliability Estimation of Mobile Software Systems The International Workshop on Software Architectures and Mobility, ICSE-SAM 2008, Leipzig,
Software Architecture and Software Configuration Management Bernhard Westfechtel and Reidar Conradi RWTH Aachen, Germany/ NTNU Trondheim, Norway SCM 10.
1/151/15 ENT Metamodel Implementation & Applications ENT metamodel, prototype implementation Component substitutability checking, ENT based component comparison.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
1 5/18/2007ã 2007, Spencer Rugaber Software Architecture (Informal Definition) The organization of a system into component subsystems or modules Box and.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Modelling Class T16: Conceptual Modelling – Architecture Image from
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Advances in Effective Languages for Architecture Definition David Garlan Bradley Schmerl ABLE Research Group School.
1 Increasing the Confidence of Engineers during Component Upgrades Marija Rakic ARR, February 6 th, 2001.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Hossein Tajalli, Joshua Garcia, George Edwards, and Nenad Medvidovic Computer Science Department University of Southern California.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
1 5/18/2007ã 2007, Spencer Rugaber Acme Architectural interchange language – CMU and ISI Extensible Tool support –AcmeStudio.
Basic Concepts and Definitions
Understanding and Propagating Architectural Changes How can we manage changes in product line architectures? Christopher Van der Westhuizen and Andre van.
Evolve What is a Component? A component is a unit of software that can be instantiated, and uses interfaces to describe which services it provides and.
Hossein Tajalli & Joshua Garcia. Motivation Self-* or autonomic systems Self-configuration, self-adaptation, and self-healing Why we might want self-adaptive.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Database Environment Chapter 2. The Three-Level ANSI-SPARC Architecture External Level Conceptual Level Internal Level Physical Data.
Systems Architectures System Integration & Architecture.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Evolution of UML.
Software Architecture Lecture 3
The Extensible Tool-chain for Evaluation of Architectural Models
Rational Unified Process
The Extensible Tool-chain for Evaluation of Architectural Models
Architecture Description Languages
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

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

2/6/01USC - 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

2/6/01USC - Center for Software Engineering 3 Scenario Word Processor develops Architecture Design Implementation

2/6/01USC - 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

2/6/01USC - Center for Software Engineering 5 System Model Name, Revision, Representation, Ascendant, Descendant, Interface instances, Component instances, Connector instances, Behaviors, Constraints, Subtype, Style ComponentType ConnectorType Name Direction InterfaceType InterfaceInstance Name ComponentType | VariantComponentType ComponentInstance Name Source Interface Destination Interface ConnectorType VariantConnectorType ConnectorInstance VariantComponentType VariantConnectorType Name Revision Representation Ascendant Descendant InterfaceType Name Revision VariantPropertyName Ascendant Descendant Subtype VariantComponentType

2/6/01USC - Center for Software Engineering 6 Mae Architectural evolution environment Instance of the generic system model Mapping onto C2SADEL ADL

2/6/01USC - 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

2/6/01USC - Center for Software Engineering 8 Example Application

2/6/01USC - Center for Software Engineering 9 Mae

2/6/01USC - Center for Software Engineering 10 Spell Checker Name = tSpellChecker Revision = 2 Interface = { iSpellCheck } Component = { iTokenizer, iResultCollector} Connector = { iC2bus1, iC2bus3 } Behavior = { iSpellCheck* } Constraint = { } Representation = { > } Ascendant = { tSpellChecker 1 } Descendant = {tSpellChecker 3} Style = { C2 } SubType = { beh \and int } Name = tSpellChecker Revision = 3 Interface = { 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 }

2/6/01USC - 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

2/6/01USC - 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

2/6/01USC - 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