Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Threads, SMP, and Microkernels
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
Computer Systems/Operating Systems - Class 8
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Chapter 7 Protocol Software On A Conventional Processor.
Chapter 13 Embedded Systems
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Architecture Modeling and Analysis for Embedded Systems Overview of AADL and related research activities in RTG Oleg Sokolsky September 19, 2008.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Page 1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Chapter 13 Embedded Systems
Component Symbols process Thread Auto-sized with text label Processor Memory System data Device bus Threadgroup subprogram.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
Chapter 11 Operating Systems
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
CprE 458/558: Real-Time Systems
Chapter 10: Architectural Design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
What is Software Architecture?
Chapter 10 Architectural Design
Effective C# 50 Specific Way to Improve Your C# Item 50 Scott68.Chang.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
John D. McGregor Module 3 Session 2 AADL
Using AADL to Model a Protodol Stack Didier Delanote, Stefan Van Baelen, Wouter Joosen and Yolande Berbers Katholieke Universiteit Leuven.
CPSC 875 John D. McGregor C10 – Physical architecture.
1 AADL Architectural Analysis and Design Language Jason Mowry UW-Platteville Undergraduate Software Engineering.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
SIGAda, Atlanta, nov’05 1/20 Scheduling and Memory requirements analysis with AADL F. Singhoff, J. Legrand, L. Nana, L. Marcé University of Brest, France.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
TAL7011 – Lecture 4 UML for Architecture Modeling.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Processes Introduction to Operating Systems: Module 3.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
1 Dealing with AADL End-to-end Flow Latency in UML MARTE AOSTE INRIA/I3S Sophia Antipolis, France S-Y. Lee, F. Mallet, R. de Simone.
CPSC 871 John D. McGregor Module 3 Session 2 AADL.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Architecture Analysis and Design Language: An Overview Drew Gardner.
What is a Process ? A program in execution.
Unit 4: Processes, Threads & Deadlocks June 2012 Kaplan University 1.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
Big Picture Lab 4 Operating Systems C Andras Moritz
Real-time Software Design
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Threads, SMP, and Microkernels
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Chapter 9 Architectural Design.
Operating Systems : Overview
Operating Systems : Overview
Design Yaodong Bi.
Presentation transcript:

Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005

9/19/2005 Architecture modeling with AADL 2 of 40 Overview Background –Architecture description languages –Embedded and real-time systems AADL: ADL for embedded systems Analysis of embedded systems with AADL

9/19/2005 Architecture modeling with AADL 3 of 40 Architecture vs. behavior How it is constructed vs. what does it do? Traditionally, behavior was considered more important

9/19/2005 Architecture modeling with AADL 4 of 40 Software and hardware architectures Software architecture: –fundamental organization of a system, embodied in its components, –their relationships to each other and the environment, and –principles governing its design and evolution Hardware architecture: –Interfaces for attaching devices –Instruction set architecture

9/19/2005 Architecture modeling with AADL 5 of 40 Components, ports, and connections Components are boxes with interfaces Component interfaces described by ports: –Control –Data –Resources Connections establish control and data flows The nature of components may be abstracted –Hardware or software, or hybrid

9/19/2005 Architecture modeling with AADL 6 of 40 Software ADLs Wright –Connector-based: CSP connector semantics –Configuration and evolution support ACME –Interchange format: weak semantics or constraint enforcement, little analysis MetaH –Strong component semantics –Specification of non-functional properties

9/19/2005 Architecture modeling with AADL 7 of 40 Overview Background –Architecture description languages –Embedded and real-time systems AADL: ADL for real-time systems Analysis of embedded systems with AADL

9/19/2005 Architecture modeling with AADL 8 of 40 Embedded system architectures Both hardware and software aspects are important –Increasingly distributed and heterogeneous Tight resource and timing constraints Multimodal behaviors –Some components are active only in certain circumstances E.g., fault recovery Analysis is important

