259,042 research outputs found

    Dynamic Choreographies: Theory And Implementation

    Get PDF
    Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming updatable, distributed applications. We define a choreography language, called Dynamic Interaction-Oriented Choreography (AIOC), that allows the programmer to specify, from a global viewpoint, which parts of the application can be updated. At runtime, these parts may be replaced by new AIOC fragments from outside the application. AIOC programs are compiled, generating code for each participant in a process-level language called Dynamic Process-Oriented Choreographies (APOC). We prove that APOC distributed applications generated from AIOC specifications are deadlock free and race free and that these properties hold also after any runtime update. We instantiate the theoretical model above into a programming framework called Adaptable Interaction-Oriented Choreographies in Jolie (AIOCJ) that comprises an integrated development environment, a compiler from an extension of AIOCs to distributed Jolie programs, and a runtime environment to support their execution.Comment: arXiv admin note: text overlap with arXiv:1407.097

    SCC: A Service Centered Calculus

    Get PDF
    We seek for a small set of primitives that might serve as a basis for formalising and programming service oriented applications over global computers. As an outcome of this study we introduce here SCC, a process calculus that features explicit notions of service definition, service invocation and session handling. Our proposal has been influenced by Orc, a programming model for structured orchestration of services, but the SCC’s session handling mechanism allows for the definition of structured interaction protocols, more complex than the basic request-response provided by Orc. We present syntax and operational semantics of SCC and a number of simple but nontrivial programming examples that demonstrate flexibility of the chosen set of primitives. A few encodings are also provided to relate our proposal with existing ones

    Преимущества и недостатки использования ORM в разработке

    Get PDF
    Usage object-relational mapping for solving the problem of interaction between object-oriented programming and relational database management system. Advantages and disadvantages

    A Comparative Analysis of Structured and Object-Oriented Programming Methods

    Get PDF
    The concepts of structured and object-oriented programming methods are not relatively new but these approaches are still very much useful and relevant in today’s programming paradigm. In this paper, wedistinguish the features of structured programs from that of object oriented programs. Structured programming is a method of organizing and coding programs that can provide easy understanding and modification, whereas objectoriented programming (OOP) consists of a set of objects, which can vary dynamically, and which can execute byacting and reacting to each other, in much the same way that a real-world process proceeds (the interaction of realworldobjects). An object-oriented approach makes programs more intuitive to design, faster to develop, more amenable to modifications, and easier to understand. With the traditional, procedural-oriented/structuredprogramming, a program describes a series of steps to be performed (an algorithm). In the object-oriented view of programming, instead of programs consisting of sets of data loosely coupled to many different procedures, objectoriented programs consist of software modules called objects that encapsulate both data and processing while hidingtheir inner complexities from programmers and hence from other object

    A Comparative Analysis of Structured and Object-Oriented Programming Methods

    Get PDF
    The concepts of structured and object-oriented programming methods are not relatively new but these approaches are still very much useful and relevant in today’s programming paradigm. In this paper, wedistinguish the features of structured programs from that of object oriented programs. Structured programming is a method of organizing and coding programs that can provide easy understanding and modification, whereas objectoriented programming (OOP) consists of a set of objects, which can vary dynamically, and which can execute byacting and reacting to each other, in much the same way that a real-world process proceeds (the interaction of realworldobjects). An object-oriented approach makes programs more intuitive to design, faster to develop, more amenable to modifications, and easier to understand. With the traditional, procedural-oriented/structuredprogramming, a program describes a series of steps to be performed (an algorithm). In the object-oriented view of programming, instead of programs consisting of sets of data loosely coupled to many different procedures, objectoriented programs consist of software modules called objects that encapsulate both data and processing while hidingtheir inner complexities from programmers and hence from other object

    A game-based approach to the teaching of object-oriented programming languages

    Get PDF
    Students often have difficulties when trying to understand the concepts of object-oriented programming (OOP). This paper presents a contribution to the teaching of OOP languages through a game-oriented approach based on the interaction with tangible user interfaces (TUIs). The use of a specific type of commercial distributed TUI (Sifteo cubes), in which several small physical devices have sensing, wireless communication and user-directed output capabilities, is applied to the teaching of the C# programming language, since the operation of these devices can be controlled by user programs written in C#. For our experiment, we selected a sample of students with a sufficient knowledge about procedural programming, which was divided into two groups: The first one had a standard introductory C# course, whereas the second one had an experimental C# course that included, in addition to the contents of the previous one, two demonstration programs that illustrated some OOP basic concepts using the TUI features. Finally, both groups completed two tests: a multiple-choice exam for evaluating the acquisition of basic OOP concepts and a C# programming exercise. The analysis of the results from the tests indicates that the group of students that attended the course including the TUI demos showed a higher interest level (i.e. they felt more motivated) during the course exposition than the one that attended the standard introductory C# course. Furthermore, the students from the experimental group achieved an overall better mark. Therefore, we can conclude that the technological contribution of Sifteo cubes – used as a distributed TUI by which OOP basic concepts are represented in a tangible and a visible way – to the teaching of the C# language has a positive influence on the learning of this language and such basic concepts

    Integration Principles in Numerical Software

    Get PDF
    Since personal computers are currently being used by individuals who are not professional computer specialists, the need for a framework allowing quick and easy development of user-friendly software is necessary. One such framework is the concept of software integration. This concept is now reasonably popular and several software tools allowing for such integration are available on the market. Unfortunately, all of these tools are oriented towards office automation systems, word processing, telecommunications etc. No such tools are available for scientific users which would allow easy utilization of mathematical programming software, model building and analysis etc. This paper presents the system DISO which can support dialogue solving mathematical programming problems. The system allows for the treatment of all mathematical programming modules in a uniform way, allowing easy interaction with the user utilizing various metaphors for data presentation and analysis of results as well as being open -- i.e. new mathematical programming modules can be easily linked to the system. The DISO system has been designed utilizing modern software engineering concepts, like hierarchical program structuring, object-oriented paradigm and abstract data types oriented interface

    The Arena: An indoor mixed reality space

    Get PDF
    ln this paper, we introduce the Arena, an indoor space for mobile mixed reality interaction. The Arena includes a new user tracking system appropriate for AR/MR applications and a new Too/kit oriented to the augmented and mixed reality applications developer, the MX Too/kit. This too/kit is defined at a somewhat higher abstraction levei, by hiding from the programmer low-level implementation details and facilitating ARJMR object-oriented programming. The system handles, uniformly, video input, video output (for headsets and monitors), sound aurelisation and Multimodal Human-Computer Interaction in ARJMR, including, tangible interfaces, speech recognition and gesture recognition.info:eu-repo/semantics/publishedVersio
    corecore