Concurrent and distributed functional systems
نویسنده
چکیده
This thesis presents the Brisk Machine [54], a machine for executing functional languages, designed to be simple and exible to support a number of run-time execution models for the Brisk compiler. Design considerations have been made to support dynamic loading, deterministic concurrency [23, 51], distribution, debugging tools and logic programming [76]. To achieve this, the compiler's intermediate language, the Brisk Kernel Language BKL is simpler than the STG language [100], as evaluation, extension and optimisation issues are relegated to special built-in functions. Moreover, function calls are saturated, as any function has an known arity and in every call to it, is applied to the right number of arguments, which makes the machine dynamic and supports dynamic loading. To incorporate deterministic concurrency in Brisk, we present the Brisk monadic framework [55]. Its main innovation is to allow actions on state components. This is a key issue which enables state splitting, a technique which assigns to each new thread a part of the state, a substate, to act upon. Distinct concurrent threads are restricted to access disjoint substates. Thus, non-deterministic e ects that arise when threads mutate the same state are avoided. To extend the expressiveness of deterministic concurrency, a deterministic form of communications has been introduced, where input from several threads is merged deterministically. The merging is based on hierarchical timestamping on messages from di erent sources and allows messages to be merged in a consistent temporal order. A model of distribution [53] is presented, as incorporated in the Brisk runtime system, as a natural consequence of deterministic concurrency. The abstract model of this distributed system uses a uniform access memory model to provide a global memory view. This, combined with explicit thread based concurrency and explicit representation of demand enables the trustable distribution of reactive systems across di erent systems. Since referential transparency is preserved, any pattern of distribution has no e ect on the semantics of the functional program. Computation, including both code and data, can be moved in response to demand.
منابع مشابه
GLOBAL ROBUST STABILITY CRITERIA FOR T-S FUZZY SYSTEMS WITH DISTRIBUTED DELAYS AND TIME DELAY IN THE LEAKAGE TERM
The paper is concerned with robust stability criteria for Takagi- Sugeno (T-S) fuzzy systems with distributed delays and time delay in the leakage term. By exploiting a model transformation, the system is converted to one of the neutral delay system. Global robust stability result is proposed by a new Lyapunov-Krasovskii functional which takes into account the range of delay and by making use o...
متن کاملTwoTowers: A Tool Integrating Functional and Performance Analysis of Concurrent Systems
We present TwoTowers, a tool for analyzing functional and performance properties of concurrent systems expressed as terms in the stochastically timed reward process algebra EMPAr. TwoTowers builds on two existing tools, CWB-NC and MarCA, that have been retargeted to carry out functional and performance analysis (respectively) of EMPAr system specifications. As an example, we describe the applic...
متن کاملA Functional Logic Programming Approach to Graphical User Interfaces
We show how the features of modern integrated functional logic programming languages can be exploited to implement graphical user interfaces (GUIs) in a high-level declarative style. For this purpose, we have developed a GUI library in Curry, a multi-paradigm language amalgamating functional, logic, and concurrent programming principles. The functional features of Curry are exploited to deene t...
متن کاملIntegrating Performance and Functional Analysis of Concurrent Systems with EMPA
We propose an approach for modeling and analyzing concurrent systems which integrates different points of view (centralized vs. distributed) as well as different aspects of their behavior (qualitative vs. quantitative). This integrated approach is based on an algebraic formalism for specifying concurrent systems which lies in the class of stochastic process algebras, hence exploiting the proper...
متن کاملAn Integrated Approach for Specification and Analysis of Functional and Performance Properties of Concurrent Systems
Considering both qualitative and quantitative aspects in the same modeling approach enhances coherency when analyzing concurrent system properties. Moreover, the impacts of changes related to functional and temporal features are generally better highlighted. In this paper, the authors present their approach to model and analyze behavioral and temporal properties of true concurrency systems. Com...
متن کاملThe design philosophy of distributed programming systems : the Mozart experience
Distributed programming is usually considered both difficult and inherently different from concurrent centralized programming. It is thought that the distributed programming systems that we ultimately deploy, in the future, when we’ve worked out all the details, will require a very different programming model and will even need to be evaluated by new criteria. The Mozart Programming System, des...
متن کامل