38 research outputs found

    Coordination via Interaction Constraints I: Local Logic

    Full text link
    Wegner describes coordination as constrained interaction. We take this approach literally and define a coordination model based on interaction constraints and partial, iterative and interactive constraint satisfaction. Our model captures behaviour described in terms of synchronisation and data flow constraints, plus various modes of interaction with the outside world provided by external constraint symbols, on-the-fly constraint generation, and coordination variables. Underlying our approach is an engine performing (partial) constraint satisfaction of the sets of constraints. Our model extends previous work on three counts: firstly, a more advanced notion of external interaction is offered; secondly, our approach enables local satisfaction of constraints with appropriate partial solutions, avoiding global synchronisation over the entire constraints set; and, as a consequence, constraint satisfaction can finally occur concurrently, and multiple parts of a set of constraints can be solved and interact with the outside world in an asynchronous manner, unless synchronisation is required by the constraints. This paper describes the underlying logic, which enables a notion of local solution, and relates this logic to the more global approach of our previous work based on classical logic

    On the Dependability of Highly Heterogeneous and Open Distributed Systems

    No full text

    Regularities in Software Systems

    No full text
    Regularities, or the conformity to unifying principles, are essential to the comprehensibility, manageability and reliability of large software systems. Yet, as is argued in this paper, the inherent globality of regularities makes them very hard to establish in traditional methods, unless they are built into the very fabric of a programming language. This paper explores an approach to regularities which greatly simplifies their implementation, making them more easily employable for taming of the complexities of large systems. This approach, which is based on the concept of law-governed architecture (LGA), provides system designers and builders with the means for establishing regularities simply by declaring them formally and explicitly as the law of the system. Once such a law-governed regularity is declared, it is enforced by the environment in which the system is developed. Although not all desirable regularities can be established this way, it is argued that the range of feasible "l..

    Towards Architectural Invariants of Evolving Systems

    No full text
    An enterprise that uses evolving software is susceptible to destructive and even disastrous effects caused either by inadvertent errors, or by malicious attacks by the programmers employed to maintain this software. It is our thesis that these perils of evolving software can often be tamed by ensuring that suitable architectural principles are maintained as invariants of the evolution of a given software system. For example, it is often useful to partition a system into a set of divisions, constructing permanent--- i.e., evolution-invariant---"firewalls" between them, which will limit the effect that one division can have on the others. We define this concept of evolution-invariant, discuss its usefulness, and show how it can be realized under law-governed architecture. Keywords: evolution-invariants, evolving systems, embedded systems, law-governed architecture, firewalls in software, auditing. Work supported in part by NSF grants No. CCR-9308773 1 Introduction Software evoluti..

    Law-Governed Regularities in Software Systems

    No full text
    Regularities, or the conformity to unifying principles, are essential to the comprehensibility, manageability and reliability of large software systems, and should, therefore, be considered an important element of their architecture. But, as is argued in this paper, the inherent globality of regularities makes them very hard to implement in traditional methods. This paper explores an approach to regularities which greatly simplifies their implementation, making them more easily employable for taming of the complexities of large systems. This approach, which is based on the concept of law-governed architecture (LGA), provides system designers and builders with the means for establishing regularities simply by declaring them formally and explicitly as the law of the system. Once such a law-governed regularity is declared, it is enforced by the environment in which the system is developed. We introduce here the formalism for specifying laws under the Darwin/2 environment, and give a sampl..

    Establishing accounting principles as invariants of financial systems

    No full text
    An enterprise that uses evolving software is susceptible to destructive and even disastrous effects caused either by inadvertent errors, or by malicious attacks by the programmers employed to maintain this software. It is my thesis that these perils of evolving software can often be tamed by ensuring that suitable overarching principles are maintained as invariants of the evolution of a given software system. In particular, it would be invaluable to ensure that a financial system satisfies the accounting principle of double-entry bookkeeping, throughout its evolutionary lifetime. We define a concept of evolution-invariant, discuss its usefulness, and show how the above mentioned accounting principles can be established as such invariants
    corecore