07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.

Slides:



Advertisements
Similar presentations
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Advertisements

COM vs. CORBA.
An Extensible Binding Framework for Component- Based Middleware By Nikos Parlavantzas, Geoff Coulson, and Gordon S. Blair Presented by Erol Koç Concurrency.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Maintaining Terminal Integrity and Context-Aware Reconfiguration Johan Muskens (TU/e) Otso Virtanen (HIIT/BRU) Michel Chaudron (TU/e) Ronan Mac Laverty.
Using Architecture Frameworks
Course Instructor: Aisha Azeem
September 2011 At A Glance The API provides a common interface to the GMSEC software information bus. Benefits Isolates both complexity of applications.
Configuration Management
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
Software Architecture in Practice (3rd Ed) Introduction
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
An Introduction to Software Architecture
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Introduction to MDA (Model Driven Architecture) CYT.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Architecting Web Services Unit – II – PART - III.
Unified Modeling Language, Version 2.0
Configuration Management (CM)
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
XML Registries Source: Java TM API for XML Registries Specification.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Component frameworks Roy Kensmil. Historical trens in software development. ABSTRACT INTERACTIONS COMPONENT BUS COMPONENT GLUE THIRD-PARTY BINDING.
Chapter 6 Architectural Design.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
10/03/05 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
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.
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.
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.
Basic Concepts and Definitions
CS223: Software Engineering Lecture 13: Software Architecture.
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
UML Diagrams By Daniel Damaris Novarianto S..
Architecting Web Services
Architecting Web Services
OO Methodology OO Architecture.
UML Diagrams Jung Woo.
CMPE419 Mobile Application Development
Service Metadata Registry (COSMOS)
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Analysis models and design models
An Introduction to Software Architecture
Maintaining Terminal Integrity and Context-Aware Reconfiguration Johan Muskens (TU/e) Otso Virtanen (HIIT/BRU) Michel Chaudron (TU/e) Ronan Mac Laverty.
CMPE419 Mobile Application Development
ONAP Architecture Principle Review
Presentation transcript:

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 1 Component Framework for Consumer Electronics Middleware Location: TU/e (HG 5.95) SAN Weekly presentation Date:10 September 2004 Johan Muskens

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 2 Outline Introduction – Background – Motivation – Requirements Component Model – Life-Cycle – Component Packaging Run Time Architecture – Executable Component – Run Time Environment – Download Framework – Resource Management Framework Discussion

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 3 Background Research is part of the following projects Robocop ( ) – Define an open, component-based framework for the middle-ware layer in high-volume consumer devices (robustness/reliability, upgrading/extension, and trading) Space4U ( ) – Extend and validate the Architecture Fault Management Power Management Terminal Managment

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 4 Motivation for Component Based Development Aim: Increase productivity (Reduce Time to Market) by making reuse easier. How: Reuse at component level Easy composition (and modification of a composition) – Interaction through well defined interfaces – Dependability on interfaces in stead of components – Composition at run-time (run-time upgrading) Component Trading – Component repositories

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 5 What is a Component Model? A component model specifies the standards and conventions imposed on developers of components. A component model addresses (at least) the following: – the set of component types, including their interfaces, – the allowable patterns of interaction (component- component and component-run-time interaction); in particular the binding mechanism. Component Model = Rules

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 6 What is a Component Framework? A generic software architecture (described in terms of component interfaces, composition mechanisms and composition rules) together with a set of generic software components that may be used to realize specific software architectures. Component Framework = Tools + Generic Architecture + Generic components

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 7 What is an Architecture? The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 8 What is offered by Component Frameworks? blue = mandatory

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 9 Existing Component Frameworks (D)COM EJB.NET CORBA Koala PECOS AutoComp Robocop...

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 10 Focus in CE Domain red = focus CE domain

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 11 Evaluation Existing Component Frameworks yellow = focus CE domain

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 12 Outline Introduction – Background – Motivation – Requirements Component Model – Life-Cycle – Component Packaging Run Time Architecture – Executable Component – Run Time Environment – Download Framework – Resource Management Framework Discussion

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 13 Component Life-cycle

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 14 Component Packaging A Robocop component is a set of possibly related models – RC = P(M) x P(M x M x T) – M=EM ∪ BM ∪ RM ∪... – T=MODELTYPE x MODELTYPE x NAME

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 15 Component Packaging (Motivation) Trading – Different views for different stakeholders Executable for consumer Source code, documentation for developer... – Desirable to trade more than binaries Analysis – During Development Simulations / Analysis for feasibility tests – At Run Time Admission tests during downloading of components

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 16 Component Packaging (Example)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 17 Outline Introduction – Background – Motivation – Requirements Component Model – Life-Cycle – Component Packaging Run Time Architecture – Executable Component – Run Time Environment – Download Framework – Resource Management Framework Discussion

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 18 Runtime Architecture Run-time view of a terminal – Application Layer Applications – Middleware Layer Run Time Environment Executable Components – Platform Layer OS Abstraction Device & HW drivers

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 19 Executable Component Executable Components implement a number of Services Executable Components are instantiated in OS terms – Static in process (LIB) – Dynamic in process (DLL) – Dynamic out process (EXE) Executable Components have a fixed entry point for – Registration to Run Time – Retrieving Service Manager Service Manager is used for instantiating services

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 20 Services Services offer their functionality through a set of ports (named interfaces) Services have explicit dependencies required ports (named interfaces) An Interface is a set of operations Services are instantiated at Run Time – Service ≈ Class in object oriented programming Service Instance is an entity with its own data and a unique identity – Service Instance ≈ Object in object oriented programming

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 21 Executable Component (Example)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 22 Run-time Environment Responsibility – Registration of components and services – Handle requests for services instances (and services managers) – Offer support for QoS (Optional) Implementation – Three tables Association between Component (ID) and Location Association between Component (ID) and Service (ID) Complies relation between Services (IDs)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 23 Run Time Environment ( Example Registry Content )

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 24 Run Time Environment ( Example Registry Content ) This graphically depicts the contents of the registry on previous slide

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 25 Download Framework Responsibility – Transfer Robocop components from repository to a target terminal. Implementation – 5 roles together accomplish the download Initiator Locator Decider Repository Target (needs to be on the terminal)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 26 Download Framework (Key Features) Low Resource Footprint on Target – Only the target role needs to be resident on the target terminal Supports external initiation of download – Initiator can be resident on a external server Supports decision on suitability of a component for a specific target – Decider role

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 27 Download Framework (Procedure)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 28 Download Framework (Example Deployment)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 29 Resource Management Framework Resource Management using the following Quality Aware Entities – Quality Manager Maintain global quality. – Assign & Negotiate budgets – Resource Manager Setting & Accounting & Enforcing budgets – Quality Chief (application of service) Interact with Quality Manager (Negotiation) – Resource Chief Interact with Resource Manager Isolate platform dependent issues

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 30 Platform Layer Resource Management Framework ( Overview ) Quality Manager and Resource Manager are part of the RRE. Quality Aware entities implement the IQualityChief interface – Services – Applications Resource Chiefs are part of the OS – In Robocop the linux kernel has been patched RRE Quality Manager Resource Manager QoS Manager Quality Chief Application QoS-aware Quality Chief Service QoS-aware Resource Chief Application Layer Platform Layer Middleware Layer

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 31 Resource Management Framework (API) Quality Manager – addApplicationQM / removeApplicationQM – reviewSystemQuality – assessFeasibility Resource Manager – checkFeasibility – setConfiguration – setBudgetUser / removeBudgetUser – getMonitoringInfo Quality Chief – getQualityInfo – setQualityLevel – getBudgetID Resource Chief – createBudget / removeBudget – getStatusBudget – getMonitoringInfo –...

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 32 Resource Management Framework (Negotiation)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 33 Resource Management Framework (Setting Configuration)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 34 Resource Management Framework (Change Configuration)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 35 Outline Introduction – Background – Motivation – Requirements Component Model – Life-Cycle – Component Packaging Run Time Architecture – Executable Component – Run Time Environment – Download Framework – Resource Management Framework Discussion

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 36 Discussion Robust and Reliable Operation – Explicit dependencies between services – Resource Management Framework – Fault Management Framework (Space4U) – Integrity Management Framework (Space4U)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 37 Discussion Low Resource Footprint – Minimal Run Time Service registration & instantiation only Download Framework, Resource Management Framework,... are all optional Computation intensive part (e.g. deciding and customizing)of Download Framework can be done outside the terminal – Minimal Communication overhead Interfaces use vtables this requires one additional pointer dereference per method invocation. – No interpreted language

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 38 Discussion Upgrading and Extension – Applications and services are dependent on (binary)interfaces not on services. – New components can be downloaded and registered at run-time (Download Framework)

07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking 39 Discussion Trading – Download Framework enables transfer of components – Different models address the different concerns of the different stakeholders