Embedded Systems Hardware/ Software Co-Development

Slides:



Advertisements
Similar presentations
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Advertisements

Architecture Representation
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
Creating Domain-Specific Development Infrastructures George Edwards Computer Science Department University of Southern California.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
XTEAM: Automated Synthesis of Domain-Specific Code Generators George Edwards Introduction to the Center for Systems and Software Engineering.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Architectural Design.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Lecture 9: Chapter 9 Architectural Design
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Chapter 13 Architectural Design
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Introduction to Software Engineering Lecture 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Architecture Analysis Techniques
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
Smart Home Technologies
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
System-on-Chip Design
Review of last class Software Engineering Modeling Problem Solving
CIM Modeling for E&U - (Short Version)
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
APPLICATION OF DESIGN PATTERNS FOR HARDWARE DESIGN
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
OO Methodology OO Architecture.
Distribution and components
Chapter 18 MobileApp Design
Hierarchical Architecture
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
The Extensible Tool-chain for Evaluation of Architectural Models
Software Architecture
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
An Introduction to Software Architecture
HIGH LEVEL SYNTHESIS.
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Chapter 9 Architectural Design.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Automated Analysis and Code Generation for Domain-Specific Models
The Anatomy and The Physiology of the Grid
Presented By: Darlene Banta
Architectures of distributed systems
Chapter 5 Architectural Design.
Architectures of distributed systems Fundamental Models
Software Development Process Using UML Recap
From Use Cases to Implementation
Logical Architecture & UML Package Diagrams
Presentation transcript:

Embedded Systems Hardware/ Software Co-Development

Embedded Systems Design Embedded systems’ hardware and software cannot be designed entirely independently Embedded software often runs on a system-on-chip (SoC) Numerous design challenges Tightly integrated components developed across numerous organizations Strict non-functional and QoS requirements (performance, power consumption, etc.)

Mobile Device Hardware and Software Multiple SoCs Multiple processors and subsystems on each SoC Multiple software stacks Multiple OSs

Example: Qualcomm MSM8960 SoC

Hardware and Software Layers

Example: Android Software Stack “Android” is only the top of the stack Below Android is a Hardware Abstraction Layer (HAL), the Linux kernel, and device drivers

Example: Android Telephony Stack Radio Interface Layer (RIL) abstracts upper software layers from baseband drivers and hardware Baseband runs on an RTOS on a separate processor

Example: Android Network Services

Embedded System Design Starting software development ASAP expedites overall development schedule

Cost to Repair Software Defects

Prototype Requirements Application developers HAL/driver developers System architects Hardware verification engineers HW/SW validation engineers Prototype goals Refine SW requirements and design Refine interfaces and design Trade-off HW and SW; analyze resource usage Precise timing accuracy; model the impact of software Make sure HW and SW works as specified Prototype requirements Early availability; speed over accuracy Early availability; detailed register interfaces; accuracy over speed Early availability; accuracy over speed Accuracy over speed; reuse test benches Balance of speed and accuracy

Embedded System Prototypes Due to the high NRE cost of mask sets for chip development and the significant impact a product delay can have on the return on investment (ROI) for a project, most companies demand the use of prototyping prior to silicon tape-out to ensure first-time-right silicon development. The electronics industry is today using several types of prototypes during the design flow. SDK: app developers Virtual platform: system architects, HW/SW validation engineers, app developers, HAL developers RTL: HW verification engineers

Types of Virtual Prototypes Architectural virtual prototypes For architectural analysis, performance validation Designed to answer very specific questions Will this cache be big enough? Will this interconnect provide enough bandwidth for a specific traffic scenario? Software virtual prototypes For software development, debug, validation, and test Designed to provide logging and visibility for software debugging Architectural:

Example: Android SDK

Prototype Tradeoffs RTL simulation and virtual prototyping for verification engineers Speed and accuracy Emulation/acceleration and virtual prototyping for SW developers and HW/SW validation engineers

