8,952 research outputs found

    Modular Composition of Language Features through Extensions of Semantic Language Models

    Get PDF
    Today, programming or specification languages are often extended in order to customize them for a particular application domain or to refine the language definition. The extension of a semantic model is often at the centre of such an extension. We will present a framework for linking basic and extended models. The example which we are going to use is the RSL concurrency model. The RAISE specification language RSL is a formal wide-spectrum specification language which integrates different features, such as state-basedness, concurrency and modules. The concurrency features of RSL are based on a refinement of a classical denotational model for process algebras. A modification was necessary to integrate state-based features into the basic model in order to meet requirements in the design of RSL. We will investigate this integration, formalising the relationship between the basic model and the adapted version in a rigorous way. The result will be a modular composition of the basic process model and new language features, such as state-based features or input/output. We will show general mechanisms for integration of new features into a language by extending language models in a structured, modular way. In particular, we will concentrate on the preservation of properties of the basic model in these extensions

    Kompics: a message-passing component model for building distributed systems

    Get PDF
    The Kompics component model and programming framework was designedto simplify the development of increasingly complex distributed systems. Systems built with Kompics leverage multi-core machines out of the box and they can be dynamically reconfigured to support hot software upgrades. A simulation framework enables deterministic debugging and reproducible performance evaluation of unmodified Kompics distributed systems. We describe the component model and show how to program and compose event-based distributed systems. We present the architectural patterns and abstractions that Kompics facilitates and we highlight a case study of a complex distributed middleware that we have built with Kompics. We show how our approach enables systematic development and evaluation of large-scale and dynamic distributed systems

    Facilitating modular property-preserving extensions of programming languages

    Get PDF
    We will explore an approach to modular programming language descriptions and extensions in a denotational style. Based on a language core, language features are added stepwise on the core. Language features can be described separated from each other in a self-contained, orthogonal way. We present an extension semantics framework consisting of mechanisms to adapt semantics of a basic language to new structural requirements in an extended language preserving the behaviour of programs of the basic language. Common templates of extension are provided. These can be collected in extension libraries accessible to and extendible by language designers. Mechanisms to extend these libraries are provided. A notation for describing language features embedding these semantics extensions is presented

    A Decision-Support Framework For Using Value Capture to Fund Public Transit: Lessons From Project-Specific Analyses, Research Report 11-14

    Get PDF
    Local and state governments provide 75 percent of transit funds in the United States. With all levels of governments under significant fiscal stress, any new transit funding mechanism is welcome. Value capture (VC) is one such mechanism. Based on the ā€œbenefits receivedā€ principle, VC involves the identification and capture of public infrastructure-led increase in land value. While the literature has extensively demonstrated the property-value impacts of transit investments and has empirically simulated the potential magnitude of VC revenues for financing transit facilities, very little research has examined the suitability of VC mechanisms for specific transit projects. This report aims to fill this research gap by examining five VC mechanisms in depth: tax-increment financing (TIF), special assessment districts (SADs), transit impact fees, joint developments, and air rights. The report is intended to assist practitioners in gauging the legal, financial, and administrative suitability of VC mechanisms for meeting project-specific funding requirements

    A Decision-Support Framework For Using Value Capture to Fund Public Transit: Lessons From Project-Specific Analyses

    Get PDF
    Local and state governments provide 75 percent of transit funds in the United States. With all levels of governments under significant fiscal stress, any new transit funding mechanism is welcome. Value capture (VC) is one such mechanism. Based on the ā€œbenefits receivedā€ principle, VC involves the identification and capture of public infrastructure-led increase in land value. While the literature has extensively demonstrated the property-value impacts of transit investments and has empirically simulated the potential magnitude of VC revenues for financing transit facilities, very little research has examined the suitability of VC mechanisms for specific transit projects. This report aims to fill this research gap by examining five VC mechanisms in depth: tax-increment financing (TIF), special assessment districts (SADs), transit impact fees, joint developments, and air rights. The report is intended to assist practitioners in gauging the legal, financial, and administrative suitability of VC mechanisms for meeting project-specific funding requirements

    Implementing atomic actions in Ada 95

    Get PDF
    Atomic actions are an important dynamic structuring technique that aid the construction of fault-tolerant concurrent systems. Although they were developed some years ago, none of the well-known commercially-available programming languages directly support their use. This paper summarizes software fault tolerance techniques for concurrent systems, evaluates the Ada 95 programming language from the perspective of its support for software fault tolerance, and shows how Ada 95 can be used to implement software fault tolerance techniques. In particular, it shows how packages, protected objects, requeue, exceptions, asynchronous transfer of control, tagged types, and controlled types can be used as building blocks from which to construct atomic actions with forward and backward error recovery, which are resilient to deserter tasks and task abortion

    HIV and Concurrent Sexual Partnerships: Modelling the Role of Coital Dilution

    Get PDF
    Background: The concurrency hypothesis asserts that high prevalence of overlapping sexual partnerships explains extraordinarily high HIV levels in sub-Saharan Africa. Earlier simulation models show that the network effect of concurrency can increase HIV incidence, but those models do not account for the coital dilution effect (nonprimary partnerships have lower coital frequency than primary partnerships). Methods: We modify the model of Eaton et al (AIDS and Behavior, September 2010) to incorporate coital dilution by assigning lower coital frequencies to non-primary partnerships. We parameterize coital dilution based on the empirical work of Morris et al (PLoS ONE, December 2010) and others. Following Eaton et al, we simulate the daily transmission of HIV over 250 years for 10 levels of concurrency. Results: At every level of concurrency, our focal coital-dilution simulation produces epidemic extinction. Our sensitivity analysis shows that this result is quite robust; even modestly lower coital frequencies in non-primary partnerships lead to epidemic extinction. Conclusions: In order to contribute usefully to the investigation of HIV prevalence, simulation models of concurrent partnering and HIV epidemics must incorporate realistic degrees of coital dilution. Doing so dramatically reduces the role that concurrency can play in accelerating the spread of HIV and suggests that concurrency cannot be an important driver of HIV epidemics in sub-Saharan Africa. Alternative explanations for HIV epidemics in sub- Saharan Africa are needed

    Trace Spaces: an Efficient New Technique for State-Space Reduction

    Get PDF
    State-space reduction techniques, used primarily in model-checkers, all rely on the idea that some actions are independent, hence could be taken in any (respective) order while put in parallel, without changing the semantics. It is thus not necessary to consider all execution paths in the interleaving semantics of a concurrent program, but rather some equivalence classes. The purpose of this paper is to describe a new algorithm to compute such equivalence classes, and a representative per class, which is based on ideas originating in algebraic topology. We introduce a geometric semantics of concurrent languages, where programs are interpreted as directed topological spaces, and study its properties in order to devise an algorithm for computing dihomotopy classes of execution paths. In particular, our algorithm is able to compute a control-flow graph for concurrent programs, possibly containing loops, which is "as reduced as possible" in the sense that it generates traces modulo equivalence. A preliminary implementation was achieved, showing promising results towards efficient methods to analyze concurrent programs, with very promising results compared to partial-order reduction techniques
    • ā€¦
    corecore