Embedded Architecture Description Language Qiang Liu School of Software, Tshinghua University Joint work with Juncao Li, Nick Pilkington, and Fei Xie Dept.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
44 nd DAC, June 4-8, 2007 Processor External Interrupt Verification Tool (PEVT) Fu-Ching Yang, Wen-Kai Huang and Ing-Jer Huang Dept. of Computer Science.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
GALAXY Project Final project review IHP, February 4th 2011 Tools Demonstration Dr Lilian Janin, Dr Doug Edwards - University of Manchester.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Component-Based Abstraction and Refinement Juncao Li 1, Xiuli Sun 2, Fei Xie 1, and Xiaoyu Song 2 1 Dept. of Computer Science 2 Dept. of ECE Portland State.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Component-Based Abstraction Juncao Li Dept. of Computer Science Portland State University.
Ritu Varma Roshanak Roshandel Manu Prasanna
ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer.
Object-Oriented Theories for Model Driven Architecture Tony Clark, King’s College, UK. Andy Evans, University of York, UK. Robert France, Colorado University,
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
1 System-Level Description Languages Andrew Mihal EE249 Fall 1999 Project Presentation 4 December 1999.
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Role of Standards in TLM driven D&V Methodology
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Automated Design of Custom Architecture Tulika Mitra
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
System Design with CoWare N2C - Overview. 2 Agenda q Overview –CoWare background and focus –Understanding current design flows –CoWare technology overview.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Hardware-software Interface Xiaofeng Fan
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.
1 IMEC / KHBO June 2004 Micro-electronics SystemC Dorine Gevaert.
Winter-Spring 2001Codesign of Embedded Systems1 Methodology for HW/SW Co-verification in SystemC Part of HW/SW Codesign of Embedded Systems Course (CE.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Formalizing Hardware/Software Interface Specifications
MODUS Project FP7- SME – , Eclipse Conference Toulouse, May 6 th 2013 Page 1 MODUS Project FP Methodology and Supporting Toolset Advancing.
1 Embedded Computer System Laboratory Systematic Embedded Software Gerneration from SystemC.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
1 Hardware/Software Co-Design Final Project Emulation on Distributed Simulation Co-Verification System 陳少傑 教授 R 黃鼎鈞 R 尤建智 R 林語亭.
Design Flow: HW vs. SW Yilin Huang Overview Software: features and flexibility Hardware: performance Designs have different focuses.
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
Architecture Analysis and Design Language: An Overview Drew Gardner.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
ISCUG Keynote May 2008 Acknowledgements to the TI-Nokia ESL forum (held Jan 2007) and to James Aldis, TI and OSCI TLM WG Chair 1 SystemC: Untapped Value.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Review of last class Software Engineering Modeling Problem Solving
Software Design Methodology
Model-Driven Analysis Frameworks for Embedded Systems
Retargetable Model-Based Code Generation in Ptolemy II
Logical architecture refinement
Chapter 7 –Implementation Issues
Automated Analysis and Code Generation for Domain-Specific Models
Chapter 5 Architectural Design.
Presentation transcript:

Embedded Architecture Description Language Qiang Liu School of Software, Tshinghua University Joint work with Juncao Li, Nick Pilkington, and Fei Xie Dept. of Computer Science, Portland State Univ.

2 2 Agenda Problems Unified Component Model EADL EADL in Embedded System Dev. Conclusions and Future Work

3 Problems Lack of architectural specification support for co-design –Hardware (or software) only –HW and SW in the same language Little consideration of verification and verification reuse –Not considered when defining embedded system architectures –Very limited verification reuse

4 Our Contributions Embedded Architecture Description Language –Component-based architectures of both hardware and software –Flexible platform-oriented semantics instantiation –Design reuse and verification reuse Apply EADL to –Co-design –Co-verificaition –Co-simulation

5 5 Agenda Problems Unified Component Model EADL EADL in Embedded System Dev. Conclusions and Future Work

6 Unifying hardware and software component models Component = (Design, Interface, Properties) HW, SW, and bridge components –Different design and interface specification languages –Same property specification language Verified properties are associated with components Unified Component Model Software Component Software Component Software Component Bridge Component Bridge Component Hardware Component Hardware Component

7 Bridge Components: Filling Semantics Gap Dual interfaces: hardware and software Bridge design –Abstracts processor, bus model, and embedded OS –Maps between HW and SW events –Is fully synthesizable –Supports both co-simulation and co-verification Software Component Bridge Component Hardware Component Interactions follow software semantics Interactions follow hardware semantics

8 Transactional Bridge Spec Language Event mappings implemented by transactors interrupt ADC.INTR -> InterruptHPLADCC.IntrHPLADCC() 1; void outpadc (unsigned int val, unsigned int address) { ADC.PSEL=1; ADC.PADDR=address; ADC.PWDATA=val; (posedge ADC.PCLK); (posedge ADC.PCLK); ADC.PSEL=0; ADC.PENABLE=0; } unsigned int inpadc (unsigned int address){ ADC.PSEL=1; ADC.PADDR=address; (posedge ADC.PCLK); (posedge ADC.PCLK); ADC.PSEL=0; ADC.PENABLE=0; return ADC.PRDATA; } Transactor spec inherits from HW and SW languages C Verilog

9 9 Environment of C (Components interacting with C ) Component Property A property of a component C is a pair (p, A(p)) –p is a temporal assertion –A(p) is a set of assumptions on environment of C –p is verified assuming A(p) holds. C p A(p)  p holds on C A(p) Assumptions = Assumed Properties

10 Agenda Problems Unified Component Model EADL EADL in Embedded System Dev. Conclusions and Future Work

11 Component-based semantics overlay –Complete architectural semantics –Incomplete execution and interface semantics Platform-oriented instantiation –Platform provides HW, SW, and BSL semantics –EADL supplies architectural semantics SW Semantics (NesC) Bridge Semantics (BSL) HW Semantics (Verilog) Embedded Architecture Description Language Embedded Architecture Description Lang.

12 Key EADL Language Features EntitiesTemplates Port Service-oriented grouping of events Service provides-uses relationship Port Type Event co-relation similarity Component Unit of reuse Component interface based on ports Component Template Component external similarity Architecture Sub-components Sub-component inter-connections Architectural Pattern Component internal similarity

13 VisualEADL: Tool Support for EADL

14 An Architectural Pattern Example

15 Entities – PropertiesTemplates – Property Templates Port Service-oriented grouping of events Service provides-uses relationship Port-level properties Port Type Event co-relation similarity Port-level property templates Component Units of reuse Component interface based on ports Component-level properties Component Template Component external similarity Component-level property templates Architecture Sub-components Sub-component inter-connections Architecture-level properties Architectural Pattern Component internal similarity Architecture-level property templates Architecture-Aware Property Specification

16 Property Specification Tool Support

17 Agenda Problems Unified Component Model EADL EADL in Embedded System Dev. Conclusions and Future Work

18 Component-Based Co-Design Platform initialization (1)Analyze application domain (2)Define bridge spec. language (3)Identify architectural patterns (4)Identify reusable components (5)Verify components bottom-up Platform-oriented pattern-guided component-based co-design (1)Select architectural patterns (2)Partition system into comps. (3)Reuse components (4)Develop new components (5)Verify system top-down Platform extension (1)Identify new architectural patterns (2)Identify new reusable comps. (3)Create and verify larger reusable comps. bottom-up (4)Extend pattern and comp. libs A platform for embedded systems: Processors and buses Embedded OS HW, SW, and bridge spec. languages Library of reusable components Libraries of ports, component templates and architectural patterns

19 Embedded System IDE (ESIDE)

20 HDL Source Code NesC Source Code 20 Component-Based Co-Simulation SW Application Components Bridge Components (BSL) BSL Compiler SW Executable C Compiler C Code NesC Compiler SW Platform Components HW Application Components HW Platform Components Giano HW Executable HDL Compiler ModelSim PLI

21 Tool Support for Transactional BSL SW Components (NesC) Bridge Components (BSL) HW Components (Verilog) Configuration BSL Compiler SW Executable C Compiler C Code NesC Compiler HW Executable Verilog Compiler Verilog Code Pre-Processor For verification – Direct compilation to formal languages For simulation and deployment – Indirect compilation

22 Property formulation problems –What are the system properties to verify –What are the component properties needed –What are the environment assumptions Architecture-based property formulation and Reuse –Port –Component template –Architectural pattern Component-Based Co-Verification

23 3-Tier Architectural Reuse in Co-Design Component Port Properties from Port Port Visible Variables Component Template Properties from Component template Properties from Architectural pattern; Decomposition strategies Sub- Component Architectural Pattern Problem addressed: property formulation and decomposition

24 Co-Verification Tool Support

25 Agenda Problems Unified Component Model EADL EADL in Embedded System Dev. Conclusions and Future Work

26 Conclusions and Future Work Developed EADL –Component-based architectures of both hardware and software –Flexible platform-oriented semantics instantiation –Design reuse and verification reuse Demonstrated effectiveness in support to –Co-design, co-simulation and co-verification Future work –Other component properties rather than temporal correctness

27 Further Information Website: – Questions?