23,543 research outputs found
A bibliography on formal methods for system specification, design and validation
Literature on the specification, design, verification, testing, and evaluation of avionics systems was surveyed, providing 655 citations. Journal papers, conference papers, and technical reports are included. Manual and computer-based methods were employed. Keywords used in the online search are listed
On the engineering of crucial software
The various aspects of the conventional software development cycle are examined. This cycle was the basis of the augmented approach contained in the original grant proposal. This cycle was found inadequate for crucial software development, and the justification for this opinion is presented. Several possible enhancements to the conventional software cycle are discussed. Software fault tolerance, a possible enhancement of major importance, is discussed separately. Formal verification using mathematical proof is considered. Automatic programming is a radical alternative to the conventional cycle and is discussed. Recommendations for a comprehensive approach are presented, and various experiments which could be conducted in AIRLAB are described
Using Graph Transformations and Graph Abstractions for Software Verification
In this paper we describe our intended approach for the verification of software written in imperative programming languages. We base our approach on model checking of graph transition systems, where each state is a graph and the transitions are specified by graph transformation rules. We believe that graph transformation is a very suitable technique to model the execution semantics of languages with dynamic memory allocation. Furthermore, such representation allows us to investigate the use of graph abstractions, which can mitigate the combinatorial explosion inherent to model checking. In addition to presenting our planned approach, we reason about its feasibility, and, by providing a brief comparison to other existing methods, we highlight the benefits and drawbacks that are expected
Scather: programming with multi-party computation and MapReduce
We present a prototype of a distributed computational infrastructure, an associated high level programming language, and an underlying formal framework that allow multiple parties to leverage their own cloud-based computational resources (capable of supporting MapReduce [27] operations) in concert with multi-party computation (MPC) to execute statistical analysis algorithms that have privacy-preserving properties. Our architecture allows a data analyst unfamiliar with MPC to: (1) author an analysis algorithm that is agnostic with regard to data privacy policies, (2) to use an automated process to derive algorithm implementation variants that have different privacy and performance properties, and (3) to compile those implementation variants so that they can be deployed on an infrastructures that allows computations to take place locally within each participant’s MapReduce cluster as well as across all the participants’ clusters using an MPC protocol. We describe implementation details of the architecture, discuss and demonstrate how the formal framework enables the exploration of tradeoffs between the efficiency and privacy properties of an analysis algorithm, and present two example applications that illustrate how such an infrastructure can be utilized in practice.This work was supported in part by NSF Grants: #1430145, #1414119, #1347522, and #1012798
Designing as Construction of Representations: A Dynamic Viewpoint in Cognitive Design Research
This article presents a cognitively oriented viewpoint on design. It focuses
on cognitive, dynamic aspects of real design, i.e., the actual cognitive
activity implemented by designers during their work on professional design
projects. Rather than conceiving de-signing as problem solving - Simon's
symbolic information processing (SIP) approach - or as a reflective practice or
some other form of situated activity - the situativity (SIT) approach - we
consider that, from a cognitive viewpoint, designing is most appropriately
characterised as a construction of representations. After a critical discussion
of the SIP and SIT approaches to design, we present our view-point. This
presentation concerns the evolving nature of representations regarding levels
of abstraction and degrees of precision, the function of external
representations, and specific qualities of representation in collective design.
Designing is described at three levels: the organisation of the activity, its
strategies, and its design-representation construction activities (different
ways to generate, trans-form, and evaluate representations). Even if we adopt a
"generic design" stance, we claim that design can take different forms
depending on the nature of the artefact, and we propose some candidates for
dimensions that allow a distinction to be made between these forms of design.
We discuss the potential specificity of HCI design, and the lack of cognitive
design research occupied with the quality of design. We close our discussion of
representational structures and activities by an outline of some directions
regarding their functional linkages
Design: One, but in different forms
This overview paper defends an augmented cognitively oriented generic-design
hypothesis: there are both significant similarities between the design
activities implemented in different situations and crucial differences between
these and other cognitive activities; yet, characteristics of a design
situation (related to the design process, the designers, and the artefact)
introduce specificities in the corresponding cognitive activities and
structures that are used, and in the resulting designs. We thus augment the
classical generic-design hypothesis with that of different forms of designing.
We review the data available in the cognitive design research literature and
propose a series of candidates underlying such forms of design, outlining a
number of directions requiring further elaboration
- …