Abstract | ||
---|---|---|
Programs that process streams of information are commonly built by assembling reusable information-flow components. In some systems the components must be chosen from a pre-defined set of primitives; in others the programmer can create new custom components using a general-purpose programming language. Neither approach is ideal: restricting programmers to a set of primitive components limits the expressivity of the system, while allowing programmers to define new components in a general-purpose language makes it difficult or impossible to reason about the composite system. We advocate defining information-flow components in a domain-specific language (DSL) that enables us to infer the properties of the components and of the composed system; this provides us with a good compromise between analysability and expressivity. This paper presents DirectFlow, which comprises a DSL, a compiler and a runtime system. The language allows programmers to define objects that implement information-flow components without specifying how messages are sent and received. The compiler generates Java classes by inferring the message sends and methods, while the run-time library constructs information-flow networks by composition of DSL-defined components with standard components. |
Year | DOI | Venue |
---|---|---|
2007 | 10.1007/978-3-540-73589-2_15 | ECOOP |
Keywords | Field | DocType |
new custom component,general-purpose language,composite system,information-flow system,new component,general-purpose programming language,runtime system,reusable information-flow component,information-flow network,domain-specific language,information-flow component,information flow,programming language,domain specific language | Dynamic compilation,Programming language,Computer science,Compiler,Theoretical computer science,Very high-level programming language,High-level programming language,First-generation programming language,Low-level programming language,Programming language implementation,Language primitive | Conference |
Volume | ISSN | ISBN |
4609 | 0302-9743 | 3-540-73588-7 |
Citations | PageRank | References |
6 | 0.57 | 13 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Chuan-Kai Lin | 1 | 183 | 13.84 |
Andrew P. Black | 2 | 1566 | 366.84 |