32,374 research outputs found

    Monitoring distributed systems with distributed polyLarva

    Get PDF
    polyLarva is a language-agnostic runtime verification tool, which converts a polyLarvaScript into a monitor for a given system. While an implementation for polyLarva exists, the language and its compilation have not been formalised. We therefore present a formal implementation-independent model which describes the behaviour of polyLarvaScript, comprising of the uLarvaScript grammar and of a set of operational semantics. This allows us to prove important properties, such as determinism, and also enables us to reason about ways of re-designing the tool in a more scalable way. We also present a collection of denotational mappings for uLarvaScript converting the constructs of our grammar into constructs of a formal actor-based model, thus providing an Actor semantics for uLarvaScript. We are also able to prove certain correctness properties of the denotational translation such as that the denoted Actors behave in a way which corresponds to the behaviour described by our implementation-independent model. We finally present distPolyLarva, a prototype implementation of the distributed polyLarva tool, which implements the new actor-based semantics over a language that can natively handle distribution and concurrency called Erlang.peer-reviewe

    An Object-Oriented Model for Extensible Concurrent Systems: the Composition-Filters Approach

    Get PDF
    Applying the object-oriented paradigm for the development of large and complex software systems offers several advantages, of which increased extensibility and reusability are the most prominent ones. The object-oriented model is also quite suitable for modeling concurrent systems. However, it appears that extensibility and reusability of concurrent applications is far from trivial. The problems that arise, the so-called inheritance anomalies are analyzed and presented in this paper. A set of requirements for extensible concurrent languages is formulated. As a solution to the identified problems, an extension to the object-oriented model is presented; composition filters. Composition filters capture messages and can express certain constraints and operations on these messages, for example buffering. In this paper we explain the composition filters approach, demonstrate its expressive power through a number of examples and show that composition filters do not suffer from the inheritance anomalies and fulfill the requirements that were established

    Planning and implementation of effective collaboration in construction projects

    Get PDF
    The 21st century is now seen as the time for the construction industry to embrace new ways of working if it is to continue to be competitive and meet the needs of its ever demanding clients. Collaborative working is considered by many to be essential if design and construction teams are to consider the whole lifecycle of the construction product. Much of the recent work on collaborative working has focused on the delivery of technological solutions with a focus on web (extranets), CAD (visualisation), and knowledge management technologies. However, it is now recognised that good collaboration does not result from the implementation of information technology solutions alone. The organisational and people issues, which are not readily solved by pure technical systems, need to be resolved. However, approaches that exclusively focus on organisational and people issues will not reap the benefits derived from the use of technology, especially in the context of distributed teams which are the norm in construction. Work currently being undertaken at Loughborough University aims to bring together the benefits enabled by the technology, with the organisational, and its people issues to provide a framework enabling high level strategic decisions to be made to implement effective collaboration. This paper reports on the initial stages of the project: the background to the project, the methodology used, and findings from the literature survey and the requirements capture survey conducted as part of the project

    Actors that Unify Threads and Events

    Get PDF
    There is an impedance mismatch between message-passing concurrency and virtual machines, such as the JVM. VMs usually map their threads to heavyweight OS processes. Without a lightweight process abstraction, users are often forced to write parts of concurrent applications in an event-driven style which obscures control flow, and increases the burden on the programmer. In this paper we show how thread-based and event-based programming can be unified under a single actor abstraction. Using advanced abstraction mechanisms of the Scala programming language, we implemented our approach on unmodified JVMs. Our programming model integrates well with the threading model of the underlying VM

    Layered evaluation of interactive adaptive systems : framework and formative methods

    Get PDF
    Peer reviewedPostprin
    corecore