03/11/20021 PRISM Programming in the Small and Many Nenad Medvidovic Marija Mikic-Rakic

Slides:



Advertisements
Similar presentations
UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Why Current Middleware Fails for Mobile Peer-to-Peer Computing Thomas Kunz Systems and Computer Engineering.
Advertisements

System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
A component- and message-based architectural style for GUI software
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Overview of Prism-MW CS 795 / SWE 699 Sam Malek Spring 2010.
Decentralized Reactive Clustering in Sensor Networks Yingyue Xu April 26, 2015.
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
4.1.5 System Management Background What is in System Management Resource control and scheduling Booting, reconfiguration, defining limits for resource.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
Technical Architectures
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Programming in the Many Software Engineering Paradigm for the 21 st Century Nenad Medvidovic Center for Software Engineering Computer Science Department.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
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.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
1 CS 599 – Project Discussion Nenad Medvidovic Marija Mikic-Rakic (T.A.)
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
September 2011 At A Glance The API provides a common interface to the GMSEC software information bus. Benefits Isolates both complexity of applications.
Client-Server Computing in Mobile Environments
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Enterprise Resource Planning
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
International Conference on Software Engineering 2007
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems CS 5381 Steven Ruiz Authors: Sam Malek, Marija Mikic-Rakic, and Nenad.
Architectures of distributed systems Fundamental Models
Computer Emergency Notification System (CENS)
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
1 Mobile Networks logica Contents Confidential & Proprietary to Logica © 2001 Application-Level Active Networks Presented at Dublin Breakfast Briefing,
Copyright © 2002 Intel Corporation. Intel Labs Towards Balanced Computing Weaving Peer-to-Peer Technologies into the Fabric of Computing over the Net Presented.
Internet Real-Time Laboratory Arezu Moghadam and Suman Srinivasan Columbia University in the city of New York 7DS System Design 7DS system is an architecture.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Shuman Guo CSc 8320 Advanced Operating Systems
CSC480 Software Engineering Lecture 10 September 25, 2002.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Deployment and Mobility Software Architecture Lecture 12.
Netscape Application Server
Building Distributed Educational Applications using P2P
Software Connectors.
Software Architecture Lecture 19
#01 Client/Server Computing
Software Connectors.
Software Architecture Lecture 7
Software Architecture Lecture 7
Software Architecture Lecture 7
Overview of Embedded Software Research at USC
#01 Client/Server Computing
Software Architecture Lecture 6
Presentation transcript:

03/11/20021 PRISM Programming in the Small and Many Nenad Medvidovic Marija Mikic-Rakic

03/11/20022 Past and Present The past: programming in the small –small, simple systems –single developer –programs are hacked –developer = customer = user The present: programming in the large –large, complex systems –powerful hardware –teams of developers –systems are engineered –many people, many roles

03/11/20023 Present and Future Programming in the Small and Many Highly distributed systems Dynamic Mobile Heterogeneous Resource-constrained Ad-hoc network connections Software development in such a setting - Prism

03/11/20024 Prism Challenges This has been your computer This will become your computer Resource constraints –Demand highly efficient computation, communication, and memory footprint –Demand unorthodox solutions e.g., off-loading components Hardware and software heterogeneity –Proprietary operating systems –Dialects of programming languages –Device-specific data formats –Lack of support for inter-device interaction –Lack of support for code mobility

03/11/20025 Prism Objectives Asynchronous communication Peer-to-peer interactions Dynamic reconfiguration Deployment Mobility Disconnected operation Execution context awareness Scalability Efficiency

03/11/20026 Prism Style A D CB Requests Notifications Peer Palm-1 Palm-2 Palm-3 iPAQ PC Extensively leverages C2 Peer-to-peer interactions –Side component ports, peer connectors, peer messages –Preserves substrate independence Architectural self-awareness –Application level –Meta level Admin component Continuous analysis component Message types –Application data –Component content –Architectural model

03/11/20027 Prism Connectors All Prism connectors are able to exchange data, code, and architectural models Two interaction techniques –Client-server, Peer-to-peer Four connector categories Synchronous and asynchronous interaction Message routing policies –Unicast –Multicast –Broadcast Delivery guarantees Support for real-time constraints pending Spanning contexts –Address spaces, Processes, Machines Marshalling and unmarshalling of information XML encoding Wireless interaction (IR) Network link monitoring Mechanisms –CORBA, RMI, Sockets, ILU, Q, Polylith Useful in connector-to-connector interaction Reusable security module –E.g., used in IR border connector Multiple such modules would allow altering security policy on the fly Open issue –Mismatched security policies by interacting connectors Ensure reliable component upgrades Monitor multiple versions of a component –Correctness, Performance, Reliability Functional behavior of system unaffected –Performance possibly affected –Possible impact on real-time systems –Basic –Border –Secure –Multiversioning

03/11/20028 Implementing Prism Architectures Size 1.35KB at system start-up max 56KB Performance 500MHz PentiumIII RAM Java KVM framework + 50 componentsabove + one connector + one component below + 50 threads sent messages ______________________________________________________________________________________________________ ~ 4.7 seconds Adjustable threading Adjustable scheduling Request Request

03/11/20029 A Prism Application Map Display Map Repository Available Troops Repository Strategy Analyzer Troops Deployer Admin Component Map Display Admin Component Map Display Admin Component Map Display Admin Component Map Display Admin Component M M M Strategy Analyzer` Strategy Analyzer M  M  M  M  M  M  M  M 

03/11/ Deployment Support –Leverages ComponentContent message –Leverages Prism’s support for code mobility –Assumes preloading a skeleton configuration on each device –Implemented as an extension to Visio (COTS) add(DataRepository: source PC): PC weld(TopBorderConnector,C_IPAQAvailableTroops): iPAQ peerWeld(G_AvailableTroops,SideBorderConnector):Palm-1

03/11/ Support for Disconnected Operation Minimize the risks associated with disconnection Maximize availability / minimize degradation –Reroute communication –Fetch components before disconnection occurs Relevant factors for prefetching –Statefulness –Event frequencies across network links –Dependencies of candidate components –Type of disconnection –Time to disconnection –Required and available memory –Network bandwidth

03/11/ Defining the Problem Minimum K-cut problem –Memory as an additional constraint Knapsack - simplification –Benefit of migration does not change if the component is migrated along with some other components –For each component we need Required memory Benefit of migration Benefit = 0 Benefit = Benefit + f i * (1 - d i ) –Available memory TAM = min(M, t * nb)

03/11/ Results Time to Disconnection Connection Speed Available Memory Resulting Set 1s13KB/s50KBStrategy Analyzer 0.5s40KB/s15KBWar Manager Deployment Advisor 1s30KB/s40KBWar Manager Deployment Advisor Strategy Analyzer War ManagerDeployment Advisor Required Memory (KB)1395 Benefit MessageProcessing Componentfifi didi Analyze strategyStrategy Analyzer0.061 SimulateWar Manager0.160 AdviseDeployment Advisor0.180 DeployStrategy Analyzer0.370

03/11/ Future Work Real-time guarantees Decentralized ownership Trust Resource analysis Automated optimized application deployment

03/11/ Web Site