53,896 research outputs found

    Safer typing of complex API usage through Java generics

    Get PDF
    When several incompatible implementations of a single API are in use in a Java program, the danger exists that instances from different implementations may inadvertently be mixed, leading to errors. In this paper we show how to use generics to prevent such mixing. The core idea of the approach is to add a type parameter to the interfaces of the API, and tie the classes that make up an implementation to a unique choice of type parameter. In this way methods of the API can only be invoked with arguments that belong to the same implementation. We show that the presence of a type parameter in the interfaces does not violate the principle of interface-based programming: clients can still completely abstract over the choice of implementation. In addition, we demonstrate how code can be reused between different implementations, how implementations can be defined as extensions of other implementations, and how different implementations may be mixed in a controlled and safe manner. To explore the feasibility of the approach, gauge its usability, and identify any issues that may crop up in practical usage, we have refactored a fairly large existing API-based application suite, and we report on the experience gained in the process

    HTTP Mailbox - Asynchronous RESTful Communication

    Full text link
    We describe HTTP Mailbox, a mechanism to enable RESTful HTTP communication in an asynchronous mode with a full range of HTTP methods otherwise unavailable to standard clients and servers. HTTP Mailbox allows for broadcast and multicast semantics via HTTP. We evaluate a reference implementation using ApacheBench (a server stress testing tool) demonstrating high throughput (on 1,000 concurrent requests) and a systemic error rate of 0.01%. Finally, we demonstrate our HTTP Mailbox implementation in a human assisted web preservation application called "Preserve Me".Comment: 13 pages, 6 figures, 8 code blocks, 3 equations, and 3 table

    Design issues for the Generic Stream Encapsulation (GSE) of IP datagrams over DVB-S2

    Get PDF
    The DVB-S2 standard has brought an unprecedented degree of novelty and flexibility in the way IP datagrams or other network level packets can be transmitted over DVB satellite links, with the introduction of an IP-friendly link layer - he continuous Generic Streams - and the adaptive combination of advanced error coding, modulation and spectrum management techniques. Recently approved by the DVB, the Generic Stream Encapsulation (GSE) used for carrying IP datagrams over DVBS2 implements solutions stemmed from a design rationale quite different from the one behind IP encapsulation schemes over its predecessor DVB-S. This paper highlights GSE's original design choices under the perspective of DVB-S2's innovative features and possibilities

    A Tunnel-aware Language for Network Packet Filtering

    Get PDF
    Abstract—While in computer networks the number of possible protocol encapsulations is growing day after day, network administrators face ever increasing difficulties in selecting accurately the traffic they need to inspect. This is mainly caused by the limited number of encapsulations supported by currently available tools and the difficulty to exactly specify which packets have to be analyzed, especially in presence of tunneled traffic. This paper presents a novel packet processing language that, besides Boolean filtering predicates, introduces special constructs for handling the more complex situations of tunneled and stacked encapsulations, giving the user a finer control over the semantics of a filtering expression. Even though this language is principally focused on packet filters, it is designed to support other advanced packet processing mechanisms such as traffic classification and field extraction. I

    Design and implementation of the land surface model NaturalEnvironment within the generic framework OpenDanubia for integrative, distributed environmental modelling

    Get PDF
    The project GLOWA-Danube (http://www.glowa-danube.de) aimed at investigating the manifold consequences of Global Change on regional water resources in the Upper Danube Basin. In order to achieve this task, an interdisciplinary, university-based network of experts developed the integrative Decision Support System OpenDanubia (OD). The common base for implementing and coupling the various scientific model components is a generic framework, which provides the coordination of the coupled models that run in parallel exchanging iteratively data via their interfaces. The OD framework takes care of technical aspects, such as ordered data exchange between sub-models, data aggregation, data output, model parallelization and data distribution over the network, which means that model developers do not have to be concerned about complexities evolving from coupling their models. Within this framework the sub-model NaturalEnvironment, representing a land surface model, was developed and implemented. The object-oriented design of this sub-model facilitates a plain, logical representation of the actual physical processes simulated by the sub-model. Physical processes to be modelled are organized in naturally ordered, exchangeable lists that are executed on each spatial computation unit for each modelling time step, depending on their land cover. The type of land cover to be simulated on each freely defined spatial unit is distinguished by one of the three types aquatic, terrestrial and glacier. Additionally, the type terrestrial is influenced by dynamic land use changes which can be triggered e.g. by the socio-economic OD sub-model Farming. This paper presents the basic design of the open source (GPL'ed) OD framework and highlights the implementation of the sub-model NaturalEnvironment within this framework, as well as its interactions with other components included in OD

    Towards a Domain Specific Language for a Scene Graph based Robotic World Model

    Full text link
    Robot world model representations are a vital part of robotic applications. However, there is no support for such representations in model-driven engineering tool chains. This work proposes a novel Domain Specific Language (DSL) for robotic world models that are based on the Robot Scene Graph (RSG) approach. The RSG-DSL can express (a) application specific scene configurations, (b) semantic scene structures and (c) inputs and outputs for the computational entities that are loaded into an instance of a world model.Comment: Presented at DSLRob 2013 (arXiv:cs/1312.5952
    corecore