Top Banner
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic- Rakic Computer Science Department University of Southern California Los Angeles, CA 90089 {neno,malek,marija}@usc.edu
15

Software Architectures and Embedded Systems

Feb 12, 2016

Download

Documents

Chanel

Software Architectures and Embedded Systems. Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California Los Angeles, CA 90089 {neno,malek,marija}@usc.edu. Events. Connectors. Components. What Are Software Architectures?. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Architectures and Embedded Systems

Software Architecturesand

Embedded Systems

Nenad Medvidovicwith Sam Malek and Marija Mikic-Rakic

Computer Science DepartmentUniversity of Southern California

Los Angeles, CA 90089{neno,malek,marija}@usc.edu

Page 2: Software Architectures and Embedded Systems

What Are Software Architectures?

VehicleDel iveryPort

CargoRouter

RouterConn

GraphicsBinding : GraphicsBinding

GraphicsConn

Warehouse

ClockConn

Clock : Clock

10: notification9: notification

5: request

3: request4: request

2: notification

1: request

7: request

6: notification

8: request

Page 3: Software Architectures and Embedded Systems

Software Architecture Research

• An active research area– Architectural description and analysis– Architectural styles– Domain-specific architectures– Application family architectures– Architecture-based dynamic system adaptation

• Applied primarily in “traditional” SE domains– Few examples in the ES domain

What are architecturally-relevant issues in the ES domain?

Page 4: Software Architectures and Embedded Systems

SA4SE vs. SA4ES• S/W architecture is all about abstraction

– Hide implementation details as much as possible• This is not always reasonable in the ES domain

– Implementation and deployment issues may be critical• Inspiration

– Literature• see accompanying paper

– Graduate course• Software Engineering for Embedded Systems• http://sunset.usc.edu/~neno/cs589_2003/

– Research project• Prism – “Programming in the Small and Many”• http://sunset.usc.edu/~softarch/Prism/

Page 5: Software Architectures and Embedded Systems

Topics of Interest

• Architectural modeling• Architectural analysis• Architectural styles • Reference architectures• Implementation support• Deployment support• Dynamic adaptabilityProbably many others…

Page 6: Software Architectures and Embedded Systems

Architectural Modeling• Existing ADLs focus on (functional) S/W concerns

– Interfaces– Behaviors (static and dynamic)– Interaction protocols

• S/W system resources typically ignored– OS, runtime libraries, threads, etc.

• H/W system resources typically ignored– Processor speed, memory, network, etc.

Is formal specification a must for ES?– Counter-example: JPL’s use of PPT, UML, xADL, Acme

Do we model SA4ES using components, connectors, and configurations?

Page 7: Software Architectures and Embedded Systems

Architectural Modeling – Examples• MetaH

– ADL for the GN&C domain– Considers schedulability, reliability, safety issues– Models availability and properties of S/W and H/W

resources• Weaves

– Real-time processing of satellite data• ROOM

– Real-time computation – Message-sequence charts and state charts

• Relevant on-going effort– AADL

Page 8: Software Architectures and Embedded Systems

Architectural Analysis• ADLs focus on formal analysis of (functional)

system properties– E.g., Wright’s deadlock analysis– E.g., Mae’s static behavioral analysis

• Analysis fidelity– Considering H/W platform properties– Transferring architectural decisions into code– E.g., analysis of real-time properties

• Simulation– Executable architectural models– Faithful models of S/W and H/W environments– E.g., Darwin’s “what if” scenarios via Conic

Page 9: Software Architectures and Embedded Systems

Architectural Styles• Styles are key S/W design idioms

– Define rules (or heuristics) to guide system design– Guarantee (or promise) desired system properties– E.g., layered, pipe-and-filter, client-server, etc.

• What styles are applicable in the ES domain?– Weaves’ use of dataflow architectures– ADAGE’s use of layered architectures– Ptolemy’s definition of a “style” for hybrid systems– Some examples from mobile robotics and multimedia– Studies of styles in mobile, distributed, resource-

constrained domains• E.g., Prism-SF

Page 10: Software Architectures and Embedded Systems

Reference Architectures• Generic architectural “blueprints”

– Domain-specific or product-line approaches– Instantiated into application-specific architectures– Leverage successful architectural patterns

• Reference architectures in the ES domain– Phillips’ Koala – consumer electronics

• Adapts Darwin for architectural modeling– IBM’s ADAGE – avionics

• “Overlays” specific architectural patterns onto the layered style

Page 11: Software Architectures and Embedded Systems

Implementation Support• Directly impacts effectiveness of architectural

models– Lack of effective support worsens architectural drift

• Particularly so in the ES domain– Distributed, decentralized, mobile– Resource constrained, long-lived, heterogeneous

• Typically supported via PL extensions and M/W– E.g., PL extensions in ArchJava– E.g., M/W facilities in ACE/TAO, LIME, Ptolemy, XMiddle

• M/W solutions must be tailored to architectural abstractions– “Architectural” M/W– E.g., Ptolemy, Prism-MW

Page 12: Software Architectures and Embedded Systems

Deployment Support• ES are typically developed and tested in simulated

environments– Target platform may not yet exist– Target platform may be too expensive– Target platform may not be easily accessible

• Knowledge about the target environment is critical– Performance characteristics and idiosyncrasies– Current deployment architecture

• Existing deployment solutions are inappropriate– Centralized solutions– Large patches (e.g., Windows update wizards)– Sophisticated, but resource demanding deployment agents

(e.g., SoftwareDock)• E.g., Prism-DE

Page 13: Software Architectures and Embedded Systems

Deployment with Prism-DE

Page 14: Software Architectures and Embedded Systems

Dynamic Adaptability• An ES may need to (continuously) evolve

– Downtime of may be unacceptable• Ensuring system integrity is critical

– Design-time analysis of the modified models– Run-time analysis of the modified implementations

• Challenges in supporting dynamic adaptability– Dynamic adaptation may impact the ES’s properties

• Availability, safety, security

– Distribution of systems and of dynamic changes– Decentralization

• Who “owns” (or can “see”) the entire system’s model?

• E.g., Prism-MW’s API (+ PL + OS + analysis)

Page 15: Software Architectures and Embedded Systems

Summary

• SA is primarily about abstraction• ES is frequently about details• What is SA4ES about?

– Appropriate abstractions– Appropriate levels of detail– Appropriate analyses– Appropriate implementation- and run-time

support