Transaction-level Modeling Cycle-accurate (CA) Approximately timed (AT) Loosely timed (LT) TSM: representing transactions flowing within the system instead of individual bus cycles, or specific pins and wires, and thus achieving higher simulation speeds. LT: These transactions include representations of address decoding and control registers for elements such as bus bridges and arbiters. AP: Approximate bus models that add arbitration, pipelining and concurrency details.

Industry Design Chain System OEMs are the actual interface to the consumer, using the network providers like Vodafone and T-Mobile as their channel. Semiconductor houses provide the silicon, including reference design kits, to the system houses. The software programmers are split among semiconductor houses, system houses and ISVs. Programmers in the semiconductor houses and IP providers are traditionally more focused on lower-level drivers and kernel, while the ISVs and system houses actively use middleware and application software as their differentiator.

Scenario-Driven Dynamic Analysis of Distributed Architectures 11/9/2018 Scenario-Driven Dynamic Analysis of Distributed Architectures George Edwards gedwards@usc.edu Sam Malek malek@usc.edu Nenad Medvidovic neno@usc.edu Computer Science Department University of Southern California

Presentation Outline Introduction and Background 11/9/2018 Presentation Outline Introduction and Background Architecture Description Languages Model-Driven Engineering Software Architecture in the MDE Context Extensible Modeling Environments Model Interpreter Frameworks The eXtensible Toolchain for Evaluation of Architectural Models (XTEAM) Discussion of Key Capabilities Remaining Research Challenges November 9, 2018

Background - ADLs Architecture Description Languages (ADLs) 11/9/2018 Background - ADLs Architecture Description Languages (ADLs) Capabilities: Capture crucial design decisions Can be leveraged throughout the software development process Shortcomings: Rely on rigid formalisms Focus on structural elements Lack support for domain-specific extensibility Chart is taken from Medvidovic et al., A Classification and Comparison Framework for Software Architecture Description Languages November 9, 2018

Background - MDE Model-Driven Engineering (MDE) 11/9/2018 Background - MDE Model-Driven Engineering (MDE) Combines domain-specific modeling languages with model analyzers, transformers, and generators Domain-Specific Modeling Languages (DSMLs) Codify domain concepts and relationships as first-class modeling elements Metamodels define elements, relationships, views, and constraints Model interpreters leverage domain-specific models for analysis, generation, and transformation November 9, 2018

11/9/2018 High-Level Approach November 9, 2018

11/9/2018 Extensible Modeling Environment Capturing Domain-Specific Architectures Key Challenges: Development of ADLs is inherently difficult Combining extensibility with formal semantics Solution: Codify ADLs as metamodels ADL composition enables the combination of constructs from multiple ADLs within a single model ADL enhancement allows the definition of new, customized ADL constructs Reuse of existing ADLs maximizes the potential for reuse of the tool infrastructure. Incremental language extensions enable a specific architectural analysis technique. November 9, 2018

Model Interpreter Framework Implementing Architectural Analyses 11/9/2018 Model Interpreter Framework Implementing Architectural Analyses Key Challenge: Transforming architectural models into analysis models requires a semantic mapping (interpretation) that is often difficult to define and implement Requires expertise in modeling languages, software architecture, and the relevant domain Solution: Utilize a model interpreter framework Transforms architectural models into executable simulations Provides hook methods that an architect implements to realize an analysis technique i.e., logic that performs analysis calculations and records measurements Hides the details of the semantic mapping from the architect No need to understand how the simulation model is constructed and executed November 9, 2018

