Domain-specific languages (DSLs) need semantics. For an external, executable, metamodel-based DSL, this can be done in an operational or a translational way. In my dissertation, I develop a framework that allows both. It provides flexibility for semantics description in two axes: on the one axis, operational semantics is fixed and one can choose between different description languages (QVT, Java, Prolog, Abstract State Machines, and Scheme); on the other axis, Scheme is fixed and one can choose between operational and translational semantics. Using operational semantics, DSL program interpretation can be animated and debugged. Equivalence of operational semantics described with different languages can be tested by comparing execution traces.
An application for a reconfigurable virtual machine for wireless sensor networks consists of both bytecode and native code. Identifying the abstraction boundary between bytecode and native code has not been addressed systematically, yet. Up to now, a programmer has to specify the abstraction boundary manually without being able to judge his decision. We present a mathematical model for benchmarking the energy consumption of bytecode and native code. This model allows a founded specification of the abstraction boundary. In conjunction with an extended reconfigurable virtual machine architecture, it provides a flexible development method with less development effort than existing approaches.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.