Results 11 - 20
of
21
Recovering Data Models Via Guarded Dependences
"... This paper presents an algorithm for reverse engineering semantically sound object-oriented data models from programs written in weakly-typed languages like Cobol. Our inference is based on a novel form of guarded transitive data dependence, and improves upon prior semantics-based model inference al ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This paper presents an algorithm for reverse engineering semantically sound object-oriented data models from programs written in weakly-typed languages like Cobol. Our inference is based on a novel form of guarded transitive data dependence, and improves upon prior semantics-based model inference algorithms by producing simpler, easier to understand, models, and by inferring them more efficiently. 1
A Context-free Markup Language for Semi-structured Text
"... An ad hoc data format is any non-standard, semi-structured data format for which robust data processing tools are not available. In this paper, we present ANNE, a new kind of mark-up language designed to help users generate documentation and data processing tools for ad hoc text data. More specifica ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
An ad hoc data format is any non-standard, semi-structured data format for which robust data processing tools are not available. In this paper, we present ANNE, a new kind of mark-up language designed to help users generate documentation and data processing tools for ad hoc text data. More specifically, given a new ad hoc data source, an ANNE programmer will edit the document to add a number of simple annotations, which serve to specify its syntactic structure. Annotations include elements that specify constants, optional data, alternatives, enumerations, sequences, tabular data, and recursive patterns. The ANNE system uses a combination of user annotations and the raw data itself to extract a context-free grammar from the document. This context-free grammar can then be used to parse the data and transform it into an XML parse tree, which may be viewed through a browser for analysis or debugging purposes. In addition, the ANNE system will generate a PADS/ML description [21], which may be saved as lasting documentation of the data format or compiled into a host of useful data processing tools ranging from parsers, printers and traversal libraries to format translators and query engines. Overall, ANNE simplifies the process of generating descriptions for data formats and improves the productivity of programmers who work with ad hoc data regularly. In addition to designing and implementing ANNE, we have devised a semantic theory for the core elements of the language. This semantic theory describes the editing process, which translates a raw, unannotated text document into an annotated document, and the grammar extraction process, which generates a context-free grammar from an annotated document. We also present an alternative characterization of system behavior by drawing upon ideas from the field of relevance logic. This secondary characterization, which we call relevance analysis, specifies a direct relationship between unannotated documents and the context-free grammars that our system can generate from them. Relevance analysis allows us to prove a number of important theorems concerning the expressiveness and utility of our system. 1.
PADS: an end-to-end system for processing ad hoc data
- In SIGMOD Conference
, 2006
"... Although enormous amounts of data exist in “well-behaved ” formats such as relational tables and XML, massive amounts also exist in non-standard or ad hoc data formats. Ad hoc formats arise in diverse domains such as telecommunications, bioinformations, ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Although enormous amounts of data exist in “well-behaved ” formats such as relational tables and XML, massive amounts also exist in non-standard or ad hoc data formats. Ad hoc formats arise in diverse domains such as telecommunications, bioinformations,
Functional Pearl: Every Bit Counts
"... We show how the binary encoding and decoding of typed data and typed programs can be understood, programmed, and verified with the help of question-answer games. The encoding of a value is determined by the yes/no answers to a sequence of questions about that value; conversely, decoding is the inter ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We show how the binary encoding and decoding of typed data and typed programs can be understood, programmed, and verified with the help of question-answer games. The encoding of a value is determined by the yes/no answers to a sequence of questions about that value; conversely, decoding is the interpretation of binary data as answers to the same question scheme. We introduce a general framework for writing and verifying gamebased codecs. We present games for structured, recursive, polymorphic, and indexed types, building up to a representation of well-typed terms in the simply-typed λ-calculus. The framework makes novel use of isomorphisms between types in the definition of games. The definition of isomorphisms together with additional simple properties make it easy to prove that codecs derived from games never encode two distinct values using the same code, never decode two codes to the same value, and interpret any bit sequence as a valid code for a value or as a prefix of a valid code.
Domain-Specific Languages for Digital Forensics Jeroen
"... Abstract. Due to strict deadlines, custom requirements for nearly every case and the scale of digital forensic investigations, forensic software needs to be extremely flexible. There is a clear separation between different types of knowledge in the domain, making domain-specific languages (DSLs) a p ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Due to strict deadlines, custom requirements for nearly every case and the scale of digital forensic investigations, forensic software needs to be extremely flexible. There is a clear separation between different types of knowledge in the domain, making domain-specific languages (DSLs) a possible solution for these applications. To determine their effectiveness, DSL-based systems must be implemented and compared to the original systems. Furthermore, existing systems must be migrated to these DSL-based systems to preserve the knowledge that has been encoded in them over the years. Finally, a cost analysis must be made to determine whether these DSL-based systems are a good investment. 1
LAUNCHPADS: A System for Processing Ad Hoc Data
"... An Introduction to PADS. Ideally, any data we ever encounter will be presented to us in standardized formats, such as XML. Why? Because for formats like XML, there are a whole host of software libraries, query engines, visualization tools and even programming languages specially designed to help use ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
An Introduction to PADS. Ideally, any data we ever encounter will be presented to us in standardized formats, such as XML. Why? Because for formats like XML, there are a whole host of software libraries, query engines, visualization tools and even programming languages specially designed to help users process
Abstract PADS/ML: A Functional Data Description Language
"... Massive amounts of useful data are stored and processed in ad hoc formats for which common tools like parsers, printers, query engines and format converters are not readily available. In this paper, we explain the design and implementation of PADS/ML, a new language and system that facilitates the g ..."
Abstract
- Add to MetaCart
Massive amounts of useful data are stored and processed in ad hoc formats for which common tools like parsers, printers, query engines and format converters are not readily available. In this paper, we explain the design and implementation of PADS/ML, a new language and system that facilitates the generation of data processing tools for ad hoc formats. The PADS/ML design includes features such as dependent, polymorphic and recursive datatypes, which allow programmers to describe the syntax and semantics of ad hoc data in a concise, easy-to-read notation. The PADS/ML implementation compiles these descriptions into ML structures and functors that include types for parsed data, functions for parsing and printing, and auxiliary support for user-specified, format-dependent and format-independent tool generation.
IPS: Implementation of Protocol Stacks for Embedded Systems
"... In both research and business enterprises dealing with sensor networks, the implementation of communication protocol stacks is a central issue. It has an impact on time-tomarket, scalability, maintainability and on the possibility of making fair comparisons. Network software, in particular for small ..."
Abstract
- Add to MetaCart
In both research and business enterprises dealing with sensor networks, the implementation of communication protocol stacks is a central issue. It has an impact on time-tomarket, scalability, maintainability and on the possibility of making fair comparisons. Network software, in particular for small embedded systems with strict non-functional requirements, is complex, error-prone and with many possible bottlenecks. Our work addresses these issues using a language based approach. It aims at a programming language supporting abstractions suitable for the implementation of protocol stacks. Language technology in the form of runtime system, type system and compiler transformations can then be used to generate efficient implementations. 1.
2009 29th IEEE International Conference on Distributed Computing Systems Workshops Domain Specific Languages (DSLs) for Network Protocols (Position Paper)
"... Next generation network architectures will benefit from the many years of practical experience that have been gained in designing, using and operating network protocols. Over time, the networking community has gradually improved its understanding of networked systems in terms of architecture, design ..."
Abstract
- Add to MetaCart
Next generation network architectures will benefit from the many years of practical experience that have been gained in designing, using and operating network protocols. Over time, the networking community has gradually improved its understanding of networked systems in terms of architecture, design, engineering and testing. However, as protocols and networked systems become more complex, it is our contention that it will be necessary for programming techniques to evolve similarly so that they better support the design, implementation and testing of both the functional and the non-functional requirements for the network protocols that will be used. We therefore envisage new levels of programming language support that permit: (a) the design and implementation of new protocols with provably correct construction; (b) inline testing; and (c) the expression of protocol behaviour within the design. Based on our ongoing work with both network protocols and programming language design, we believe that exploiting the capabilities of recent work in Domain Specific Languages (DSLs) will allow us to meet such requirements, allowing straightforward and “correctby-construction” design and implementation of next generation network protocols. 1.
Algorithms, Human Factors
"... We describe the design of a string programming/expression language that supports restricted forms of regular expressions, conditionals and loops. The language is expressive enough to represent a wide variety of string manipulation tasks that end-users struggle with. We describe an algorithm based on ..."
Abstract
- Add to MetaCart
We describe the design of a string programming/expression language that supports restricted forms of regular expressions, conditionals and loops. The language is expressive enough to represent a wide variety of string manipulation tasks that end-users struggle with. We describe an algorithm based on several novel concepts for synthesizing a desired program in this language from input-output examples. The synthesis algorithm is very efficient taking a fraction of a second for various benchmark examples. The synthesis algorithm is interactive and has several desirable features: it can rank multiple solutions and has fast convergence, it can detect noise in the user input, and it supports an active interaction model wherein the user is prompted to provide outputs on inputs that may have multiple computational interpretations. The algorithm has been implemented as an interactive add-in for Microsoft Excel spreadsheet system. The prototype tool has met the golden test- it has synthesized part of itself, and has been used to solve problems beyond authors ’ imagination.

