Why use DSLs?
Possible choices
- Each appliance designer writes runtime system from scratch
- Similar to exokernel operating systems
- All designers use single parameterized runtime system library
- Similar to tunable kernel parameters in modern OSs
- Designer writes high-level specification of system behavior
- DSL compiler automatically translates specification into runtime system extensions that coordinate base mechanisms
- Advantages include
- Programmability
- Performance
- Reliability, verifiability, safety
- Artificial diversity