9193828
Designware: Software Development by Refinement
Abstract This paper presents a mechanizable framework for software development by refinement. The framework is based on a category of higher-order specifications. The key idea is representing knowledge about programming concepts, such as algorithm design, datatype refinement, and expression simplification, by means of taxonomies of specifications and morphisms. The framework is partially implemented in the research systems Specware, Design-ware, and Planware. Specware provides basic support for composing specifications and refinements via colimit, and for generating code via logic morphisms. Specware is intended to be general-purpose and has found use in industrial settings. Designware extends Specware with taxonomies of software design theories and support for constructing refinements from them. Planware builds on Designware to provide highly automated support for requirements acquisition and synthesis of high-performance scheduling algorithms. The work reported here is the result of extended collaboration with my colleagues at Kestrel Institute. I would particularly like to acknowledge the contributions of David Espinosa, LiMei Gilham, Junbo Liu, Dusko Pavlovic, and Stephen Westfold. This research has been partially supported by the US Air Force Research Lab, Rome NY, and by the Defense Advanced Research Projects Agency.
5281675
Algorithm Theories and Design Tactics
Abstract Algorithm theories represent the structure common to a class of algorithms, such as divide-and-conquer or backtrack. An algorithm theory for a class A provides the basis for design tactics—specialized methods for designing A -algorithms from formal problem specifications. We illustrate this approach with recent work on the theory of global search algorithms and briefly mention several others. Several design tactics have been implemented in the kids / cypress system and have been used to semiautomatically derive many algorithms.
12681881
Synthesis of Constraint Algorithms
7947888
Constructing Specification Morphisms
Specification morphisms underlie the refinement of algebraic specifications and provide the logical foundations for algorithm and data structure design. We present four techniques for formally, even mechanically, constructing specification morphisms. The first two techniques, verifying a manually constructed signature morphism and composition of specification morphisms are well-known. The remaining two techniques exploit the axioms of the source specification to help infer the translation of sort and function symbols from the source specification. The third, unskolemization, finds the translation of a function symbol by replacing occurrences of it in an axiom by an existentially quantified variable. A constructive proof of the translated axiom yields a witness to the existential that serves as the desired translation of the function symbol. The fourth technique, connections between specifications, allows the transfer of structure from one specification morphism to another. The unskolemization and connection techniques arose as abstractions from the algorithm design tactics implemented in the KIDS program transformation system (Smith (1990)). They suggest a more general approach to providing mechanized support for applying design knowledge expressed axiomatically.
206511487
Composition and refinement of behavioral specifications
This paper presents a mechanizable framework for specifying, developing, and reasoning about complex systems. The framework combines features from algebraic specifications, abstract state machines, and refinement calculus, all couched in a categorical setting. In particular, we show how to extend algebraic specifications to evolving specifications (especs) in such a way that composition and refinement operations extend to capture the dynamics of evolving, adaptive, and self-adaptive software development, while remaining efficiently computable. The framework is partially implemented in the Epoxi system.
44957593
Toward a Classification Approach to Design
This paper addresses the problem of how to construct refinements of specifications formally and incrementally. The key idea is to use a taxonomy of abstract design concepts, each represented by a design theory An abstract design concept is applied by constructing a specification morphism from its design theory to a requirement specification. Procedures for propagating constraints, computing colimits, and constructing specification morphisms provide computational support for this approach. Although we conjecture that classification generally applies to the incremental application of knowledge represented in a taxonomy of design theories, this paper mainly focuses on algorithm design theories and presents several examples of design by classification.
1180538
mSpace mobile: a UI gestalt to support on-the-go info-interaction
mSpace Mobile Interaction presents a UI gestalt of 7 techniques for mobile/on-the-move information retrieval and assessment that enables multiple views of the information within a persistent focus+context viewer. It uses the web but breaks the web page paradigm to support effective rapid triage.
15706733
Integrating harvesting into digital library content
The Open Archives Initiative has gained success by aiming between complex federation schemes and low functionality web crawling. Much information still remains hidden inside documents catalogued by OAI metadata. We discuss how subdocument information can be exposed by data providers and exploited by service providers. We discuss services for citation reversal and name and term linking with harvested data in the Perseus Project's document management system and a proxy service for automatically adding these links to OAI documents outside Perseus.
7534908
Building a hypertextual digital library in the humanities: a case study on London
This paper describes the creation of a new humanities digital library collection: 11,000,000 words and 10,000 images representing books, images and maps on pre-twentieth century London and its environs. The London collection contained far more dense and precise information than the materials from the Greco-Roman world on which we had previously concentrated. The London collection thus allowed us to explore new problems of data structure, manipulation, and visualization. This paper contrasts our model for how humanities digital libraries are best used with the assumptions that underlie many academic digital libraries on the one hand and more literary hypertexts on the other. Since encoding guidelines such as those from the TEI provide collection designers with far more options than any one project can realize, this paper describes what structures we used to organize the collection and why. We particularly emphasize the importance of mining historical authority lists (encyclopedias, gazetteers, etc.) and then generating automatic span-to-span links within the collection.
2029665
Minimum Risk Annealing for Training Log-Linear Models
When training the parameters for a natural language system, one would prefer to minimize 1-best loss (error) on an evaluation set. Since the error surface for many natural language problems is piecewise constant and riddled with local minima, many systems instead optimize log-likelihood, which is conveniently differentiable and convex. We propose training instead to minimize the expected loss, or risk. We define this expectation using a probability distribution over hypotheses that we gradually sharpen (anneal) to focus on the 1-best hypothesis. Besides the linear loss functions used in previous work, we also describe techniques for optimizing nonlinear functions such as precision or the BLEU metric. We present experiments training log-linear combinations of models for dependency parsing and for machine translation. In machine translation, annealed minimum risk training achieves significant improvements in BLEU over standard minimum error training. We also show improvements in labeled dependency parsing.
12947717
The evolving mSpace platform: leveraging the semantic web on the trail of the memex
Vannevar Bush proposed the memex as a means to support building knowledge in the way he says the human brain works: by association. Achieving this vision has been a core motivation for hypertext research. In this paper, we suggest first that Bush's memex reflects an interaction paradigm rather than system design. Second, we propose that Semantic Web promises to provide the mechanisms to enable these interaction requirements. Third, we propose the mSpace framework and architecture as a platform to deploy lightweight Semantic Web applications which foreground associative interaction. We propose this lightweight approach as a means to evaluate both interaction needs and the cost/benefits of using Semantic Web technologies to support them.