Overview of Embedded Software Research at USC - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Overview of Embedded Software Research at USC

Description:

Event-based communication among autonomous components, ... QoS Pref. Repopulate. Runtime Analysis. Redeploy. Architecture 1. SD Engine. DeSi Adapter Arch. ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 22
Provided by: samm1
Category:

less

Transcript and Presenter's Notes

Title: Overview of Embedded Software Research at USC


1
Overview of Embedded Software Research at USC
  • CSCI 589

2
Architectural Abstraction
3
Why Software Architecture?
  • Early, high-level system model
  • Stakeholder understanding and communication
  • Focus on specific system properties
  • Separation of concerns
  • Early analysis and simulation
  • Tool-supported implementation
  • Improved processes and project management

4
Architectural Style
  • Recurring structural, behavioral, and interaction
    patterns
  • Design vocabulary and grammar
  • Envelope of allowed change
  • Guarantee of desirable properties
  • Generalization from specific experience
  • Enables proper balance of
  • Intuition
  • Method
  • Theft

5
The C2 Architectural Style
  • Event-based communication among autonomous
    components, mediated by active connectors
  • Composition
  • No component-component links
  • Separation of computation from communication
  • Asynchronous, implicit invocationvia connectors
  • Substrate independence
  • Concurrency
  • Distribution
  • Heterogeneity

User Repository
Main Window
Login Dialog
Graphics Toolkit
6
Prism Programming-in-the-Small-and-Many
7
Prism Challenges
  • 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

8
From architecture to implementation
  • Architectures provide high-level concepts
  • Components, connectors, ports, events,
    configurations
  • Programming languages provide low-level
    constructs
  • Variables, arrays, pointers, procedures, objects
  • Bridging the two often is an art-form
  • Middleware can help split the difference
  • Existing middleware technologies
  • Support some architectural concepts (e.g.,
    components, events)
  • but not others (e.g., configurations)
  • Impose particular architectural styles
  • End result ? architectural erosion
  • Architecture does not match the implementation
  • What is needed is architectural middleware

9
Prism-MW
  • An architectural middleware for embedded systems
  • Supports architecture-based software development
  • Architecture-based software development is the
    implementation of a software system in terms of
    its architectural elements
  • Efficient
  • Scalable
  • Flexible and Extensible
  • Allows us to cope with heterogeneity
  • Supports arbitrary complex architectural styles

10
Architectural Middleware
  • Natively support architectural concepts as
    middleware constructs
  • Include system design support
  • Typically via an accompanying ADL and analysis
    tools
  • Support round-trip development
  • From architecture to implementation and back
  • Support automated transformation of architectural
    models to implementations
  • i.e., dependable implementation
  • Examples
  • ArchJava
  • Aura
  • c2.fw
  • Prism-MW

11
Architectural Middleware Architecture
12
Prism-MW Design
13
Using Prism-MW
class DemoArch static public void
main(String argv) Architecture arch
new Architecture ("DEMO") // create
components Component a new CompA
("A") Component b new CompB
("B") Component c new CompC (C") //
create connectors Connector d new
Connector(D") // add components and
connectors arch.addComponent(a) arch.addCompon
ent(b) arch.addComponent(c) arch.addConnector(
d) // establish the interconnections arch.attac
h(a, d) arch.attach(b, d) arch.attach(d,
c)
Architecture - DEMO

Connector D
Connector D
14
Using Prism-MW
Component C sends an event Event e new Event
("Event_C, REQUEST) e.addParameter("param_1",
p1) send (e)
Architecture - DEMO
Connector D
Send (e)
15
Event Dispatching
Scaffold
Thread Pool
handle Event
Connector D
E
X
X
E
E
E
E
E
1
2
5
3
4
  • Topology-based routing
  • Easy redeployment and redistribution of
    components onto different hardware configurations

send Event
Comp C
16
Prism-MW Performance
  • Efficiency
  • 1750 SLOC
  • 4600 B for the core
  • 160 B per component
  • 240 B per connector
  • 70 B per weld
  • 160 B per event
  • 240 B per event parameter
  • Scalability
  • Numbers of devices, threads and eventsnot
    limited by Prism-MW
  • Numbers of components and connectors
  • available_memory middleware_size
  • average_element_size

17
Prism-MW Benchmarks on a PC
18
Prism-MW has been adopted by several industry
partners
Troops Deployment Simulation US Army
MIDAS Bosch Research and Technology Center
19
Partial View of MIDAS Architecture
20
The big picture
Domain Expert
Model
Repopulate
Design-time Analysis
Runtime Analysis
Deployment Model
Deploy
Redeploy
QoS Pref.
Monitor
Monitoring Data
Hardware System
21
Deployment and Monitoring Support
Architecture 2
Repository
DeSi Adapter Arch.
Architecture 1
DLL
DLL
DLL
Unicast Connector
Repository
Byte Array
Connector D
Repository
Write a Comment
User Comments (0)
About PowerShow.com