VEST: Virginia Embedded Systems Toolkit* Professor Jack Stankovic Department of Computer Science University of Virginia October 2001 Supported, in part,

Slides:



Advertisements
Similar presentations
Automatic Generation of Fault-Tolerant CORBA-Services Andreas Polze, Janek Schwarz and Miroslaw Malek Department of Computer Science Humboldt-University.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Overview of PTIDES Project
Technical Architectures
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Distributed Systems Architectures
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Ritu Varma Roshanak Roshandel Manu Prasanna
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
CprE 458/558: Real-Time Systems
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Enterprise Resource Planning
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
Computer System Architectures Computer System Software
©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.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
Distributed Systems Architectures
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
Architectures of distributed systems Fundamental Models
A Survey on Programming Model Context Toolkit Gaia ETC (of Equator Project) Tentaculus.
Large Scale Deeply Embedded Networks Jack Stankovic, Tarek Abdelzaher, Sang Son, Chenyang Lu Department of Computer Science University of Virginia Fall.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CE-321: Computer.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
Business Data Communications, Fourth Edition Chapter 11: Network Management.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms A QoS Policy Modeling Language for Publish/Subscribe Middleware Platforms Joe.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
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.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
VEST Tool Base Libraries SW OS Middleware Aspects Domain Code HW Infrastructures Product Library Composition Dependency Checks Analysis Configuration Tool.
Real-time System Definition A real-time system is a software system where the correct functioning of the system depends on the results produced by the.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
G. Russo, D. Del Prete, S. Pardi Kick Off Meeting - Isola d'Elba, 2011 May 29th–June 01th A proposal for distributed computing monitoring for SuperB G.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Operating Systems : Overview
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Real-time Software Design
Parallel and Multiprocessor Architectures – Shared Memory
Mobile Agents.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Operating Systems : Overview
Operating Systems : Overview
Architectures of distributed systems
Software Architecture
Outline Operating System Organization Operating System Examples
Architectures of distributed systems Fundamental Models
Presentation transcript:

VEST: Virginia Embedded Systems Toolkit* Professor Jack Stankovic Department of Computer Science University of Virginia October 2001 Supported, in part, by the Darpa PCES program.

Outline Motivation/The Problem Overview of the VEST Tool (A Few) Research Questions What this tool is NOT! Summary/Status

Embedded Systems Engine control Wristwatch Modems Mobile phone Internet appliances Process Control Air Traffic Control 60 Processors in Limo Smart Spaces Sensor/Actuator/CPU clouds with movable entities Smart dust

Smart Spaces Smart School Smart Classroom Smart City Smart Factory Pervasive Global Connectivity

Key Issue Enormous numbers of devices and amounts of software needed –flexible and tailored (off-line for some systems; on-line for others) –interaction with physical/distributed environment (of greater heterogeneity - not just cpus) –many constraints power, mobility, real-time, cost, memory size, ft, etc. How do we develop, tailor, optimize software for such systems in a cost effective manner?

Solution domain specific program composition –take embedded systems software from libraries –map to HW (sensors, actuators, CPUs, etc.) –tailor and optimize HW/SW –automate analysis and dependency checks address hidden dependencies (cross-cutting concerns - aspects)

Program Composition Goal: building a tool that enables component- based construction and analysis of embedded systems –flexible –tailored –considers power, mobility, distribution, heterogeneity, wireless, sensors, actuators, scale, performance

What is a Component? High level components (Corba, DCOM, Java Beans) –reusable, reliable, tailor, dynamic, written by domain experts, … –slow, unpredictable, weak on non-functional properties (performance (real-time), dependability, …), hard to modify Need - Embedded System Components

How is it different? Performance concerns such as meeting deadlines; dependability concerns Physical environment linkage is paramount Global analysis needed Not necessarily third party –careful control over library Domain specific –avionics, smart hospital,... Hypothesis: Significant amounts of attached reflective information (dependencies) are needed

Perspective/Design Tools Requirements Design/Design Analysis Synthesis/(Components with Analysis) VEST

VEST Configuration Tool Components Micro-components Infrastructures Reflective Infor. Dependencies ASPECTS Composition Dependency Checks Analysis Configuration Tool Analysis Tools Infrastructure Embedded System Factual Inter-component Aspects General Real- Time Reliability

Configuration Tool Base Libraries SW OS Middleware Aspects Domain Code HW Infrastructures Product Library Composition Dependency Checks Analysis Configuration Tool Browse Compose Check Analysis Tools Factual Inter-component Aspects General Real- Time Reliability Map to Process Map to HW Dependency Checks Dependency Checks

VEST Workspace

Reflection Methodology Identify the reflective information (semantics) Retain the information in tools/on disk Perform dependency checks and analysis based on that information Retain the information at runtime (flexibility) Expose the information to the application code

Factual Code ComponentID Flag: SW/HW WCET Memory/Size Data Bandwidth Importance Deadline Security Jitter Power speed reliability size cost accuracy sensitivity range Bus, memory, processors, cache, D/A, A/D, sensor, actuator, co-processor, DSP, Networks HW

Inter-component Dependencies Interfaces (parameters and types) Call graph Precedence Requirements Waits for Exclusion requirements Version compatibility Included in

ASPECTS If it can not be cleanly encapsulated in a generalized procedure –affect the performance or semantics of components Examples (categories) –end-to-end real-time performance –dependability –security –concurrency and synchronization –optimizations

Examples of Aspects Logging in Apache Web server Pre-fetching in OS Simple embedded system, then add kill primitive Periodic tasks only, then add aperiodics Change system to use spin locks Sizing Message Buffers Many examples with Concurrency and RT performance

Dependency Checks From the simple to the complex –Ex. 1: Is there sufficient memory? (factual) –Ex. 2: Are the input parameters of the correct number and type? (inter-component) –Ex. 3: Are interrupts disabled/enabled properly? (aspect) –Ex 4: Is the end-to-end real-time constraint being met? (analysis)

Example: RT Analysis Components/Tasks Platform Components WCET D Resources Precedence Speed Bandwidth Network protocols Mapping Composed (Distr) System Analysis - H() Workload Reflective Information

Research Questions What are language independent aspects? –Modular constraints (Vanderbilt) –Instructions on how to change or test components What are the hidden dependencies that exist in real-time and embedded systems; how do we make these dependencies visible –produces an effective methodology? How to integrate component composition with design time tools

What this tool is NOT A complete requirements/specification/design tool –rather it concentrates on improving composition of components from embedded systems libraries No proofs of correctness –avoids common errors, avoids insidious cross cutting errors that can crop up when composing library based components

Summary Status: –first version of tool is operational –second version to include: support for objects, events mapping to active processes and HW additional aspect checks –being migrated to GME

Reflection - Example PCB - not reflective registers ptr to stack priority registers ptr to stack priority PCB Reflective deadline FT requirements part of group What it takes to execute!

Reflection in RTOS Enhances visibility of information between levels (off-line to on-line) –FT and RT information –Individual module and system-wide policies Simple Examples vs T1 = P1; T2 = P2; T3 = P3; Lost information FT 3 exec. Node 1 Node 2 Node 3 System does not know they are related