Application Simulations 11/9/2018 The XTEAM Tool-chain XTEAM employs a metaprogrammable graphical modeling environment (GME) XTEAM composes existing general-purpose ADLs: xADL Core (structures and types) and FSP (behavior) GME configures a domain-specific modeling environment with the XTEAM ADL Architecture models that conform to the XTEAM ADL are created XTEAM implements a model interpreter framework The XTEAM ADL is enhanced to capture domain-specific information The XTEAM Model Interpreter Framework is utilized to implement simulation generators Application simulations execute in the adevs discrete event simulation engine Simulations operate on the information captured in ADL extensions to perform scenario-driven analysis GME Metamodeling Environment GME Metamodeling Paradigm GME Domain-Specific Modeling Environment XTEAM ADL XTEAM Model Interpreter Framework adevs Simulation Engine XTEAM Simulation Generators Application Simulations XTEAM ADL Metamodel XTEAM Architecture Models xADL Structures and Types Finite State Processes ADL Extensions Application Architectures Energy Consumption Analysis Reliability Analysis End-to-end Latency Analysis Memory Usage Analysis Scenario-driven Analysis Results November 9, 2018

Scenario-Driven Dynamic Analysis 11/9/2018 Scenario-Driven Dynamic Analysis Allows the architect to rapidly investigate the consequences of design decisions in terms of their impact on non- functional properties Results depend heavily on the environmental context (e.g., the load put on the system) May contain elements of randomness and unpredictability (e.g., the timing of client requests) The set of scenarios to be simulated should include high-risk situations and boundary conditions XTEAM Simulation Generators Generator Information Required Analysis Provided Latency task and process execution times for each required interface, the response time for each invocation Reliability failure probabilities and recovery times time and type of failures and an overall component reliability metric Energy consumption computational and communication energy costs energy consumption of each component and host over time Memory usage memory required by each task amount of memory being used on each host over time November 9, 2018

Example: Energy Consumption Estimation 11/9/2018 A computational energy cost is incurred when a component’s interfaces are invoked Interfaces are classified and parameterized according to energy consumption profile A communication energy cost is incurred when data is transmitted over a wireless network Depends on data size, network bandwidth, etc. November 9, 2018

11/9/2018 Key Capabilities XTEAM provides a quantitative means for software architects to… …provide design rationale “Using a peer-to-peer architectural style for System X will result in greater scalability.” …weigh architectural trade-offs “Increasing the reliability of Service Y will incur an increase in latency.” …evaluate off-the-shelf component assemblies “The set of components selected will meet system energy consumption requirements.” …test and validate systems incrementally “The prototype of Component Z is not behaving as expected.” November 9, 2018

Providing Design Rationale 11/9/2018 Providing Design Rationale Client-Server Architecture Architects rely on intuition and experience to make important decisions early in the design phase What architectural style to use How to allocate functionality among subsystems What types of connectors to use XTEAM allows architects to rationalize such decisions with experimental evidence Model confidence level: Low Peer-to-peer Architecture Potential Workload Comparison of latency  P2P achieves greater scalability November 9, 2018

Weighing Architectural Trade-offs 11/9/2018 Weighing Architectural Trade-offs Nearly all architectural decisions come down to trade-offs between multiple desirable properties Emphasis on one system property may yield diminishing returns XTEAM allows architects to evaluate design alternatives in terms of their impact on multiple non-functional properties Model confidence level: Medium Decreases response time Replication of components Consumes more battery power November 9, 2018

Evaluating COTS Assemblies 11/9/2018 Evaluating COTS Assemblies Contemporary large-scale distributed systems contain numerous off-the-shelf components Detailed information about the behaviors and properties of individual components may be known Component assemblies may exhibit unforeseen behavior due to subtle interactions between constituent components XTEAM allows an architect to determine the emergent properties of a composed system Model confidence level: High Determination of emergent properties Off-the-shelf components Highly accurate parameterization November 9, 2018

Incremental System Validation 11/9/2018 Incremental System Validation Individual component implementations may become available in a piecemeal fashion XTEAM allows architects to Immediately incorporate component implementations into a simulated system, increasing the accuracy of analysis results Rapidly test individual components in the context of a wide variety of operational scenarios Model confidence level: High Component implementation available Invoke implementation from behavior model Integrated simulation and test environment November 9, 2018