27587317
An executable specification language for specification understanding in object-oriented specification reuse
System analysis time can be reduced through specification reuse which, however, requires specification understanding. This paper presents an object-oriented executable specification language which reduces understanding time through executing specifications. In addition to being executable, the specification language hides as many classes as possible within subsystems, and explicitly specifies relationships between specification components. This facilitates specification modification. Moreover, the language explicitly specifies interface parameters of specification components. This facilitates specification composition.
32729841
An Ada-like software process language
Abstract This article presents a new software process language called concurrent software process language (CSPL). CSPL demonstrates a unique approach in combining the Ada-like syntax with UNIX shell semantics within a software process language. The rich Ada constructs allow CSPL to model the complexity in software processes. Meanwhile, the UNIX shell provides process enaction and, more importantly, easy access to powerful UNIX tools. A CSPL prototype has been built on the Sun workstation. Examples illustrate how CSPL can be used to model objects, activities, events, generics, exceptions, etc., in software processes. Moreover, a meta-process is given to depict a process of developing CSPL process programs. Related work and a preliminary evaluation of CSPL are also depicted.
45814647
An integrated object-oriented analysis and design method emphasizing entity/class relationship and operation finding
Abstract This paper presents an object-oriented analysis and design (OOAD) method that integrates analysis and design phases based on entity and class relationships. This method concentrates on establishing relationships between entities and between classes and on representing and refining the relationships. In describing the system's behavior, this method provides modified event trace diagrams and a textual document to capture the interactions among operations within the classes. It also provides uniform notations and specific procedures in order to identify classes, objects, attributes, and operations.
35963439
A counter-example to a clustering heuristic
15078407
A typed intermediate language for compiling multiple inheritance
Type-preserving compilation can improve software reliability by generating code that can be verified independently of the compiler. Practical type preserving compilation does not exist for languages with multiple inheritance. This paper presents Emi, the first typed intermediate language to support practical compilation of a programming language with fully general multiple inheritance. The paper demonstrates the practicality of Emi by showing that Emi can be used to faithfully model standard implementation strategies of multiple inheritance for C++, the most widely-used programming language with general multiple inheritance.
563848
An efficient parameterized algorithm for m-set packing
We present an efficient parameterized algorithm solving the Set Packing problem, in which we assume that the size of the sets is bounded by m. In particular, if the size m of the sets is bounded by a constant, then our algorithm is fixed-parameter tractable. For example, if the size of the sets is bounded by 3, then our algorithm runs in time O((5.7k)kn).
42013296
On the computational hardness based on linear FPT-reductions
The notion of linear fpt-reductions has been recently introduced to derive strong computational lower bounds for well-known NP-hard problems. In this paper, we formally investigate the notion of W[t]-hardness under the linear fpt-reduction, and study the structural properties of the corresponding complexity classes. Additional complexity lower bounds on important computational problems are established. Some observations on structural properties of the standard parameterized hierarchy, the W -hierarchy, are also presented.
14652586
A simple typed intermediate language for object-oriented languages
Traditional class and object encodings are difficult to use in practical type-preserving compilers because of the complexity of the encodings. We propose a simple typed intermediate language for compiling object-oriented languages and prove its soundness. The key ideas are to preserve lightweight notions of classes and objects instead of compiling them away and to separate name-based subclassing from structure-based subtyping. The language can express standard implementation techniques for both dynamic dispatch and runtime type tests. It has decidable type checking even with subtyping between quantified types with different bounds. Because of its simplicity, the language is a more suitable starting point for a practical type-preserving compiler than traditional encoding techniques.
15777163
Limit points for average genus II. 2-Connected non-simplicial graphs
Abstract In part (I) of this paper, it was proved that there are no limit points for the set of values of average genus of 2-connected simplicial graphs and of 3-connected graphs. The need for such restrictions is now demonstrated by showing that infinitely many real numbers are limit points of values of average genus for 2-connected non-simplicial graphs. A systematic method for constructing such limit points is presented, and it is proved that this method is essentially the only way to construct limit points of values of average genus for “homeomorphically nested” 2-connected graphs.