Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2001 Stephen A. Edwards All rights reserved Research Areas Stephen A. Edwards.

Similar presentations


Presentation on theme: "Copyright © 2001 Stephen A. Edwards All rights reserved Research Areas Stephen A. Edwards."— Presentation transcript:

1 Copyright © 2001 Stephen A. Edwards All rights reserved Research Areas Stephen A. Edwards

2 Copyright © 2001 Stephen A. Edwards All rights reserved Embedded Systems  Computers Masquerading as Something Else Casio Camera Watch Nokia 7110 Browser Phone Sony Playstation 2 Philips DVD player Philips TiVo Recorder

3 Copyright © 2001 Stephen A. Edwards All rights reserved Long-term Goal  Developing tools to speed the development of embedded systems

4 Copyright © 2001 Stephen A. Edwards All rights reserved Domain-Specific Languages  Little languages that fit the problem  More succinct description Quicker to create Easier to get right  More opportunities for optimization General-purpose languages hindered by undecidability Domain-specific languages much simpler M. C. Escher, Tower of Babel

5 Copyright © 2001 Stephen A. Edwards All rights reserved Real-time languages: Esterel  Synchronous language developed by Gerard Berry in France  Basic idea: use global clock for synchronization in software  Challenge: How to combine concurrency, synchronization, and instantaneous communication Big Ben

6 Copyright © 2001 Stephen A. Edwards All rights reserved Esterel every RESET do loop loop await A; await A; emit B; emit B; if C emit D; if C emit D; pause pause end end|| loop loop if B emit C; if B emit C; pause pause end endend Restart when RESET present Infinite loop Wait for next cycle with A present Same-cycle bidirectional communication Run concurrently

7 Copyright © 2001 Stephen A. Edwards All rights reserved Esterel  Previous work Compiler that gave 100x speedup on certain large programs Has limitations Owned by former employer  Current Projects New, open compiler infrastructure designed for future research Based on SUIF2 system

8 Copyright © 2001 Stephen A. Edwards All rights reserved Esterel Compilation Plans  Apply discrete-event simulation techniques  Apply Program Dependence Graph representation Concurrent representation used in optimizing compilers  Apply “localized partial interpretation” to expand parts of the system into finite-state machines  Techniques will point the way for other synchronous, concurrent languages

9 Copyright © 2001 Stephen A. Edwards All rights reserved Languages for Device Drivers  Device drivers are those pieces of software that you absolutely need that never seem to work  Tedious, difficult-to-write  Ever more important as systems incorporate customized hardware

10 Copyright © 2001 Stephen A. Edwards All rights reserved Best To Date  Thibault, Marlet, and Consel  IEEE Transactions Software Engineering, 1999  Developed the Graphics Adaptor Language for writing XFree86 video card drivers  Report GAL drivers are 1/9 th the size of their C counterparts  No performance penalty

11 Copyright © 2001 Stephen A. Edwards All rights reserved GAL S3 driver (fragment) chipsets S3_911, S3_924; What driver supports port svga index := 0x3d4; Write address, then data port misc := 0x3cc, 0x3c2; register ChipID := sva(0x30); Logical register serial begin Access sequence for register misc[3..2] <= (3,-, -, -, -) W; seq(0x12) (-, PLL1, -, -, -) R/W; end; identification begin Rules for identifying card 1: ChipID[7..4] => (0x8 => step 2, 0x 9 => S3_928); 2: ChipID[1..0] => (0x1 => S3_911, 0x2 => S3_924);

12 Copyright © 2001 Stephen A. Edwards All rights reserved Future work  Develop language for network card drivers under Linux  Study many existing implementations  Develop prototype language, compiler  Explore challenge of porting to other OSes  Apply lessons to other classes of drivers

13 Copyright © 2001 Stephen A. Edwards All rights reserved Languages for Communication Protocols  Many optimizations for implementing protocol code Fast-path optimization Collapsing layers  Tedious to implement manually  Tend to obfuscate code  Too high-level to be applied to, say, C code  Domain-specific language would allow these optimizations to be automated

14 Copyright © 2001 Stephen A. Edwards All rights reserved Summary  Applying domain-specific languages to solve problems in embedded system design  New Esterel infrastructure for real-time programming  Languages for device drivers: network interfaces  Languages for implementing communication protocols


Download ppt "Copyright © 2001 Stephen A. Edwards All rights reserved Research Areas Stephen A. Edwards."

Similar presentations


Ads by Google