9/19/2005 Architecture modeling with AADL 9 of 40 Real-time systems The science of system development under resource and timing constraints –System is partitioned into a set of communicating tasks –Tasks communicate with sensors, other tasks, and actuators Impose precedence constraints s s s Task 1 Task 2 Task 3 Task 4 a a

9/19/2005 Architecture modeling with AADL 10 of 40 Task execution Tasks are invoked periodically or by events –Must complete by a deadline Tasks are mapped to processors Tasks compete for shared resources –Resource contention can violate timing constraints dormant runningpreempted blocked invoked invoke complete

9/19/2005 Architecture modeling with AADL 11 of 40 Real-time scheduling Processor scheduling –Task execution is preemptable –Tasks assigned to the same processor are selected according to priorities –Priorities are assigned to satisfy deadlines Static or dynamic Resource scheduling –Mutual exclusion Often non-preemptable –Correlated with processor scheduling

9/19/2005 Architecture modeling with AADL 12 of 40 Overview Background –Architecture description languages –Embedded and real-time systems AADL: ADL for real-time systems Analysis of embedded systems with AADL

9/19/2005 Architecture modeling with AADL 13 of 40 AADL highlights Architecture Analysis and Design Language Oriented towards modeling embedded and real- time systems –Hardware and software components –Control, data, and access connections Formal execution semantics in terms of hybrid automata SAE standard AS-5506

9/19/2005 Architecture modeling with AADL 14 of 40 Platform components Processor Memory Bus Device AADL components Software components Thread Thread group Data Subprogram Process System components System process System data device bus processor memory thread group subroutine thread

9/19/2005 Architecture modeling with AADL 15 of 40 Component interfaces (types) Features –Points for external connections E.g., data ports Flows –End-to-end internal connections Properties –Attributes useful for analysis

9/19/2005 Architecture modeling with AADL 16 of 40 Component implementations Internal structure of the component –Subcomponents are type references –Connections conform with flows in the type –External features conform with the type –Internal features conform with subcomponent types

9/19/2005 Architecture modeling with AADL 17 of 40 Features and connections Communication –Ports and port groups –Port connections Resource access –Required and provided access –Access connections Control –Subprogram features –Parameter connections

9/19/2005 Architecture modeling with AADL 18 of 40 Ports and port groups Ports are typed –Data component types Ports are directional –Input, output, or bi-directional Synchronous or asynchronous communication –Event, data, or event data ports Input event and event data ports have queues Input data ports have status flags for new data

9/19/2005 Architecture modeling with AADL 19 of 40 Data components Data component types represent data types Data component type can have subprogram features that represent access methods Data component implementations can have data subcomponents that represent internal data of an object Data component types can also be used as types of data ports and connections

9/19/2005 Architecture modeling with AADL 20 of 40 Thread components Thread represents a sequential flow of control –Can have only data as subcomponents Threads are executable components –Execution goes through a number of states Active or inactive –Behaviors are specified by hybrid automata

9/19/2005 Architecture modeling with AADL 21 of 40 Suspended Initialized Thread Inactive Uninitialized Thread Active DeactivateComplete: ActiveIn NewMode: Terminate: Terminated Thread Dispatch: Complete: Fault: Recovered: InitializeComplete: ActiveInInitMode: InactiveInInitMode: InactiveInNewMode: ActivateComplete: FinalizeComplete: Thread State with Source Code Execution Initialize Activate Deactivate Finalize Compute Recover Thread State Repaired: Active Member of current mode Inactive Not member of current mode Thread states

9/19/2005 Architecture modeling with AADL 22 of 40 Thread Hybrid Automata

9/19/2005 Architecture modeling with AADL 23 of 40 Thread properties Dispatch protocol –periodic, aperiodic, sporadic, or background Period –For periodic and sporadic threads Execution time range and deadline –for all execution states separately (initialize, compute, activate, etc.)

