Architecture Description Languages

Slides:



Advertisements
Similar presentations
Architecture Representation
Advertisements

Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Modelling Class T05 Conceptual Modelling – Domain References: –Conceptual Modeling of Information Systems (Chapters 1.2.1, 2, 3) –A practical Guide to.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Modeling Notations.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
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
Unified Modeling (Part I) Overview of UML & Modeling
© Copyright Eliyahu Brutman Programming Techniques Course.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
Architectural Blueprints The “4+1” View Model of Software Architecture
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Modelling Class T16: Conceptual Modelling – Architecture Image from
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.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Csci 490 / Engr 596 Special Topics / Special Projects Software Design and Scala Programming Spring Semester 2010 Lecture Notes.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components,
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
Basic Characteristics of Object-Oriented Systems
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Object Oriented Analysis and Design
Introduction to the Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
IMPORTANT NOTICE TO STUDENTS:
UML profiles.
Analysis models and design models
Software Design Lecture : 15.
An Introduction to Software Architecture
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Software Design Methodologies and Testing
Requirements Document
Design Yaodong Bi.
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
PASSI (Process for Agent Societies Specification and Implementation)
Architectural Mismatch: Why reuse is so hard?
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
From Use Cases to Implementation
Presentation transcript:

Architecture Description Languages Gayatri Rajamani

Software Architecture-Definition According to Shaw , 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: Components :- independent units of computation. Connectors :- interactions among components. Configurations :- instance of architectural description represented as a graph of connectors and components.

Why Architecture Description Languages? Architectural descriptions were often informal and ad hoc. As a result: Architectural designs were not always properly understood as it was highly ambiguous. The constraints assumed (i.e. the architectural constraints) in the initial design were not enforced (sometimes) as the system evolves.

Why Architecture Description Languages? Very few tools available to help the architectural designers. To address these problems, ADLs were introduced.

Precursor to ADL Module Interconnection Language Describe system in terms of relation between modules by Definition/use relationships Import/export relationships + Well defined module-interfaces + Separate compilation - Inadequate for architectural description - Provide only low-level view of interconnection between components

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

MILs vs ADLs MILS only describe the structure of an implemented system. ADLs are used to define and model system architecture prior to system implementation.

Elements of ADL Components Connectors Abstraction Primitive building blocks Connectors Mechanisms of combining components Abstraction Rules for referring to the combination of components and connectors

Important Properties of ADL Composition – composition of independent components and connections Abstraction – need to describe design elements clearly and explicitly Reusability – ability to reuse components, connectors in different architectural descriptions

Important Properties of ADL Configuration – ability to understand and change the architectural structure Heterogeneity – ability to combine multiple, heterogeneous architectural descriptions Analysis - possible to perform rich and varied analysis of architectural description

Types Of ADLs ACME Rapide Wright Unicon Aesop MetaH Lileanna

Example of a component in ADL

Disadvantages of ADL Current ADLs designed only for special purpose. Tool support for ADL is poor No universal agreement on what ADLs should represent

UML as ADL ??? Advantages Various diagrams to represent the dynamic behavior of the system Class Diagrams and package diagrams offer the concepts of modular programming Deployment diagrams may be used to define mapping of logical software objects onto hardware components

UML as ADL ??? Disadvantages UML notations are less formal than ADL is. The concept of connectors, fundamental to ADL does not exist in UML.

Future of ADL Infrastructure to develop ADLs Integration of ADL information with other life-cycle products

Thank You!!!!!

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, 1993. D.Garlan and M.Shaw “Software architecture Perspectives on an emerging discipline”. Prentice Hall,Upper Saddle River http://www.sei.cmu.edu/str/descriptions/adl.html