2524138
Code synthesis based on object-oriented design models and formal specifications
Presents an approach to synthesizing functional and robust code from object-oriented design models and Z data and operation specifications. The approach used is based on an integrated notation of the Unified Modeling Language (UML) and a slightly extended Z notation to include object-oriented concepts and structures. Our approach generates fully functional code which can be compiled and executed without modifications. The information from object-oriented analysis and design models along with the formal specifications are combined, analyzed and translated into an intermediate representation from which code can be generated. A research prototype has been developed to demonstrate the feasibility and the effectiveness of our approach.
13944177
A pragmatic approach to formalizing object-oriented modeling and development
Despite recent developments in formal methods, these methods have yet to enter the mainstream of the software industry. We first examine the pragmatic obstacles to making formal methods practical and usable. Then we present a pragmatic approach to integrate a popular object oriented modeling notation UML and a popular formal notation Z. Our approach is distinctive in its emphasis on overcoming the practical obstacles. We also present a light weight supporting tool for our approach. A prototype of the supporting tool is completed. It allows us to demonstrate the feasibility and capability of our approach.
44437581
Visual languages and software specifications
The important issues and major features of visual languages are summarized, and their impact on software engineering, especially software specification techniques, are discussed. The potential of using visual languages for software specifications to improve software reliability, modifiability, reusability, and understandability is also considered.<<ETX>>
22388831
PROOF: A Parallel Object-Oriented Functional Computation Model
Abstract Despite the rapid development of parallel computer architectures in recent years, software development technology for parallel processing systems is still largely inadequate. An integrated object-oriented and functional computation model, called PROOF, is developed to facilitate the effective development of software for parallel processing systems. It will fully explore the parallelism in software systems and reduce the development effort by supporting software engineering principles, such as information hiding, modularity, modifiability, and reusability. In PROOF, we achieve the coherent integration of (1) parallelism and inheritance of objects and (2) referential transparency and history sensitivity of functions. The major features and the semantics of PROOF are presented. A parallel programming language and a software development approach based on PROOF are under development. Implementation issues are also discussed.
4599441
A Hypothesis-Based Approach to Detecting Runtime Violations
We have developed an approach to apply formal methods to represent program source code as a model and use an automated theorem prover to detect runtime violations by doing static analysis. Unlike other proof-based program verification approaches, this approach is based on a hypothesis to develop the implicit specification information, such as invariants, preconditions, postconditions, then using an automated theorem prover to verify the correctness of each statement in the program. Our research work can catch those runtime exceptions that are beyond the capability of control flow-based analysis in compilers.
17179157
Conditional Functional Dependencies for Data Cleaning
We propose a class of constraints, referred to as conditional functional dependencies (CFDs), and study their applications in data cleaning. In contrast to traditional functional dependencies (FDs) that were developed mainly for schema design, CFDs aim at capturing the consistency of data by incorporating bindings of semantic ally related values. For CFDs we provide an inference system analogous to Armstrong's axioms for FDs, as well as consistency analysis. Since CFDs allow data bindings, a large number of individual constraints may hold on a table, complicating detection of constraint violations. We develop techniques for detecting CFD violations in SQL as well as novel techniques for checking multiple constraints in a single query. We experimentally evaluate the performance of our CFD-based methods for inconsistency detection. This not only yields a constraint theory for CFDs but is also a step toward a practical constraint-based method for improving data quality.
15745921
Wireless networks and random geometric graphs
In this paper, mobile ad-hoc networks are studied. Chen and Jia (2001) proposed a routing algorithm by utilizing multiple communication channels and localizing the routing information (routing tables) for mobile stations within the wireless network. The routing algorithm relies on a spanning tree of the underlying network. It is proven that both the construction of the spanning tree and the routing algorithm are efficient. The routing algorithm is also reliable because of the frequent update of the spanning tree which the routing scheme is based on. The underlying network is a random geometric graph G(A,n) formed on a set of uniformly randomly located points in the unit disk, in which two vertices are adjacent if and only if their Euclidean distance is at most A.
20605726
Extremal Problems in the Construction of Distributed Loop Networks
Let $G(N, A)$ be the Cayley digraph associated with ${\bf Z}/(N)$ and $A$, where $N$ is a positive integer and $A$ is a subset of $\{1, 2, ..., N - 1\}$. Let $N(d, k)$ be the maximum $N$ such that the diameter of $G(N, A)$ is less than or equal to $d$ for some $A = \{a_{1}, a_{2},\ldots, a_{k}\}$ with $1 = a_{1}, < a_{2} < \cdots < a_{k}. An exact formula for $N(d, 2)$ is given, and $N(d, k)$ is estimated for $k \geq 3$. These results provide new bounds for minimal diameter in the construction of loop networks. A relation between this problem and the postage stamp problem in additive number theory is established to enhance the study of these problems.
42148814
Using GALS architecture to reduce the impact of long wire delay on FPGA performance
1493304
On random points in the unit disk
Let n be a positive integer and λ > 0 a real number. Let Vn be a set of n points in the unit disk selected uniformly and independently at random. Define G(λ, n) to be the graph with vertex set Vn, in which two vertices are adjacent if and only if their Euclidean distance is at most λ. We call this graph a unit disk random graph. Let λ = c √ lnn/n and let X be the number of isolated points in G(λ, n). We prove that almost always X ∼ n1−c2 when 0 ≤ c < 1. It is known that if λ = √ (ln n + φ(n))/n where φ(n) → ∞, then G(λ, n) is connected. By extending a method of Penrose, we show that under the same condition on λ, there exists a constant K such that the diameter of G(λ, n) is bounded above by K · 2/λ. Furthermore, with a new geometric construction, we show that when λ = c √ lnn/n and c > 2.26164 · · · , the diameter of G(λ, n) is bounded by (4 + o(1))/λ; and we modify this construction to yield a function c(δ) > 0 such that the diameter is at most 2(1 + δ + o(1))/λ when c > c(δ). ∗This is a preprint of an article accepted for publication in Random Structures and Algorithms c ©2005. †Partially supported by NSF grant DMS-9977354. ‡Partially supported by NSF grant DMS-0245526, DMS-0308827 and a Sloan Fellowship. The author is also affiliated with Dalian University of Technology.