Expressing the general behaviour of a set of robots working together is a difficult task. Self reconfigurable robots or a team of robots playing football are examples of such problem. To control a set of homogeneous o...
详细信息
ISBN:
(纸本)9781424424948
Expressing the general behaviour of a set of robots working together is a difficult task. Self reconfigurable robots or a team of robots playing football are examples of such problem. To control a set of homogeneous or heterogeneous robotic components, one needs to express synchronous and asynchronous computation, from a local or a global point of view. In this paper we propose a unique language to express the behaviour of a set of heterogeneous robots.
Integrating wireless sensor networks in heterogeneous networks is a complex task. A reason is the absence of a standardized data exchange format that is supported in all participating sub networks. XML has evolved to ...
详细信息
ISBN:
(纸本)9789639799363
Integrating wireless sensor networks in heterogeneous networks is a complex task. A reason is the absence of a standardized data exchange format that is supported in all participating sub networks. XML has evolved to the de facto standard data exchange format between heterogeneous networks and systems. However, XML usage within sensor networks has not been introduced because of the limited hardware resources. In this paper, we introduce XML template objects making XML usage applicable within sensor networks. This new XML data binding technique provides significant high compression results while still allowing dynamic XML processing and XML navigation. This is a step towards more complex but exchangeable data management in sensor networks and the extension of the service-oriented paradigm to sensor network application engineering.
Many bioinformatics tasks involve creating a computational pipeline from existing software components and algorithms. The traditional approach is to glue components together using scripts written in a programming lang...
详细信息
Many bioinformatics tasks involve creating a computational pipeline from existing software components and algorithms. The traditional approach is to glue components together using scripts written in a programming language such as Perl. However, a new, more powerful approach is emerging that promises to revolutionise the way bioinformaticians create applications from existing components, an approach based on the concept of the scientific workflow. Scientific workflows are created in graphical environments known as workflow management systems. They have many benefits over traditional program scripts, including speed of development, portability, and their suitability for developing complex, distributed applications. This chapter explains how to design and implement bioinformatics workflows using free, Open Source software tools, such as the Tav-erna workflow management system. We also demonstrate how new and existing tools can be deployed as Web services so that they can be easily integrated into novel computational pipelines using the scientific workflow paradigm. less
The problem of regulating access to XML documents has attracted much attention from both academic and industry communities. In existing approaches, the XML elements specified by access policies axe either accessible o...
详细信息
The problem of regulating access to XML documents has attracted much attention from both academic and industry communities. In existing approaches, the XML elements specified by access policies axe either accessible or inaccessible according to their sensitivity. However, in some cases, the original XML elements are sensitive and inaccessible, but after being processed in some appropriate ways, the results become insensitive and thus accessible. This paper proposes a policy language to accommodate such cases, which can express the downgrading operations on sensitive data in XML documents through explicit calculations on them. The proposed policy language is called calculation-embedded schema (CSchema), which extends the ordinary schema languages with protection type for protecting sensitive data and specifying downgrading operations. CSchema language has a type system to guarantee the type correctness of the embedded calculation expressions and moreover this type system also generates a security view after type checking a CSchema policy. Access policies specified by CSchema are enforced by a validation procedure, which produces the released documents containing only the accessible data by validating the protected documents against CSchema policies. These released documents are then ready to be accessed by, for instance, XML query engines. By incorporating this validation procedure, other XML processing technologies can use CSchema as the access control module.
One of the most difficult tasks in software development is that the programmer must implement a feature going through a laborious and error prone process of modifying the programs of other features. The programs of th...
详细信息
One of the most difficult tasks in software development is that the programmer must implement a feature going through a laborious and error prone process of modifying the programs of other features. The programs of the different features entangle in the same reusable program units of the prograrnming language, making them also difficult to be verified, maintained and reused. We show that if (C1) the features interact, (C2) they are executed by the same process and (C3) they are implemented in a programming language that requires the programmer to specify execution flows, program entanglement is inevitable and the problem cannot be solved by software design alone. Applications with interacting features are common including those that require exception handling. The feature language extensions (FLX) is a set of programming language constructs designed to enable the programmer to develop interacting features as separate and reusable program modules even though the features interact. The programmer uses FLX to specify non-procedural program units, organize the program units into reusable features and integrate features into executable feature packages. He develops a feature based on a model instead of the code of other features. FLX supports an automatic procedure to detect the interaction condition among features;the programmer then resolve the interaction in a feature package without changing feature code. FLX features and feature packages are reusable;the programmer may package different combinations of them and resolve their interactions differently to meet different user needs. An FLX to Java compiler has been implemented;our experience of using it has been very positive. (c) 2006 Elsevier B.V. All rights reserved.
Programmers writing multithreaded applications in languages like Java and C++ spend much of their time determining what state is shared among threads and how best to protect its integrity within the running applicatio...
详细信息
Programmers writing multithreaded applications in languages like Java and C++ spend much of their time determining what state is shared among threads and how best to protect its integrity within the running application. Finding all the shared state isn't always easy. Assuming the programmer can even find it, he or she must then possess the skills, experience, and patience necessary to determine the best way to serialize access to it. Adding to the difficulty is the locking granularity used to protect shared state. If locking is too coarse-grained, the application tends toward single-threading, because only one thread at a time can obtain the lock that predictably surrounds a large portion of the code. Such applications make poor use of multicore CPUs and tend to be slow. If locking is too fine-grained, on the other hand, the chances for deadlock increase greatly as different threads are increasingly likely to obtain locks in different orders. Getting it right takes time: fine tuning what state needs protection, and at what granularity, sometimes requires months of development time. Idioms, patterns, and frameworks can help out partially, but they introduce restrictions and trade-offs of their own. Ultimately, all it takes is one developer overlooking one small piece of shared state to cause a large system to crash in production - usually at the worst possible time for the most important customer. One way to avoid the problems with shared state is to simply avoid it, but that's impractical in a language like C++ or Java. Doing so requires a combination of libraries or frameworks such as those based on actor models and message passing, as Guerraoui described. It also requires significant programmer discipline because the programming languages themselves can't do anything to help developers completely circumvent shared state. Rather than using the programming language as intended, the developer is forced to write in what's at best a one- off dialect or worse, a who- le
Rapid prototyping is an important element in researching new imaging analysis techniques and developing custom medical applications. In the last ten years, the open source community and the number of open source libra...
详细信息
Rapid prototyping is an important element in researching new imaging analysis techniques and developing custom medical applications. In the last ten years, the open source community and the number of open source libraries and freely available frameworks for biomedical research have grown significantly. What they offer are now considered standards in medical image analysis, computer-aided diagnosis, and medical visualization. A cursory review of the peer-reviewed literature in imaging informatics (indeed, in almost any information technology-dependent scientific discipline) indicates the current reliance on open source libraries to accelerate development and validation of processes and techniques. In this survey paper, we review and compare a few of the most successful open source libraries and frameworks for medical application development. Our dual intentions are to provide evidence that these approaches already constitute a vital and essential part of medical image analysis, diagnosis, and visualization and to motivate the reader to use open source libraries and software for rapid prototyping of medical applications and tools.
The author reflects on the significance of acquiring the best tool in designing a system's architecture and evokes the need to improve the tools that compile the software. The author reveals that most applications...
详细信息
The author reflects on the significance of acquiring the best tool in designing a system's architecture and evokes the need to improve the tools that compile the software. The author reveals that most applications and software-building tools quickly become out-of-date. He suggests that programmers must search for support tools that could build reliable, secure, efficient, usable and maintainable software while offering big productivity gains and highest expressive power.
In the previous issue, the author disclosed the concurrency features of Erlang, a programming language created at Ericsson more than 20 years ago for implementing telecommunications systems with stringent reliability,...
详细信息
In the previous issue, the author disclosed the concurrency features of Erlang, a programming language created at Ericsson more than 20 years ago for implementing telecommunications systems with stringent reliability, distribution, and uptime requirements. In this paper, the author explains that Erlang's concurrency primitives provide more than just a fast way to create threads. They also enable parts of an application to monitor other parts - even if they're running on separate hosts across the network - and restart those other parts should they fail. Erlang's libraries and frameworks take advantage of these capabilities to let developers build systems with extreme availability and reliability.
Appearance of computing machines dates back to the 1940s and their corresponding scientific disciplines, computer science resp. informatics, have arisen in the 1960s. Nevertheless, fighting for appropriate programming...
详细信息
ISBN:
(纸本)9783540752202
Appearance of computing machines dates back to the 1940s and their corresponding scientific disciplines, computer science resp. informatics, have arisen in the 1960s. Nevertheless, fighting for appropriate programming and specification languages has not yet come to an end: The Java-programming language and the Abstract State Machines ASM are new and representative specimens which have arisen recently. These languages are even advancing and improving themselves: Original Java 1996, a flat languagelanguage without class nestings, towards more modern Java 2000 with nested classes, and Basic ASM resp. Evolving Algebras 1988/91 towards Turbo ASM 2003 where machines and rules show new features like naming, parameterizing, local states and recursive calls. These transitions inside Java resp. ASM remind at a much earlier transition from Fortran and Algol 58 to Algol 60 with its block concept and nested, parameterized, recursive and formal procedures. Aim of the present essay is to show that many of those new concepts incorporated in new Java and Turbo ASM were already available in Algo160.
暂无评论