Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language...

23
WISES 07 Specification for SystemC-AADL interoperability Eduardo de las Heras Palmero Microelectronic Engineering Group University of Cantabria

Transcript of Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language...

Page 1: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

WISES 07

Specification for SystemC-AADL interoperability

Eduardo de las Heras PalmeroMicroelectronic Engineering Group

University of Cantabria

Page 2: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

Outline

• Motivations• General Concepts

– AADL– SystemC– PERFidiX and SCope

• AADL-SystemC Design Flow• Mapping AADL to SystemC• Example

Page 3: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

Motivations

• System design issues:– Incomplete capture of specification–Need for design refinement and

validation– Impact of functional and non-

functional properties until the system integration •Timing properties •Software/Hardware co-design

Page 4: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Concepts

Architecture Analysis & Design Language

• Standard by the SEI, November 2004• Graphical and textual Language• Architecture and model based design• Precise syntax and semantics• Specification of Tasks and communications• Enable analysis and validation of constraints• Large-scale architectures in a single model• Incrementally refined• Analyze the system structure and runtime

behavior

Page 5: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Concepts

• AADL Basic elementsPIM

PM

Page 6: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

SystemC Concepts

• SystemC features–Standard platform for system design

(IEEE 1666) developed by the OSCI–C++ extension–Strict-time, event driven simulator–Hierarchical Design –Concurrent Execution Kernel

Page 7: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

SystemC Concepts

• SystemC Basic Elements

Page 8: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

SCope Concepts

• System Co-simulation and Performance Estimation in SystemC– Extension of PERFidiX library– Multi-processor SW source-code simulation

– OS Modelling

– POSIX

– Timed SW simulation

– Performance estimation of SW code

– Time & Power

Page 9: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

SCope Concepts

Memory

DevicesDevices

Proc. 1 Proc. nProc. 2

Application CodeTask n...Task 1

PERFidiXDrivers

POSIX APIPackages

Devices

Memory

Devices

Bus 1 Bus n

Memory

DevicesDevices

Proc. 1 Proc. nProc. 2

Application CodeTask n...Task 1

PERFidiXDrivers

POSIX APIPackages

Devices

Memory

Devices

Bus 1 Bus n

PIM

PM

Page 10: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL-SystemC Design Flow

AADL Application Model

AADL Execution Platform Model

Binding

AADL To SystemC translation

Platform independent

SystemC description

Configuration parameters

SystemC executable model

Simulation

Performance analysis

SCope

SystemC Platform model

AADL To Scope parameterstranslation

Page 11: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

ECLIPSEOSATE

Graphical editor Textual editor

AADL Model

XMIfile

XMIfile

SystemC integrator and generator

C/C++ Code

C/C++ Code

AADL to SystemC Framework

Configuration parameters

Performance analysis

SCope

Simulation

Refinement

HetSCHetSC SCVSCV

SC Hw description

SC Hw description

Page 12: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Semantics in SystemC

AADL SystemC

Thread: Schedulable unit of sequential source code.

• Properties

•Dispatch protocol

•Period

•Deadline

SC_THREAD: Is Called once when simulation Start.

• Properties

•Specific SC_THREAD implementation

•SC_TIME, wait ( SC_TIME)

•Assertions SCV

Page 13: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Semantics in SystemC

AADL SystemC

Process: space partitioning where protection is provided

SC_MODULE: principle structural building blocks of SystemC

Subprogram: sequentially executable source text

C++ function: called

from the SC_THREAD

Page 14: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Semantics in SystemC

AADL SystemC

Data: Enable manipulate data in concurrently in non-deterministic order. • Properties

• Concurrency_Control_Protocol

Channel: Enable communication between modules

•Properties•Semaphores, mutex, custom channels.

Page 15: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Semantics in SystemC

AADL SystemC

Processor: Abstraction of hardware and software responsible for scheduling and executing threads.

•Properties

• Process_Swap_Execution_time

• Thread_Swap_Execution_time

• Scheduling_Protocols

High level, POSIX simulation library and performance Analysis

SCope configuration parameters

POSIX scheduling_protocols

Page 16: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Semantics in SystemC

AADL SystemC

Memory: platform component that stores binary images.

Bus: platform component that can exchange control and data between modules.

• Properties

• Transmission time, propagation delay

System Co-simulation and Performance Estimation in SystemC

SCope configuration parameters

Page 17: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Semantics in SystemC

AADL SystemC

Event data portEvent portData port

Ports and Connections: Logical Connections to exchange control and data between threads.

Signal channel, ports, interface

FIFO channel ports, interface

Custom Channels, ports, interface

Devices: Execution platform component that interface with the exterior

SystemC description at various levels:

•TLM

•RTL

•Synthesis

Page 18: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

AADL Semantics in SystemC

AADL SystemC

Flows: support for various forms of flow analysis

•Flow source

•Flow path

•Flow sink

Corresponding access to subcomponents involve in the flow implementation

Random generation of tokens using SCV

Data recording for posterior analysis using SCV

Implementation of Write and read access method

Page 19: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

Example

system_example

Refinement

Page 20: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

Example

process_producer

thread_producer

Refinement

Page 21: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

Example

thread_producer

Refinement

Page 22: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

Conclusions

• SystemC allows modeling AADL – Different abstraction levels.– Refinement– Validation

• Specification for model transformation from AADL to SystemC

• Tool proposal for embedded system design

Page 23: Specification for SystemC-AADL interoperabilityAADL Concepts Architecture Analysis & Design Language • Standard by the SEI, November 2004 • Graphical and textual Language • Architecture

END

THANK YOU FOR YOUR ATTENTION

QUESTIONS ?