Change can be observed in our environment and in the technology we build. While changes in the environment happen continuously and implicitly, our technology has to be kept in sync withthe changing world around it. A...
详细信息
Change can be observed in our environment and in the technology we build. While changes in the environment happen continuously and implicitly, our technology has to be kept in sync withthe changing world around it. Although for some of the changes we can prepare, for most of them we cannot. this is especially true for next generation mobile communication systems that are expected to support the creation of a ubiquitous society where virtually everything is connected and made available within an organic information network. Resources frequently join or leave the network, new types of media or new combinations of existing ones are used to interact and cooperate, and services are tailored to preferences and needs of individual customers to better meet their needs. We outline our research in the area of dynamic service adaptation to provide concepts and technologies allowing for such environments.
the proceedings contain 21 papers. the special focus in this conference is on object-orientedprogramming. the topics include: Built-in object security;modeling crosscutting in aspect-oriented mechanisms;spontaneous c...
ISBN:
(纸本)9783540405313
the proceedings contain 21 papers. the special focus in this conference is on object-orientedprogramming. the topics include: Built-in object security;modeling crosscutting in aspect-oriented mechanisms;spontaneous container services;a calculus of untyped aspect-oriented programs;language support for connector abstractions;mobile object exchange for collaborative applications;regular object types;external uniqueness is unique enough;a nominal theory of objects with dependent types;composable units of behaviour;a type system and analysis for the automatic extraction and enforcement of design information;an automated and lightweight tool for diagnosing memory leaks in large java applications;java subtype tests in real-time;discovering algebraic specifications from java classes;a refinement algebra for object-orientedprogramming and object-oriented reading techniques for inspection of UML models - an industrial experiment.
this paper presents the reverse engineering tool JSPick, which recovers page signatures and form types from server pages based presentation layers. A formal semantics of the tool is given in pseudo-evaluation style.
ISBN:
(纸本)0769519024
this paper presents the reverse engineering tool JSPick, which recovers page signatures and form types from server pages based presentation layers. A formal semantics of the tool is given in pseudo-evaluation style.
By the use of dynamic replication schemes - in comparison with static replication schemes - a tremendous increase of read and write operation availabilities can be achieved. Furthermore, object-orientedprogramming la...
详细信息
ISBN:
(纸本)0769518753
By the use of dynamic replication schemes - in comparison with static replication schemes - a tremendous increase of read and write operation availabilities can be achieved. Furthermore, object-orientedprogramming languages like Java offer excellent possibilities for the abstraction of complex problems. In this paper we present our solution of combining dynamic replication and its use in object-orientedprogramming. More precisely, we show how Java objects can be made highly available through the use of dynamic replication in an almost transparent manner from the Java application programmer's perspective. this is done by using a general, highly flexible framework which enables the use of a large number of dynamic replication schemes. We show how the framework can be integrated, such that it is conveniently available for Java application programmers. We demonstrate its simple use, even when being introduced a posteriori in a Java program: one need only to modify a few lines of code.
In this article we introduce a comprehensive set of algebraic laws for ROOL, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the object-oriented feature...
详细信息
ISBN:
(纸本)3540405313
In this article we introduce a comprehensive set of algebraic laws for ROOL, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the object-oriented features of the language. We show that this set of laws is complete in the sense that it is sufficient to reduce an arbitrary ROOL program to a normal form expressed in a restricted subset of the ROOL operators. We also propose a law for data refinement that generalises the technique from traditional modules to class hierarchies. Together, these laws are expressive enough to derive more elaborate rules that can be useful, for example, to formalize object-oriented design practices;this is illustrated through the systematic derivation of a refactoring from the proposed laws.
this paper proposes a software architecture to unify disparate application frameworks that have Interface Definition Language (IDL) and which support RPC-based communication between client and server, thus enabling di...
详细信息
ISBN:
(纸本)9729881618
this paper proposes a software architecture to unify disparate application frameworks that have Interface Definition Language (IDL) and which support RPC-based communication between client and server, thus enabling distributed computation using disparate frameworks. the architecture also demonstrates how inheritance from classes belonging to disparate object-oriented application frameworks is possible.
Modeling four aspect-orientedprogramming mechanisms shows the way in which each supports modular crosscutting. Comparing the models produces a clear three part characterization of what is required to support crosscut...
详细信息
ISBN:
(纸本)3540405313
Modeling four aspect-orientedprogramming mechanisms shows the way in which each supports modular crosscutting. Comparing the models produces a clear three part characterization of what is required to support crosscutting structure: a common frame of reference that two (or more) programs can use to connect with each other and each provide their semantic contribution.
Aspects have emerged as a powerful tool in the design and development of systems, allowing for the encapsulation of program transformations. the dynamic semantics of aspects is typically specified by appealing to an u...
详细信息
ISBN:
(纸本)3540405313
Aspects have emerged as a powerful tool in the design and development of systems, allowing for the encapsulation of program transformations. the dynamic semantics of aspects is typically specified by appealing to an underlying object-oriented language via a compiler transformation known as weaving. this treatment is unsatisfactory for several reasons. Firstly, this semantics violates basic modularity principles of object-orientedprogramming. Secondly, the converse translation from object-oriented programs into an aspect language has a simple canonical flavor. Taken together, these observations suggest that aspects are worthy of study as primitive computational abstractions in their own right. In this paper, we describe an aspect calculus and its operational semantics. the calculus is rich enough to encompass many of the features of extant aspect-oriented frameworks that do not involve reflection. the independent description of the dynamic semantics of aspects enables us to specify the correctness of a weaving algorithm. We formalize weaving as a translation from the aspect calculus to a class-based object calculus, and prove its soundness.
Software connectors are increasingly recognized as an important consideration in the design and implementation of object-oriented software systems. Connectors can be used to communicate across a distributed system, co...
详细信息
ISBN:
(纸本)3540405313
Software connectors are increasingly recognized as an important consideration in the design and implementation of object-oriented software systems. Connectors can be used to communicate across a distributed system, coordinate the activities of several objects, or adapt one object's interface to the interface of another. Mainstream object-oriented languages, however, do not provide explicit support for connectors. As a result, connection code is intermingled with application code, making it difficult to understand, evolve, and reuse connection mechanisms. In this paper, we add language support for user-defined connectors to the ArchJava language. Our design enables a wide range of connector abstractions, including caches, events, streams, and remote method calls. Developers can describe boththe run-time semantics of connectors and the typechecking semantics. the connector abstraction supported by ArchJava cleanly separates reusable connection code from application logic, making the semantics of connections more explicit and allowing engineers to easily change the connection mechanisms used in a program. We evaluate the expressiveness and the engineering benefits of our design in a case study applying ArchJava to the PlantCare ubiquitous computing application.
暂无评论