14989858
Logic of Global Synchrony
An intermediate-level specification notation, Logs, is presented for PRAM/BSP-style programming. It extends pre-post style semantics to reveal state at points of global synchronization before termination (if that occurs). The result is an integration of the pre-post, finite and reactive-process styles of specification and in particular an extension of standard BSP. The language is provided with a complete set of laws, formulated to benefit from a simple predicative semantics and to be quite close to programming intuition. The language is compositional, and parallel composition is simply logical conjunction. Use of Logs, and of the laws for reasoningab out it, is demonstrated on the problem of the dining philosophers.
8852685
Generic Composition
Abstract. This paper presents a technique called generic composition to provide a uniform basis for modal operators, sequential composition, different kinds of parallel compositions and various healthiness conditions appearing in a variety of semantic theories. The weak inverse of generic composition is defined. A completeness theorem shows that any predicate can be written in terms of generic composition and its weak inverse. A number of algebraic laws that support reasoning are derived.
13475813
Compositional Reasoning for Pointer Structures
This paper studies the compositional definition and behaviour of properties that arise in pointer structures. A pointer structure is represented as a (pointer) graph. A pointer property is a set of pointer structures. A parameterised binary combinator is defined that enables important properties (like acyclicity, canonicity and reachability) to be defined in a compositional manner. The technique of parameterising a combinator derives from the definition of parallel-by-merge in ‘Unifying Theories of Programming'. It is applied here to the study of disjointness combinators that extend the separating conjunction of Separation Logic. A case study is provided to demonstrate how these ideas are used, in the form of rules of Hoare logic, to verify the correctness of an Object-Oriented program.
1010133
A fixpoint theory for non-monotonic parallelism
This paper studies parallel recursion. The trace specification language used in this paper incorporates sequentiality, nondeterminism, reactiveness (including infinite traces), three forms of parallelism (including conjunctive, fair-interleaving and synchronous parallelism) and general recursion. In order to use Tarski’s theorem to determine the fixpoints of recursions, we need to identify a well-founded partial order. Several orders are considered, including a new order called the lexical order, which tends to simulate the execution of a recursion in a similar manner as the Egli-Milner order. A theorem of this paper shows that no appropriate order exists for the language. Tarski’s theorem alone is not enough to determine the fixpoints of parallel recursions. Instead of using Tarski’s theorem directly, we reason about the fixpoints of terminating and nonterminating behaviours separately. Such reasoning is supported by the laws of a new composition called partition. We propose a fixpoint technique called the partitioned fixpoint, which is the least fixpoint of the nonterminating behaviours after the terminating behaviours reach their greatest fixpoint. The surprising result is that although a recursion may not be lexical-order monotonic, it must have the partitioned fixpoint, which is equal to the least lexicalorder fixpoint. Since the partitioned fixpoint is well defined in any complete lattice, the results are applicable to various semantic models. Existing fixpoint techniques simply become special cases of the partitioned fixpoint. For example, an Egli-Milnermonotonic recursion has its least Egli-Milner fixpoint, which can be shown to be the same as the partitioned fixpoint. The new technique is more general than the least Egli-Milner fixpoint in that the partitioned fixpoint can be determined even when a recursion is not Egli-Milner monotonic. Examples of non-monotonic recursions are studied. Their partitioned fixpoints are shown to be consistent with our intuition.
15321284
From Durational Specifications to TLA Designs of Timed Automata
Different temporal logics tend to emphasise different aspects of a hybrid system. In this paper, we study the predicative interpretation of Duration Calculus (DC) and Temporal Logic of Actions (TLA) and the link between them. A notation called generic composition is used to simplify the manipulation of predicates. The modalities of possibility and necessity become generic composition and its inverse of converse respectively. The transformation between different temporal logics is also characterised as such modalities. The formalism provides a framework in which human experience about hybrid system development can be formalised as refinement laws. A high-level durational specification can be decomposed to two durational specifications driven by an automaton. In such a stepwise design process, durational features are reduced while automaton features increase gradually. The application of the technique is demonstrated in the case study of the gas burner problem.
17662809
Hierarchical Organisation of Predicate-Semantic Models
This paper introduces techniques to organise predicate- semantic models in a hierarchical structure so that a new model can inherit the laws of the existing ones. Generic composition is used to simplify the manipulation of predicates. Necessary restrictions are imposed on the definition of each model so that the inheritance relation can be established by checking a few conditions on the healthiness conditions and the commands. Much of the checking can be supported by laws of generic composition. The techniques also help simplify the proof of well-definedness of program combinators (i.e. their closure in the semantic space) so that we no longer need to prove it (in predicate calculus) for every new model.
8136301
Architecture classification for SOA-based applications
The architecture of SOA-based applications is different from traditional software architecture where the architecture is mainly static. The architecture of an SOA-based application is dynamic, i.e., the application may be composed at runtime using existing services. Thus SOA has provided a new direction for software architecture study, where the architecture is determined at runtime and architecture can be dynamically changed at runtime to meet the new software requirements. This paper proposes an architecture classification scheme for SOA-based applications. Using this classification, several well-known SOA-based applications are reviewed including the architectures proposed and adopted by major computer companies and standard organizations. The architecture classification provides a unified way to evaluate a variety of architectures for SOA-based applications
230027
Constrained Global Optimization by Constraint Partitioning and Simulated Annealing
In this paper, we present constraint-partitioned simulated annealing (CPSA), an algorithm that extends our previous constrained simulated annealing (CSA) for constrained optimization. The algorithm is based on the theory of extended saddle points (ESPs). By decomposing the ESP condition into multiple necessary conditions, CPSA partitions a problem by its constraints into subproblems, solves each independently using CSA, and resolves those violated global constraints across the subproblems. Because each subproblem is exponentially simpler and the number of global constraints is very small, the complexity of solving the original problem is significantly reduced. We state without proof the asymptotic convergence of CPSA with probability one to a constrained global minimum in discrete space. Last, we evaluate CPSA on some continuous constrained benchmarks
20353418
Perspectives on Service-Oriented Computing and Service-Oriented System Engineering
The service-oriented computing (SOC) paradigm leads the innovation of today's computing system and software development, and it can transform the human society into a new republic of all-to-all connected world. There are a number of interesting and innovative research challenges involved in achieving this vision of service-oriented system engineering (SOSE). This paper highlights some of these significant research opportunities and also the need for enhanced education in this emerging area
19799763
An approach to isochronous slot reuse for multimedia services on DQDB network
This paper discusses an isochronous connection management protocol and its slot-reuse scheme for multimedia services on DQDB network. For asynchronous services, slot-reuse improves slot utilization, which has already been discussed in depth. However only few literature addressed the slot-reuse for synchronous services. Our proposed scheme reuses video slots for either synchronous or asynchronous services according to the need of downstream nodes. Simulation shows that the scheme significantly increases the maximum number of video connections as well as reduces the failure rate of connection request comparing with that without slot-reuse.
28100130
Global Software Enterprise: A New Software Constructing Architecture
Based on current service-oriented architecture (SOA), this paper introduces a consumer-oriented SOA software constructing architecture: the global software enterprise (GSE) architecture. In this architecture, the software construction starts from the consumers' publishing their requirements in the form of application or service specification which they exactly want. The consumer also publishes the expectation for the services the application needs in the form of collaboration specification and test scripts. The service providers then produce services that meet the needs of the applications. This new approach reduces the workload for the consumer and the communication between the consumer and provider. It also extends the design and code sharing, and thus further improves the software productivity