1,721,042 research outputs found

    Parametric channels via label expressions in CCS

    No full text
    AbstractCCS, the Calculus of Communicating Systems devised by Milner, has proved extremely successful for providing, via translation, a sound mathematical basis for a wide class of concurrent languages. Nevertheless, as it stands, it suffers from a limitation: it is impossible to determine at run time the channel on which to send or receive a communication. There are various possibilities for giving CCS such ability, but the price can be a drastic change in the language and the theory of CCS.Here we present a simple solution to this problem, which keeps language and theory almost unchanged, at least in fundamental aspects: the essential idea is to extend CCS by allowing (channel-) label expressions. We also show various applications of this extended version of CCS

    Specifying reactive systems by abstract events

    No full text
    We consider the problem of specifying reactive systems at different level of abstraction and propose a method for connecting the requirement to the design phase. As in a variety of other approaches, we assume that a process is modelled by a labelled transition system. The requirement phase is supposed to define a class of models, while at the design level, usually via a stepwise refinement, essentially one model is singled out. The connection between the two phases is provided by the notion of abstract event, with its associated specification language. An abstract event is defined as a set of its concrete instances, which are labelled transition sequences and can occur as partial paths over labelled transition trees. Abstract events, which may be non-instantaneous and overlapping, are a flexible tool for expressing abstract requirements and, because of their semantics in term of labelled transition sequences, provide a rather transparent support to the refinement procedure

    UML-Spaces: A UML Profile for Distributed Systems Coordinated via Tuple Spaces

    No full text
    Coordination via tuple spaces is a well known and accepted technique for designing distributed systems; originally introduced in Linda, it has been very recently adopted within the Java environment as an underlying mechanism of the JavaSpacesTM technology. We explore the possibility of using such a technique in the development of systems adopting the UML notation. While tuple spaces are modelled quite naturally in UML as particular classes, state machines do not seem adequate for modelling active objects interacting via tuple spaces. Thus, we propose to extend state machines by adding transition triggers corresponding to successful and failed execution of lookup operations on a tuple space. The result is a UML profile, and thus a visual notation for modelling distributed systems based on tuple space
    corecore