53,896 research outputs found
Safer typing of complex API usage through Java generics
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
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
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
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
Recommended from our members
BDEF : the behavioral design data exchange format
BDDB is a Behavioral Design Data Base that manages the design data produced and consumed by different behavioral synthesis tools. These different design tools retrieve design data from BDDB, manipulate the data, and then store the results back into the data base. BDDB thus needs to address the following two issues: (1) a design data exchange approach and (2) customized design data interfaces. To address the first issue, we have developed a textual description format for describing design data objects and relationships. This language, referred to as the Behavioral Design Data Exchange Format (BDEF), is used as common format for exchanging design data between BDDB and the design tools in the behavioral synthesis environment. To address the second issue, we have developed a behavioral object type description language (generally referred to as schema definition language) for describing the global data structures required by design tools as well as the desired design subviews of this global BDDB design information. One design view class, namely, BDEF, is the topic of this report.In this report we give a formal definition of the BDEF format. Then we describe a comprehensive example of applying BDEF to the behavioral synthesis domain. That is, we present the complete BDEF syntax for the Extended Control/Data Flow Graph Model (ECDFG), which is the design representation model used by most behavioral synthesis tools in the UCI CADLAB synthesis system. We also present several example descriptions of designs using this ECDFG model. A parser/graph compiler from BDEF into the generalized ECDFG design representation as well as a BDEF generator from the ECDFG data structures into the BDEF format have been implemented
Recommended from our members
Technical Issues in the Development of Knowledge-Based Services for the Semantic Web
The Semantic Web aims to extend the current Web with formal semantics in order to improve how users experience the Web, by ameliorating current activities and supporting the automation of some others. So far, current Semantic Web prototypes mostly aim at collecting and exposing information. Still, a semantic layer can support applying Knowledge-Based Systems techniques to the development of brand-new fully-fledged Knowledge-Based Services for the Web. In this paper, we present the technical issues that have to be faced in the development of such a kind of application by presenting the Online Design of Events Application: a Semantic Web-based design support system that assists event organisers in the process of preparing events such as workshops and conferences, by effectively reasoning over an inter-organisational process across the Web
Design and implementation of the land surface model NaturalEnvironment within the generic framework OpenDanubia for integrative, distributed environmental modelling
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
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
- …