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.
16901228
Planware-domain-specific synthesis of high-performance schedulers
Planware is a domain-specific generator of high-performance scheduling software, currently being developed at the Kestrel Institute. Architecturally, Planware is an extension of the Specware system with domain-independent and domain-dependent parts. The domain-independent part includes a general algorithm design facility (including mechanisms to synthesize global-search and constraint propagation algorithms), as well as support for theorem-proving and witness finding. The domain-dependent part includes scheduling domain knowledge and architecture representations, and other domain-specific refinement knowledge that relates the scheduling domain to general algorithm design and data type refinement. Using Planware, the user interactively specifies a problem and then the system automatically generates a formal specification and refines it.
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.
7140389
Overcoming Ontology Mismatches in Transactions with Self-Describing Service Agents
One vision of the "Semantic Web" of the future is that software agents will interact with each other using formal metadata that reveal their interfaces. We examine one plausible paradigm, where agents provide service descriptions that tell how they can be used to accomplish other agents' goals. From the point of view of these other agents, the problem of deciphering a service description is quite similar to the standard AI planning problem, with some interesting twists. Two such twists are the possibility of having to reconcile contradictory ontologies -- or conceptual frameworks -- used by the agent, and having to rearrange the data structures of a message-sending agent so they match the expectations of the recipient. We argue that the former problem requires human intervention and maintenance, but that the latter can be fully automated.
26840234
Software Development by Refinement
This paper presents an overview of the technical foundations and current directions of Kestrel’s approach to mechanizing software development. The approach emphasizes machine-supported refinement of property-oriented specifications to code, based on a category of higher-order specifications. A key idea is representing knowledge about programming concepts, such as algorithm design, and datatype refinement by means of taxonomies of abstract design theories and refinements. Concrete refinements are generated by composing library refinements with a specification.
8267445
Explaining design plans
The paper describes a methodology for generating quality explanations from design plans. In selecting items of information for inclusion in an explanation, the methodology considers the rationales behind the strategic knowledge and object-level knowledge specified in a design plan. Rhetorical structure theory and discourse focus tracking are utilised to determine textual structure, and to maintain discourse coherence and cohesion. Using a simple system of user modelling, it is shown how the methodology flexibly includes consideration of a user's knowledge, thus resulting in more focused and convincing explanations. The methodology is used to investigate follow-up explanations, and the generation of explanations from plans which contain a misconception on the part of the designer.
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.
16933924
Using architecture evaluation to prepare a large Web based system for evolution
This paper describes an ongoing effort to develop architecture documentation and to evaluate the architecture using the Architecture Tradeoff Analysis Method/sup SM/ (ATAM/sup SM/). The system is a large Web based application using J2EE, portal and Web services technology that is replacing a large number of legacy applications. It has very detailed documentation at the design level, but is lacking overall architecture documentation. We describe how the architecture is being documented in an iterative manner, and how sample scenarios are being developed as input for an ATAM. The package of the documentation, scenarios and ATAM will fill in important gaps in existing knowledge, and it will provide an important baseline for the system's evolution.
11578326
Drudgery and deep thought
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.