9/19/2005 Architecture modeling with AADL 24 of 40 Periodic threads are dispatched periodically –Event arrivals are queued Non-periodic threads are dispatched by incoming events Pre-declared ports –Event in port Dispatch If connected, all other events are queued –Event out port Complete Can implement precedence T2T1 Thread dispatch Complete Dispatch 100ms

9/19/2005 Architecture modeling with AADL 25 of 40 Subprograms Data subprograms are features of data components Server subprograms are features of threads Represent entry points in executable code No static data –External data access through parameter and access connections Data subprograms are called within a process Server subprograms are called remotely

9/19/2005 Architecture modeling with AADL 26 of 40 Other software components Process –Represents virtual address space –Provides memory protection Thread group –Organization of threads within a process –Can be recursive Subprogram –Represents entry points in executable code –Calls can be local or remote

9/19/2005 Architecture modeling with AADL 27 of 40 Platform components Processor –Abstraction of scheduling and execution –May contain memory subcomponents –Scheduling protocol, context switch times Memory –Size, memory protocol, access times Bus –Latency, bandwidth, message size

9/19/2005 Architecture modeling with AADL 28 of 40 Port connections revisited Event connections support n-n connectivity Data connection support 1-n connectivity –One incoming, multiple outgoing

9/19/2005 Architecture modeling with AADL 29 of 40 Port connections revisited Semantic port connection –Ultimate source to ultimate destination Thread, processor, or device Type checking of connections –Directions and types must match

9/19/2005 Architecture modeling with AADL 30 of 40 Immediate and delayed connections Data connections between periodic threads T1T2 10ms T1T2 10ms T2 T1 T2 T1

9/19/2005 Architecture modeling with AADL 31 of 40 Component bindings Software components are bound to platform components Binding mechanism: –Properties specify allowed and actual bindings Allows for exploration of design alternatives data memory thread processor bus

9/19/2005 Architecture modeling with AADL 32 of 40 Putting it all together: systems Hierarchical collection of components memory processor bus

9/19/2005 Architecture modeling with AADL 33 of 40 Putting it all together: systems A different perspective on the same system memory processor bus

9/19/2005 Architecture modeling with AADL 34 of 40 Modes Mode: Subset of components, connections, etc. Modes represent alternative configurations Compute Estimate fault recover Nominal Degraded recoverfault

9/19/2005 Architecture modeling with AADL 35 of 40 Mode Switch Mode switch can be the ultimate source of an event connection Switch effects: –Activate and deactivate threads –Reroute connections Switch can also be local to a thread –Change thread parameters Switch takes time: –Threads need to be in a legal state –Activation and deactivation take time

9/19/2005 Architecture modeling with AADL 36 of 40 Overview Background –Architecture description languages –Embedded and real-time systems AADL: ADL for real-time systems Analysis of embedded systems with AADL

9/19/2005 Architecture modeling with AADL 37 of 40 Static architectural analysis Type checking –Types of connected ports –Allowed bindings –Do all connections have ultimate sources and destinations Constraint checking –Does the size of a memory component exceed the sizes of data components bound to it?

9/19/2005 Architecture modeling with AADL 38 of 40 Dynamic architectural analysis Relies on thread semantics Processor scheduling processor T1 Scheduling_protocol => RM Period => 100ms Compute_Deadline => 100ms Compute_Execution_Time => [2ms,7ms] T2 T3 Period => 35ms Compute_Deadline => 35ms Compute_Execution_Time => [1ms,5ms] Period => 20ms Compute_Deadline => 20ms Compute_Execution_Time => [200us,500us] RMA tool

9/19/2005 Architecture modeling with AADL 39 of 40 Dynamic architectural analysis Advanced processor scheduling processor T1 T2 T3 Scheduling_protocol => Slack_Server 10ms State space exploration

9/19/2005 Architecture modeling with AADL 40 of 40 Summary Architectural modeling and analysis –aids in design space exploration –records design choices –enforces architectural constraints AADL –Targets embedded systems –Builds on well-established theory of RTS –As a standard, encourages tool development