12592016
Comprehension by Derivation
We argue that to comprehend a software system is to have a handle on its requirements, specifications, and design decisions. These kinds of information support the reuse of system code for a variety of purposes and support its ongoing extension, migration, and evolution. Our work at Kestrel Institute has focused on ways to mechanize the development and evolution of software from formal specifications. By-products of such a process include formal records of design decisions and proofs, as well as executable code. In this approach, reuse can take place at non-code levels, including domain theories, specifications, and design knowledge. Evolution takes place by modifying requirements, specifications, or design decisions, and then reusing previous design structures. When restricted to particular application domains, the generation of correct-by-construction code from specifications can be completely automatic.
17878068
Guarded Transitions in Evolving Specifications
We represent state machines in the category of specifications, where assignment statements correspond exactly to interpretations between theories [7, 8]. However, the guards on an assignment require a special construction. In this paper we raise guards to the same level as assignments by treating each as a distinct category over a shared set of objects. A guarded assignment is represented as a pair of arrows, a guard arrow and an assignment arrow. We give a general construction for combining arrows over a factorization system, and show its specialization to the category of specifications. This construction allows us to define the fine structure of state machine morphisms with respect to guards. Guards define the flow of control in a computation, and how they may be translated under refinement is central to the formal treatment of safety, liveness, concurrency, and determinism.
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.
12681881
Synthesis of Constraint Algorithms
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.
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.
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.
2813562
Context-Based Morphological Disambiguation with Random Fields
Finite-state approaches have been highly successful at describing the morphological processes of many languages. Such approaches have largely focused on modeling the phone- or character-level processes that generate candidate lexical types, rather than tokens in context. For the full analysis of words in context, disambiguation is also required (Hakkani-Tur et al., 2000; Hajic et al., 2001). In this paper, we apply a novel source-channel model to the problem of morphological disambiguation (segmentation into morphemes, lemmatization, and POS tagging) for concatenative, templatic, and inflectional languages. The channel model exploits an existing morphological dictionary, constraining each word's analysis to be linguistically valid. The source model is a factored, conditionally-estimated random field (Lafferty et al., 2001) that learns to disambiguate the full sentence by modeling local contexts. Compared with baseline state-of-the-art methods, our method achieves statistically significant error rate reductions on Korean, Arabic, and Czech, for various training set sizes and accuracy measures.
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.
17019446
A two-echelon inventory model with lost sales
Abstract This paper considers a single-item, two-echelon, continuous-review inventory model. A number of retailers have their stock replenished from a central warehouse. The warehouse in turn replenishes stock from an external supplier. The demand processes on the retailers are independent Poisson. Demand not met at a retailer is lost. The order quantity from each retailer on the warehouse and from the warehouse on the supplier takes the same fixed value Q , an exogenous variable determined by packaging and handling constraints. Retailer i follows a ( Q ,  R i ) control policy. The warehouse operates an ( SQ , ( S  − 1) Q ) policy, with non-negative integer S . If the warehouse is in stock then the lead time for retailer i is the fixed transportation time L i from the warehouse to that retailer. Otherwise retailer orders are met, after a delay, on a first-come first-served basis. The lead time on a warehouse order is fixed. Two further assumptions are made: that each retailer may only have one order outstanding at any time and that the transportation time from the warehouse to a retailer is not less than the warehouse lead time. The performance measures of interest are the average total stock in the system and the fraction of demand met in the retailers. Procedures for determining these performance measures and optimising the behaviour of the system are developed.
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.