10 research outputs found

    Ренесанс використання моделі акторів до побудови паралельних та розподілених застосунків

    No full text
    У статті проаналізована модель акторів (Actor model) як засіб високорівневого підходу до побудови паралельних та розподілених систем. Досліджено розвиток моделі під впливом парадигми об’єктно-орієнтованого програмування та формування головних властивостей акторів. Розглянуто основні особливості реалізації моделі за допомогою об’єктно-функціональної мови Scala на прикладі бібліотеки Akka

    NOW: Orchestrating services in a nomadic network using a dedicated workflow language

    Get PDF
    AbstractOrchestrating services in nomadic or mobile ad hoc networks is not without a challenge, since these environments are built upon volatile connections. Services residing on mobile devices are exposed to (temporary) network failures, which must be considered the rule rather than the exception. This paper proposes a dedicated workflow language built on top of an ambient-oriented programming language that supports dynamic service discovery and communication primitives resilient to network failures. The proposed workflow language, NOW, has support for high level workflow abstractions for control flow, rich network and service failure detection, and failure handling through compensating actions, and dynamic data flow between the services in the environment. By adding this extra layer of abstraction, the application programmer is offered a flexible way to develop applications for nomadic networks

    Object-Centric Reflection: Unifying Reflection and Bringing It Back to Objects

    Get PDF
    Reflective applications are able to query and manipulate the structure and behavior of a running system. This is essential for highly dynamic software that needs to interact with objects whose structure and behavior are not known when the application is written. Software analysis tools, like debuggers, are a typical example. Oddly, although reflection essentially concerns run-time entities, reflective applications tend to focus on static abstractions, like classes and methods, rather than objects. This is phenomenon we call the object paradox, which makes developers less effective by drawing their attention away from run-time objects. To counteract this phenomenon, we propose a purely object-centric approach to reflection. Reflective mechanisms provide object-specific capabilities as another feature. Object-centric reflection proposes to turn this around and put object-specific capabilities as the central reflection mechanism. This change in the reflection architecture allows a unification of various reflection mechanisms and a solution to the object paradox. We introduce Bifr\"ost, an object-centric reflective system based on first-class meta-objects. Through a series of practical examples we demonstrate how object-centric reflection mitigates the object paradox by avoiding the need to reflect on static abstractions. We survey existing approaches to reflection to establish key requirements in the domain, and we show that an object-centric approach simplifies the meta-level and allows a unification of the reflection field. We demonstrate how development itself is enhanced with this new approach: talents are dynamically composable units of reuse, and object-centric debugging prevents the object paradox when debugging. We also demonstrate how software analysis is benefited by object-centric reflection with Chameleon, a framework for building object-centric analysis tools and MetaSpy, a domain-specific profile

    Simplifying the Analysis of C++ Programs

    Get PDF
    Based on our experience of working with different C++ front ends, this thesis identifies numerous problems that complicate the analysis of C++ programs along the entire spectrum of analysis applications. We utilize library, language, and tool extensions to address these problems and offer solutions to many of them. In particular, we present efficient, expressive and non-intrusive means of dealing with abstract syntax trees of a program, which together render the visitor design pattern obsolete. We further extend C++ with open multi-methods to deal with the broader expression problem. Finally, we offer two techniques, one based on refining the type system of a language and the other on abstract interpretation, both of which allow developers to statically ensure or verify various run-time properties of their programs without having to deal with the full language semantics or even the abstract syntax tree of a program. Together, the solutions presented in this thesis make ensuring properties of interest about C++ programs available to average language users

    Model Transformation For Validation Of Software Design

    Get PDF

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation

    Proceedings of the 4th International Conference on Principles and Practices of Programming in Java

    Full text link
    This book contains the proceedings of the 4th international conference on principles and practices of programming in Java. The conference focuses on the different aspects of the Java programming language and its applications

    Експериментальна економіка та машинне навчання для прогнозування динаміки емерджентної економіки: матеріали вибраних робіт 8-ї Міжнародної конференції з моніторингу, моделювання та управління емерджентною економікою (M3E2 2019)

    Get PDF
    This volume represents the proceedings of the selected papers of the 8th International Conference on Monitoring, Modeling & Management of Emergent Economy (M3E2 2019), held in Odessa, Ukraine, on May 22-24, 2019. It comprises 38 papers dedicated to the experimental economics and machine learning that were carefully peer-reviewed and selected from 71 submissions.Цей том представляє вибрані матеріали 8-ої Міжнародної конференції "Моніторинг, моделювання та менеджмент емерджентної економіки" (M3E2 2019), що відбулася в Одесі, Україна, 22-24 травня 2019 року. Він містить 38 робіт, присвячених експериментальній економіці та машинному навчанню, які були ретельно прорецензовані та відібрані з 71 подання
    corecore