1,766 research outputs found

    Using Erlang in Research and Education in a Technical University

    Get PDF
    This paper addresses the problem of using functional programming (FP) languages for research and education purposes. In order to identify problems associated with usage of FP languages, such as Erlang, an experiment consisting of two surveys was performed. The rst survey was anonymous, and aimed at establishing whether the participants prefer object-oriented or functional coding. The second one was a survey after students have nished an Erlang course. The results of these two surveys demonstrate that functional programming is underrated without apparent reasons. Possible steps to address this problem are suggested

    Modelling and Simulation of Asynchronous Real-Time Systems using Timed Rebeca

    Full text link
    In this paper we propose an extension of the Rebeca language that can be used to model distributed and asynchronous systems with timing constraints. We provide the formal semantics of the language using Structural Operational Semantics, and show its expressiveness by means of examples. We developed a tool for automated translation from timed Rebeca to the Erlang language, which provides a first implementation of timed Rebeca. We can use the tool to set the parameters of timed Rebeca models, which represent the environment and component variables, and use McErlang to run multiple simulations for different settings. Timed Rebeca restricts the modeller to a pure asynchronous actor-based paradigm, where the structure of the model represents the service oriented architecture, while the computational model matches the network infrastructure. Simulation is shown to be an effective analysis support, specially where model checking faces almost immediate state explosion in an asynchronous setting.Comment: In Proceedings FOCLASA 2011, arXiv:1107.584

    Scalable Persistent Storage for Erlang

    Get PDF
    The many core revolution makes scalability a key property. The RELEASE project aims to improve the scalability of Erlang on emergent commodity architectures with 100,000 cores. Such architectures require scalable and available persistent storage on up to 100 hosts. We enumerate the requirements for scalable and available persistent storage, and evaluate four popular Erlang DBMSs against these requirements. This analysis shows that Mnesia and CouchDB are not suitable persistent storage at our target scale, but Dynamo-like NoSQL DataBase Management Systems (DBMSs) such as Cassandra and Riak potentially are. We investigate the current scalability limits of the Riak 1.1.1 NoSQL DBMS in practice on a 100-node cluster. We establish for the first time scientifically the scalability limit of Riak as 60 nodes on the Kalkyl cluster, thereby confirming developer folklore. We show that resources like memory, disk, and network do not limit the scalability of Riak. By instrumenting Erlang/OTP and Riak libraries we identify a specific Riak functionality that limits scalability. We outline how later releases of Riak are refactored to eliminate the scalability bottlenecks. We conclude that Dynamo-style NoSQL DBMSs provide scalable and available persistent storage for Erlang in general, and for our RELEASE target architecture in particular

    How functional programming mattered

    Get PDF
    In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly ‘why functional programming matters’. More than two decades have passed. Has functional programming really mattered? Our answer is a resounding ‘Yes!’. Functional programming is now at the forefront of a new generation of programming technologies, and enjoying increasing popularity and influence. In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about programs

    Design of engineering systems in Polish mines in the third quarter of the 20th century

    Full text link
    Participation of mathematicians in the implementation of economic projects in Poland, in which mathematics-based methods played an important role, happened sporadically in the past. Usually methods known from publications and verified were adapted to solving related problems. The subject of this paper is the cooperation between mathematicians and engineers in Wroc{\l}aw in the second half of the twentieth century established in the form of an analysis of the effectiveness of engineering systems used in mining. The results of this cooperation showed that at the design stage of technical systems it is necessary to take into account factors that could not have been rationally controlled before. The need to explain various aspects of future exploitation was a strong motivation for the development of mathematical modeling methods. These methods also opened research topics in the theory of stochastic processes and graph theory. The social aspects of this cooperation are also interesting.Comment: 45 pages, 11 figures, 116 reference

    Sojourn time in a single server queue with threshold service rate control

    Get PDF
    We study the sojourn time in a queueing system with a single exponential server, serving a Poisson stream of customers in order of arrival. Service is provided at low or high rate, which can be adapted at exponential inspection times. When the number of customers in the system is above a given threshold, the service rate is upgraded to the high rate, and otherwise, it is downgraded to the low rate. The state dependent changes in the service rate make the analysis of the sojourn time a challenging problem, since the sojourn time now also depends on future arrivals. We determine the Laplace transform of the stationary sojourn time and describe a procedure to compute all moments as well. First we analyze the special case of continuous inspection, where the service rate immediately changes once the threshold is crossed. Then we extend the analysis to random inspection times. This extension requires the development of a new methodological tool, that is "matrix generating functions". The power of this tool is that it can also be used to analyze generalizations to phase-type services and inspection times.Comment: 16 pages, 13 figure

    Software Engineering and Management: a curriculum description

    Get PDF
    [Abstract] The curriculum of the Software Engineering and Management education at the IT University of Gothenburg is described. The education is build upon porblem based learning and uses a project orientation, in each term students spend as much time in projects as they spend in courses where the theory is taught. This educational model orginiates from the university of Aalborg in Denmark. It is used in the described curiculum to enable the students to aquire managerial and programming skills to complement their technical knowledge

    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
    • …
    corecore