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

Slides:



Advertisements
Similar presentations
BioDEVS: System-Oriented, Multi-Agent, Disttributed/Parallel Framework for Modeling and Simulation of Biomimetic In Silico Devices Sunwoo Park 1 and C.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
A component- and message-based architectural style for GUI software
Architecture Representation
Overview of Prism-MW CS 795 / SWE 699 Sam Malek Spring 2010.
Spring, Hibernate and Web Services 13 th September 2014.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
The Concept of Computer Architecture
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
 Copyright 2004 Digital Enterprise Research Institute. All rights reserved. Towards Dynamic Execution Semantics in Semantic Web Services.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Software Architecture Research and Practice Nenad Medvidovic University of Southern California
03/11/20021 PRISM Programming in the Small and Many Nenad Medvidovic Marija Mikic-Rakic
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Distributed Software Architecture and Distributed Systems Middleware Eric M. Dashofy Department of Information and Computer Science University of California,
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Programming in the Many Software Engineering Paradigm for the 21 st Century Nenad Medvidovic Center for Software Engineering Computer Science Department.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
Unified Modeling (Part I) Overview of UML & Modeling
1 Dynamic Assembly, Assessment, Assurance, and Adaptation via Heterogeneous Software Connectors Nenad Medvidovic with Marija Rakic and Barry Boehm University.
Software Engineering and Middleware A Roadmap Author: Wolfgang Emmerich Presented by: Sam Malek.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Software Architecture Classification for Estimating the Costs of COTS Integration Yakimovich, Bieman, Basili; icse 99.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Univ. Notre Dame, September 25, 2003 Support for Run-Time Adaptation in RAPIDware Philip K. McKinley Software Engineering and Networking Systems Laboratory.
Secure Systems Research Group - FAU Aspects and mobile applications Sergio Soares Paulo Borba, “PaDA: A Pattern for Distribution Aspects” In Second Latin.
International Conference on Software Engineering 2007
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.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
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.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
Basics of SOA Testing Assurance Services Unit 24 February 2016.
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
National Aeronautics and Space Administration Jet Propulsion Laboratory March 17, 2009 Workflow Orchestration: Conducting Science Efficiently on the Grid.
Software Architecture Lecture 3
Software Architecture
Presented by Charles Reid 2/7/2005
OO Methodology OO Architecture.
Software Architecture Lecture 3
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Inventory of Distributed Computing Concepts and Web services
Software Connectors – A Taxonomy Approach
Software Architecture Lecture 3
Service Oriented Architecture (SOA)
Software Architecture Lecture 3
Chapter 9 Architectural Design.
Software Architecture Lecture 3
Software Architecture
Software Architecture Lecture 3
Challenges in Implementing Software Architectures
Presentation transcript:

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

Software Architectures High level representation of system –Structure, behavior, interactions, properties Architecture Description Languages (ADLs) –Formal descriptions, –Style representations –Analysis –Lack implementation support Mismatch between conceptual model and running systems –Difficulties in system evolution

Concept To Realization Concept –Clear separation of concerns - modular units –Architecture style based analysis –Independent of infrastructure Realization –Global data and functions –Unforeseen dependencies –Unpredictable properties –Finite platform characteristics

Architecture and Implementation

Architecture Frameworks Infrastructure support for architecture –Implementation –Deployment –Execution –Evolution –E.g. Middleware technologies and object frameworks Based on architectural styles –C2 style for highly distributed, dynamic architectures –CORBA for brokered architectures

C2 Framework Objectives A runtime environment for C2-style architectures that provides –Substrate independence –Distribution of computation –Message based communication –Dynamism –Light weight infrastructure with support for monitoring –Extensible foundation –Tractable transformation of architecture in to systems

Family of Frameworks Different programming languages Support for different underlying middleware Tailored for different needs –Performance vs. Flexibility –Resource constrained environments Palm pilot, embedded devices Over 100 applications to date Architectural style in terms of object oriented infrastructure

Framework Evolution C2 Project Inception C++ framework First Applications developed Ada frameworkQ Middleware Java framework Polylith, ILU and RMI connectors ArchStudio oC2 framework eC2 frameworkxC2 framework C2.fw framework Embedded applications

Family Characteristics C2 –Original object oriented framework oC2 –Optimized for message based communication –Better concurrency management through thread pools eC2 –Resource constrained processing –Improved data structures for decreased memory usage xC2 –Highly extensible framework –Reduced coupling and improved element composition

C2 Framework Design Evolution

Next Generation Software Architectures Sound implementation techniques Better composition abilities Richer architectural constructs Highly tailored frameworks Merging academic research with industrial practices More objective principles of architecture based software development

Questions ??