Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER...
-
Upload
emery-wilcox -
Category
Documents
-
view
213 -
download
1
Transcript of Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER...
![Page 1: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/1.jpg)
mbeddr : AN EXTENSIBLE C-BASED PROGRAMMINGLANGUAGE AND IDE FOR EMBEDDED SYSTEMS
CISC 836
WINTER 2015
APOORV GOYAL
MENG, ECE DEPT
QUEEN’S UNIVERSITY
![Page 2: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/2.jpg)
PROBLEM ADDRESSED
• C legacy code
• Embedded systems use C
• Highly optimized low-level code in C
“C LACKS HIGH-LEVEL ABSTRACTION”
![Page 3: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/3.jpg)
CHALLENGES IN EMBEDDED SYSTEMS
• Strict functional requirements
• Strict operational requirements-
• Reliable
• Safety for life
• Efficiency
• Real time
![Page 4: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/4.jpg)
CURRENT APPROACHES FOR PROBLEM
• Modeling tools-
• Simulink, ASCET-SD
• DSL for embedded systems
![Page 5: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/5.jpg)
?MBEDDR?
• Built on top of JetBrains MPS language workbench
• C extension for embedded systems
• Tight integration between low-level C and high-level abstraction
• IDE support for C
![Page 6: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/6.jpg)
CHALLENGES CONSIDERED
• Low over-head abstractions
• Safety mechanism in C
• Annotations
• Verifications and checks
• Process support
![Page 7: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/7.jpg)
MBEDDR – LANGUAGE EXTENSION
![Page 8: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/8.jpg)
IMPLEMENTATION
• State machine
• Components
• Decision tables
• Safe modules
• Add Unit test
• Physical units
• Trace requirements
• Product line validation and support
![Page 9: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/9.jpg)
STATE MACHINE
![Page 10: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/10.jpg)
COMPONENTS
![Page 11: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/11.jpg)
DECISION TABLE
![Page 12: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/12.jpg)
UNIT TEST
![Page 13: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/13.jpg)
REQUIREMENT TRACEABILITY
![Page 14: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/14.jpg)
PHYSICAL UNITS
![Page 15: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/15.jpg)
IMPLEMENTATION EFFORT
• Total LOC < 10,000
• 4 man-months
• Requires proficiency in MPS(1 man-month effort)
![Page 16: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/16.jpg)
RELATED WORK
• DSLs
• Feldspar
• Hume
• C extensions
• By Palopoli
• By Boussinot
• By Yosi Ben-Asher
• Language and IDE extension
• Guy Steele’s OOPSLA
• Thrifts extension of Lisp
• Work of Hudak
![Page 17: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/17.jpg)
ONGOING WORK
• Debugger
• Real world Feasibility
• Industry usage and results
![Page 18: Mbeddr : AN EXTENSIBLE C-BASED PROGRAMMING LANGUAGE AND IDE FOR EMBEDDED SYSTEMS CISC 836 WINTER 2015 APOORV GOYAL MENG, ECE DEPT QUEEN’S UNIVERSITY.](https://reader035.fdocuments.us/reader035/viewer/2022070409/56649e9e5503460f94b9f26d/html5/thumbnails/18.jpg)
THANKS