Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components,

Slides:



Advertisements
Similar presentations
3° Workshop Nazionale del Gruppo di Interesse in Ingegneria del Software Genova, 2-3 ottobre 2006 CASE – Libera Università di Bolzano-Bozen RCOST – Università
Advertisements

Issue 1 It can be argued that the complexity problem associated with the current IP control plane has arisen because of ever evolving network service requirements.
CIS 376 Bruce R. Maxim UM-Dearborn
Addressing Non-Functional Properties in Software Architecture using ADL Christopher Van Eenoo Osama Hylooz Khaled Khan University of Western Sydney ASWEC.
Architecture Representation
Database Systems: Design, Implementation, and Management Tenth Edition
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
A. Bucchiarone / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, Lucca (Italy)
CSEP504: Advanced topics in software systems Software architecture: design-based –Formal reasoning about properties –Static vs. dynamic architectures Software.
CSE503: SOFTWARE ENGINEERING SOFTWARE ARCHITECTURE David Notkin Spring 2011.
Software Testing and Quality Assurance
Applying Architectural Styles and Patterns. Outline  Defining Architectural Patterns and Style The activation model Styles and Quality Attributes  Common.
Software Architecture Research and Practice Nenad Medvidovic University of Southern California
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
CS189A/172 - Winter 2008 Lecture 7: Software Specification, Architecture Specification.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Manish Kumar,MSRITSoftware Architecture1 Architecture.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
SCIENTIFIC CARS It has been identified that there is a small risk of a brake problem in certain Scientific models. While customer safety has always been.
Architectural Mismatch or Why it’s hard to build systems out of existing parts.
What is Software Architecture?
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Software Architecture and Software Configuration Management Bernhard Westfechtel and Reidar Conradi RWTH Aachen, Germany/ NTNU Trondheim, Norway SCM 10.
Architectural Description Languages Patrick Steyaert
Architecture Description Languages: An Overview Architecture Description Languages: An Overview Architecture Definition ADLs Architecture vs. Design ADLs.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
2000 Advanced OOSA State of the Art on Software Architecture Declarative Meta Programming Session 2: Software Architecture Nantes,
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
1 5/18/2007ã 2007, Spencer Rugaber Software Architecture (Informal Definition) The organization of a system into component subsystems or modules Box and.
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.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
JCMP: Linking Architecture with Component Building Guoqing Xu, Zongyuan Yang and Haitao Huang Software Engineering Lab, East China Normal University SACT-01,
Paper written by Flavio Oquendo Presented by Ernesto Medina.
An Object-Z based Metamodel for Wright Joint work with M. Maouche 2, and M. Mosteghanemi 1 Presented by M. Bettaz 1 1 MESRS/ESI Algeria 2 Philadelphia.
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.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
COMPUTER MAIN PARTS Name: Rafael Eduardo Barrios Navas.
Software Engineering Lecture 8 Object-Oriented Analysis.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine 1 CSE 503 – Software Engineering Lecture 14: Introduction to software architecture Rob DeLine.
Wright ADL Liz White INFT Software Architecture.
1 5/18/2007ã 2007, Spencer Rugaber Acme Architectural interchange language – CMU and ISI Extensible Tool support –AcmeStudio.
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
An Object-Z / CSP Based Approach for the Specification of Architectural Connectors Mourad Maouche Philadelphia University Jordan Mohamed Bettaz MESRS Algeria.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
1 A Multi-Paradigm Approach to Describe Software Systems presented by Adel Smeda.
Architecture Description Languages State of the Art on Object- Oriented Software Architecture.
TAL Lecture 1 Introduction to Software Architecture
Common object request broker
Introduction To software engineering
Architecture Description Languages
Remote Procedure Call (invocation) RPC
Paper written by Flavio Oquendo Presented by Ernesto Medina
Implementation support
Architectural Mismatch: Why reuse is so hard?
From Use Cases to Implementation
Implementation support
Presentation transcript:

Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components, their interfaces, and constraints on the system. According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components, their interfaces, and constraints on the system.

Software Architecture-A model Shaw and Garlan present a model of architecture based on three abstractions: Shaw and Garlan present a model of architecture based on three abstractions:  Components: They are independent units of computation.  Connectors: They represent interactions among components.  Configurations: They are instance of architectural description represented as a graph of connectors and components.

ADL-Why and What??? Architectural descriptions were often informal and ad hoc. As a result: Architectural descriptions were often informal and ad hoc. As a result:  Architectural designs were not always properly understood  The constraints assumed (i.e the architectural constraints) in the initial design were not enforced (sometimes) as the system evolves.

Continued….  Very few tools available to help the architectural designers.  To address these problems, ADL's were introduced.

What???  Architecture description languages (ADL’s) are formal languages that can be used to represent the architecture of a software system.

MIL’s Vs ADL’s  MILS only describe the structure of an implemented system.  ADLs are used to define and model system architecture prior to system implementation.

Types Of ADL’s  ACME  Rapide  Wright  Unicon  Aesop  MetaH  Lileanna

ACME-An Example… rpc Send-Request Client Receive Request Server ( Caller )( Callee )

Continued.. System simple_cs = { Component client = {Port send-request} Component server = {Port receive-request} Connector rpc = {Roles {caller, callee}} Attachments : {client.send-request to rpc.caller; server.receive-request to rpc.callee} }

Wright-An Example.. Wright is pretty similar syntactically to ACME System simple_cs Component client = port send-request = [behavioral spec] spec = [behavioral spec] Component server = port receive-request= [behavioral spec] spec = [behavioral spec]

Continued… Connector rpc = role caller = (request!x -> result?x ->caller) ^ STOP role callee = (invoke?x -> return!x -> callee) [] STOP glue = (caller.request?x -> callee.invoke!x -> callee.return?x -> callee.result!x -> callee.return?x -> callee.result!x -> glue) [] STOP -> glue) [] STOPInstances s : server c : client r : rpc

Continued… Attachments : client.send-request as rpc.caller server.receive-request as rpc.callee end simple_cs.

 Any Questions????

References:  D.Garlan and M.Shaw “ An Introduction to software architecture”. In V.Ambriola and G.Tortara, editors. Advances in software engineering and knowledge engineering. World scientific publishing company,     ww/wright/index.html ww/wright/index.html