eside: an integrated development environment for component-based embedded systems nicholas t....
Post on 21-Dec-2015
225 views
TRANSCRIPT
![Page 1: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/1.jpg)
ESIDE:ESIDE:An Integrated Development Environment forAn Integrated Development Environment for
Component-Based Embedded SystemsComponent-Based Embedded Systems
Nicholas T. Pilkington, Juncao Li, and Fei XieDepartment of Computer Science
Portland State University
![Page 2: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/2.jpg)
2
Agenda
1.1. Problems and Our ContributionProblems and Our Contribution
2. EADL Language as Basis of ESIDE
3. The ESIDE Environment
4. Case Study: the TinyOS Platform
5. Experiences with ESIDE
6. Future Work
![Page 3: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/3.jpg)
3
Problems of Co-Development
• The hardware/software boundary…The hardware/software boundary…– interface is often specified implicitly.– tradeoffs insufficiently exploited.
• Simulation and formal verification…Simulation and formal verification…– are left as a final step before deployment.– require separate tools and interfaces.
• Embedded system development…Embedded system development…– is done without explicit support for re-use– or re-used modules introduce high overhead
![Page 4: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/4.jpg)
4
Our Contribution
• The Embedded System IDE (ESIDE)The Embedded System IDE (ESIDE)– Based on the EADL language
– Provides a unified environment for…• Concurrent Hardware/Software Co-Development
• Co-Simulation, Co-Verification & Co-Synthesis
– Abstracts architecture from implementation
– Unifies development across all “platforms”
• Experiences with ESIDE Experiences with ESIDE – Remodel existing component-based embedded systems
– Education tool on component-based design in Advanced Software Engineering Course
![Page 5: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/5.jpg)
5
Agenda
1. Problems and Our Contribution
2.2. EADL Language as Basis of ESIDEEADL Language as Basis of ESIDE
3. The ESIDE Environment
4. Case Study: the TinyOS Platform
5. Experiences with ESIDE
6. Future Work
![Page 6: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/6.jpg)
6
Embedded Architecture Description Language (EADL)
• Architecture-only specification– No runtime semantics
– Can be initialized to different embedded platforms
• Encourages re-use on multiple levels of abstraction– Ports, components, component templates, and patterns
• Formal properties specified at design-time
• E.g., initialization of EADL to a platform
SW Semantics(e.g., nesC)
Bridge Semantics(BSL)
HW Semantics(e.g., Verilog)
Embedded Architecture Description Language
![Page 7: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/7.jpg)
7
Overview of the Language Constructs
Entities Templates
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
![Page 8: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/8.jpg)
8
EADL - An Example
software component TimerC { interface { provides StdControl, TimerP as Timer; uses PowerManagement, Clock, IOH; mapping(Timer, TimerM.Timer); mapping(StdControl, TimerM.StdControl); mapping(PowerManagement,TimerM.PowerManagement); mapping(Clock, TimerM.Clock); mapping(IOH, TimerM.IOH); } configuration { component TimerM; component NoLeds; connection(NoLeds.Leds, TimerM.Leds); } properties { assertion ClockP1 s1: After_Eventually_(StdControl.init.call=TRUE, Clock.setRate.call=TRUE) } }
![Page 9: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/9.jpg)
9
Agenda
1. Problems and Our Contribution
2. EADL Language as Basis of ESIDE
3.3. The ESIDE EnvironmentThe ESIDE Environment
4. Case Study: the TinyOS Platform
5. Experiences with ESIDE
6. Future Work
![Page 10: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/10.jpg)
10
Main Features of ESIDE
• Platform-Based DevelopmentPlatform-Based Development– Choose your own native languages– Platform induces semantics into EADL architecture
• Component-Based Co-Design InterfaceComponent-Based Co-Design Interface– The central aspect of Co-Development– Simple, GUI-based drag ‘n drop interface
• Highly Accessible Simulation & VerificationHighly Accessible Simulation & Verification– Same interface for all development stages– Invoke at any time, on partial implementations
• One-Touch Native Language SynthesisOne-Touch Native Language Synthesis– Leverage native language tools to compile…– The tools are included in the platform package
![Page 11: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/11.jpg)
11
ESIDE Architecture and Features
![Page 12: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/12.jpg)
12
Platform-Based Development
• Platforms Provide…– Semantics
• Native Languages (HW, SW & Bridge)
– Native Tools• Co-Simulation Tools and Features• Co-Verification Tools and Features• Synthesizers from EADL to native languages
– A Platform Library of Reusable EADL Constructs• Ports, components, component templates, and architecture
patterns
![Page 13: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/13.jpg)
13
![Page 14: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/14.jpg)
14
Co-Design
• Re-thinking the HW/SW relationshipRe-thinking the HW/SW relationship– Do away with the old stack-based approach– Hybrid components join HW and SW
• Re-use is independent of the HW/SW boundary
– Bridge hides HW/SW communication details• Makes the HW/SW component interfaces explicit and
clear
• Component-Based DevelopmentComponent-Based Development– Interface functionality encapsulated by ports– Behavioral functionality by components– Common design trends captured by patterns
![Page 15: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/15.jpg)
15
Co-Simulation
• Co-Simulation is a view-based feature• Simulation is supported at TL or RTL levels• Native language tools run HW/SW simultaneously• Nature of the simulator is highly platform-dependent
![Page 16: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/16.jpg)
16
Co-Verification
• Properties are specified at design-time, not afterward • Verify at any time, even on partial implementations• CBD allows for property-based abstractions (efficiency)• Current system supports temporal-based assertions
![Page 17: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/17.jpg)
17
Agenda
1. Problems and Our Contribution
2. EADL Language as Basis of ESIDE
3. The ESIDE Environment
4.4. Case Study: the TinyOS PlatformCase Study: the TinyOS Platform
5. Experiences with ESIDE
6. Future Work
![Page 18: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/18.jpg)
18
The Platform Languages
• The nesC software languageThe nesC software language– Developed at UC Berkeley for TinyOS– Component-based specification language– No dynamic memory allocation– Intrinsic support for concurrency and atomicity
• The Verilog hardware languageThe Verilog hardware language– TinyOS is a software language only– We re-designed the Mica platform in Verilog
• The BSL bridge languageThe BSL bridge language– Developed by our team specifically for this platform– Explicitly describes the interface between HW&SW– Provides Transactors for transaction-level simulation– Compiles to C (nesC compatible) and Verilog code
![Page 19: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/19.jpg)
19
Simulation on the TinyOS Platform
![Page 20: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/20.jpg)
20
Agenda
1. Problems and Our Contribution
2. EADL Language as Basis of ESIDE
3. The ESIDE Environment
4. Case Study: the TinyOS Platform
5.5. Experiences with ESIDEExperiences with ESIDE
6. Future Work
![Page 21: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/21.jpg)
21
Experiences with ESIDE
• We remodeled 12 TinyOS-Based SystemsWe remodeled 12 TinyOS-Based Systems– Faithfully preserved the HW/SW stack architecture– Converted the code base with very little modification
• Encapsulation of components• Componentized HW/SW interfaces• One-to-many port mappings
– Specified formal properties on the systems– Performed verification and simulation– Remodeled systems can be synthesized to TinyOS
deployable code
![Page 22: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/22.jpg)
22
Experiences with ESIDE (cont.)
• We gave ESIDE to students at PSUWe gave ESIDE to students at PSU– were from the Advanced Software Engineering Class – had no experience in embedded system design– had no experience in formal verification– were able to design complex and interesting systems
• A TinyOS networked sensor system (>50 components)• A smart home system (>30 components)
![Page 23: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/23.jpg)
23
Remodeling TinyOS Systems
# of components in Mica platform library 55 64
# of components in PC platform library 58 63
# of ports/interfaces in Mica platform library 30 49
# of ports/interfaces in PC platform library 29 46
# of components specific for each system 38 41
# of ports/interfaces specific for each system 8 10
# of hardware components developed N/A 12
# of bridge components developed N/A 2
![Page 24: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/24.jpg)
24
Simulating the TinyOS Systems
Co-Simulation Co-Verification
System RTL
(sec)
TL
(sec)
Time
(sec)
Memory
(MB)
SenseTask 1.887 0.004 22.34 1.644
SenseToLeds 1.587 0.003 27.02 3.765
SenseToRFM 6.837 0.008 52.61 3.806
CodeBlue 7.456 0.011 34.66 5.792
![Page 25: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/25.jpg)
25
Agenda
1. Problems and Our Contribution
2. EADL Language as Basis of ESIDE
3. The ESIDE Environment
4. Case Study: the TinyOS Platform
5. Experiences with ESIDE
6.6. Future WorkFuture Work
![Page 26: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/26.jpg)
26
Future Work
• Visual error trace playback featureVisual error trace playback feature– Simulation: Show the user what’s happening– Verification: Play back problematic execution
• Expressiveness of formal propertiesExpressiveness of formal properties– Include support for resource utilization, e.g.
• Expand the collection of platformsExpand the collection of platforms– Microsoft Invisible Computing Platform
![Page 27: ESIDE: An Integrated Development Environment for Component-Based Embedded Systems Nicholas T. Pilkington, Juncao Li, and Fei Xie Department of Computer](https://reader030.vdocument.in/reader030/viewer/2022032521/56649d565503460f94a34b0c/html5/thumbnails/27.jpg)
27
Questions?
http://web.cecs.pdx.edu/~xie/co-ver/co-ver-home.htm
Nicholas T. Pilkington ([email protected])Juncao Li ([email protected])
Dr. Fei Xie ([email protected])