400 research outputs found

    GCSR: A Graphical Language With Algebraic Semantics for the Specification of Real-Time Systems

    Get PDF
    Graphical Communicating Shared Resources, GCSR, is a formal language for specifying real-time systems including their functional and resource requirements. A GCSR specification consists of a set of nodes that are connected with directed, labeled edges, which describe possible execution flows. Nodes represent instantaneous selection among execution flows, or time and resource consuming system activities. In addition, a node can represent a system subcomponent, which allows modular, hierarchical, thus scalable system specifications. Edges are labeled with instantaneous communication actions or time to describe the duration of activities in the source node. GCSR supports the explicit representation of resources and priorities to resolve resource contention. The semantics of GCSR is the Algebra of Communicating Shared Resources, a timed process algebra with operational semantics that makes GCSR specifications executable. Furthermore, the process algebra provides behavioral equivalence relations between GCSR specifications. These equivalence relations can be used to replace a GCSR specification with an equivalent specification inside another, and to minimize a GCSR specification in terms of the number of nodes and edges. The paper defines the GCSR language, describes GCSR specification reductions that preserve the specification behaviors, and illustrates GCSR with example design specifications

    VERSA: A Tool for the Specification and Analysis of Resource-Bound Real-Time Systems

    Get PDF
    VERSA is a tool that assists in the algebraic analysis of real-time systems. It is based on ACSR, a timed process algebra designed to express resource-bound real-time distributed systems. VERSA supports the analysis of real-time processes through algebraic rewriting, interactive execution, and equivalence testing. This paper begins by presenting a brief overview of the process algebra ACSR, its syntax, operational semantics, and equivalence relations. VERSA\u27S process and command syntax, its algebraic rewrite system, and its state-based analysis features are described fully. The presentation includes examples that illustrate the salient features of ACSR, and output from sample VERSA sessions that demonstrate the application of the tool to real-time systems analysis

    Priorities Without Priorities: Representing Preemption in Psi-Calculi

    Full text link
    Psi-calculi is a parametric framework for extensions of the pi-calculus with data terms and arbitrary logics. In this framework there is no direct way to represent action priorities, where an action can execute only if all other enabled actions have lower priority. We here demonstrate that the psi-calculi parameters can be chosen such that the effect of action priorities can be encoded. To accomplish this we define an extension of psi-calculi with action priorities, and show that for every calculus in the extended framework there is a corresponding ordinary psi-calculus, without priorities, and a translation between them that satisfies strong operational correspondence. This is a significantly stronger result than for most encodings between process calculi in the literature. We also formally prove in Nominal Isabelle that the standard congruence and structural laws about strong bisimulation hold in psi-calculi extended with priorities.Comment: In Proceedings EXPRESS/SOS 2014, arXiv:1408.127

    Process Algebraic Approach to the Schedulability Analysis and Workload Abstraction of Hierarchical Real-Time Systems

    Get PDF
    Real-time embedded systems have increased in complexity. As microprocessors become more powerful, the software complexity of real-time embedded systems has increased steadily. The requirements for increased functionality and adaptability make the development of real-time embedded software complex and error-prone. Component-based design has been widely accepted as a compositional approach to facilitate the design of complex systems. It provides a means for decomposing a complex system into simpler subsystems and composing the subsystems in a hierarchical manner. A system composed of real-time subsystems with hierarchy is called a hierarchical real-time system This paper describes a process algebraic approach to schedulability analysis of hierarchical real-time systems. To facilitate modeling and analyzing hierarchical real-time systems, we conservatively extend an existing process algebraic theory based on ACSR-VP (Algebra of Communicating Shared Resources with Value-Passing) for the schedulability of real-time systems. We explain a method to model a resource model in ACSR-VP which may be partitioned for a subsystem. We also introduce schedulability relation to define the schedulability of hierarchical real-time systems and show that satisfaction checking of the relation is reducible to deadlock checking in ACSR-VP and can be done automatically by the tool support of ERSA (Verification, Execution and Rewrite System for ACSR). With the schedulability relation, we present algorithms for abstracting real-time system workloads

    Schedulability Analysis of AADL models

    Get PDF
    The paper discusses the use of formal methods for the analysis of architectural models expressed in the modeling language AADL. AADL describes the system as a collection of interacting components. The AADL standard prescribes semantics for the thread components and rules of interaction between threads and other components in the system. We present a semantics-preserving translation of AADL models into the real-time process algebra ACSR, allowing us to perform schedulability analysis of AADL models

    Fair Simulation for Nondeterministic and Probabilistic Buechi Automata: a Coalgebraic Perspective

    Full text link
    Notions of simulation, among other uses, provide a computationally tractable and sound (but not necessarily complete) proof method for language inclusion. They have been comprehensively studied by Lynch and Vaandrager for nondeterministic and timed systems; for B\"{u}chi automata the notion of fair simulation has been introduced by Henzinger, Kupferman and Rajamani. We contribute to a generalization of fair simulation in two different directions: one for nondeterministic tree automata previously studied by Bomhard; and the other for probabilistic word automata with finite state spaces, both under the B\"{u}chi acceptance condition. The former nondeterministic definition is formulated in terms of systems of fixed-point equations, hence is readily translated to parity games and is then amenable to Jurdzi\'{n}ski's algorithm; the latter probabilistic definition bears a strong ranking-function flavor. These two different-looking definitions are derived from one source, namely our coalgebraic modeling of B\"{u}chi automata. Based on these coalgebraic observations, we also prove their soundness: a simulation indeed witnesses language inclusion

    Reduction Semantics and Formal Analysis of Orc Programs

    Get PDF
    AbstractOrc is a language for orchestration of web services developed by J. Misra that offers simple, yet powerful and elegant, constructs to program sophisticated web orchestration applications. The formal semantics of Orc poses interesting challenges, because of its real-time nature and the different priorities of external and internal actions. In this paper, building upon our previous SOS semantics of Orc in rewriting logic, we present a much more efficient reduction semantics of Orc, which is provably equivalent to the SOS semantics thanks to a strong bisimulation. We view this reduction semantics as a key intermediate stage towards a future, provably correct distributed implementation of Orc, and show how it can naturally be extended to a distributed actor-like semantics. We show experiments demonstrating the much better performance of the reduction semantics when compared to the SOS semantics. Using the Maude rewriting logic language, we also illustrate how the reduction semantics can be used to endow Orc with useful formal analysis capabilities, including an LTL model checker. We illustrate these formal analysis features by means of an online auction system, which is modeled as a distributed system of actors that perform Orc computations

    Combining stochastic process algebras and queueing networks for software architecture analysis

    Get PDF

    Real and stochastic time in process algebras for performance evaluation

    Get PDF
    Process algebras are formalisms for abstract modeling of systems for the purpose of qualitative veri¯cation and quantitative evaluation. The purpose of veri¯cation is to show that the system behaves correctly, e.g., it does not contain a deadlock or a state with some desired property is eventually going to be reached. The quantitative or performance evaluation part gives an approximation how well the system will behave, e.g., the average time of a message to get through is 10 time units or the utilization (percentage of time that something is used) of some machine is 23.5 percent. Originally, process algebras were only developed for qualitative model- ing, but gradually they have been extended with time, probabilities, and Markovian (exponential) and generally-distributed stochastic time. The ex- tensions up to stochastic time typically conservatively extended previous well-established theories. However, mostly due to the nature of the under- lying (non-)Markovian performance models, the stochastic process algebras were built from scratch. These extensions were carried out as orthogonal extensions of untimed process theories with exponential delays or stochastic clocks. The underlying performance model is obtained by abstracting from the qualitative behavior using some weak behavioral equivalence. The thesis investigates several issues: (1) What is the relationship be- tween discrete real and generally-distributed stochastic time in the process theories? (2) Is it possible, and if so, how, to extend timed process theories with stochastic time? (3) Reversely, is it possible, and if so, how, to embed discrete real time in generally distributed process theories? Additionally, (4) is the abstraction using the weak behavioral equivalence in Markovian process theories (and other modeling formalisms as well) performance pre- serving, and is such an approach compositional? In the end, (5) how can we do performance analysis using discrete-time and probabilistic choices? The contents of the thesis is as follows. First, we introduce the central concept of a race condition that de¯nes the interaction between stochastic timed delays. We introduce a new type of race condition, which enables the synchronization of stochastic delays with the same sample as in timed process theories. This gives the basis for the notion of a timed delay in a racing context, which models the expiration of stochastic delays. In this new setting, we de¯ne a strong bisimulation relation that deals with the (probabilistic) race condition on a symbolic level. Next, we show how to derive stochastic delays as guarded recursive speci¯cation involving timed delays in a racing context and we derive a ground-complete stochastic-time process theory. Then, we take the opposite viewpoint and we develop a stochastic process theory from scratch, relying on the same interpretation of the race condition. We embed real time in the stochastic-time setting by using context-sensitive interpolation, a restricted notion of time additiv- ity. Afterwards, we turn to Markovian process theories and we show com- positionality of the Markov reward chains with fast and silent transitions with respect to lumping-based and reduction-based aggregation methods. These methods can be used to show preservation of performance measures when eliminating probabilistic choices and non-deterministic silent steps in Markovian process theories. Then, we specify the underlying model of prob- abilistic timed process theories as a discrete-time probabilistic reward graph and we show its transformation to a discrete-time Markov reward chain. The approach is illustrated by extending the environment of the modeling language Â. The developed theories are illustrated by specifying a version of the concurrent alternating bit protocol and analyzing it in the  toolset
    corecore