Extensibility using DSLs
DSLs are languages specialized for a particular task
Each ISTORE DSL
- Encapsulates high-level semantics of one system behavior
- Allows declarative specification of
- Behavior of one aspect of the system (a “policy”)
- Interfaces to coordinated mechanisms that implement the policy
- Is compiled into an implementation that might coordinate several local and/or global base runtime system mechanisms
- May be implemented as background and/or foreground tasks
Analysis tools can potentially infer unspecified emergent system behaviors from the specifications
- e.g. what impact will a new redundancy policy have on transaction commit time
Extensions compiled together with local and global base mechanisms form the distributed runtime system