Results 1 - 10
of
41
The JBoss Extensible Server
, 2003
"... JBoss is an extensible, reflective, and dynamically reconfigurable Java application server. It includes a set of components that implement the J2EE specification, but its scope goes well beyond J2EE. JBoss is open-ended middleware, in the sense that users can extend middleware services by dynamicall ..."
Abstract
-
Cited by 50 (4 self)
- Add to MetaCart
JBoss is an extensible, reflective, and dynamically reconfigurable Java application server. It includes a set of components that implement the J2EE specification, but its scope goes well beyond J2EE. JBoss is open-ended middleware, in the sense that users can extend middleware services by dynamically deploying new components into a running server. We believe that no other application server currently offers such a degree of extensibility. This paper focuses on two major architectural parts of JBoss: its middleware component model, based on the JMX model, and its meta-level architecture for generalized EJBs. The former requires a novel class loading model, which JBoss implements. The latter includes a powerful and flexible remote method invocation model, based on dynamic proxies, and relies on systematic usage of interceptors as aspect-oriented programming artifacts.
ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability
- Interoperability”, Proc. International Symposium of Distributed Objects and Applications (DOA’03
, 2003
"... Abstract. Mobile client applications must discover and interoperate with application services available to them at their present location. However, these services will be developed upon a range of middleware types (e.g. RMI and publish-subscribe) and advertised using different service discovery prot ..."
Abstract
-
Cited by 40 (14 self)
- Add to MetaCart
Abstract. Mobile client applications must discover and interoperate with application services available to them at their present location. However, these services will be developed upon a range of middleware types (e.g. RMI and publish-subscribe) and advertised using different service discovery protocols (e.g. UPnP and SLP) unknown to the application developer. Therefore, a middleware platform supporting mobile client applications should ideally adapt its behaviour to interoperate with any type of discovered service. Furthermore, these applications should be developed independently from particular middleware implementations, as the interaction type is unknown until run-time. This paper presents ReM-MoC, a reflective middleware platform that dynamically adapts both its binding and discovery protocol to allow interoperation with heterogeneous services. Furthermore, we present the ReMMoC programming model, which is based upon the Web Services concept of abstract services. We evaluate this work in terms of supporting mobile application development and the memory footprint cost of utilising reflection to create a mobile middleware platform. 1
Just-In-Time Aspects: Efficient Dynamic Weaving for Java
- In Proceedings of the 2nd international conference on Aspect-oriented software development
, 2003
"... Recent developments in service architectures suggest that run-time adaptations could be implemented with dynamic AOP. In this paper we discuss application requirements on run-time AOP support and present a system that addresses these requirements. We provide basic support for weaving using the Just- ..."
Abstract
-
Cited by 39 (3 self)
- Add to MetaCart
Recent developments in service architectures suggest that run-time adaptations could be implemented with dynamic AOP. In this paper we discuss application requirements on run-time AOP support and present a system that addresses these requirements. We provide basic support for weaving using the Just-In-Time compiler, while the AOP system is treated as an exchangeable module on top of the basic support. This approach allows us to provide a low run-time overhead, AOP system exibility, and secure weaving. We provide an extensive empirical evaluation and discuss the trade-o s resulting from using the JIT compiler and a modularized architecture.
A reflective framework for discovery and interaction in heterogeneous mobile environments
- SIGMOBILE Mob. Comput. Commun. Rev
, 2005
"... To operate in dynamic and potentially unknown scenarios a mobile client discovers the local services that match its requirements, and interacts with these to obtain the application functionality. However, mobile environments are populated by heterogeneous mobile service platforms; these range from d ..."
Abstract
-
Cited by 28 (8 self)
- Add to MetaCart
To operate in dynamic and potentially unknown scenarios a mobile client discovers the local services that match its requirements, and interacts with these to obtain the application functionality. However, mobile environments are populated by heterogeneous mobile service platforms; these range from discovery protocols including SLP, UPnP and Jini to different styles of service interaction paradigms e.g. Remote Procedure Call, Publish-Subscribe and agent based solutions. Therefore given this type of heterogeneity, utilizing single discovery and interaction systems is not optimal as the client will only be able to use the services available to that particular platform. Hence, in this paper we present an adaptive middleware solution to this problem. ReMMoC is a Web-Services based reflective middleware that allows mobile clients to be developed independently of both discovery and interaction mechanisms. We describe the architecture, which dynamically reconfigures to match the current service environment. Finally, we investigate the incurred performance overhead such dynamic behaviour brings to the discovery and interaction process. I.
GRIDKIT: Pluggable Overlay Networks for Grid Computing
, 2004
"... A `second generation' approach to the provision of Grid middleware is now emerging which is built on service-oriented architecture and web services standards and technologies. However, advanced Grid applications have significant demands that are not addressed by present-day web services platform ..."
Abstract
-
Cited by 27 (15 self)
- Add to MetaCart
A `second generation' approach to the provision of Grid middleware is now emerging which is built on service-oriented architecture and web services standards and technologies. However, advanced Grid applications have significant demands that are not addressed by present-day web services platforms. As one prime example, current platforms do not support the rich diversity of communication `interaction types' that are demanded by advanced applications (e.g. publish-subscribe, media streaming, peer-to-peer interaction).
A Model for Developing Component-Based and Aspect-Oriented Systems
- in 5th Int. Symposium on Software Composition (SC), ser. LNCS
, 2006
"... Abstract. Aspect-Oriented Programming (AOP) and Component-Based Software Engineering (CBSE) offer solutions to improve the separation of concerns and to enhance a program structure. If the integration of AOP into CBSE has already been proposed, none of these solutions focus on the application of CBS ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
Abstract. Aspect-Oriented Programming (AOP) and Component-Based Software Engineering (CBSE) offer solutions to improve the separation of concerns and to enhance a program structure. If the integration of AOP into CBSE has already been proposed, none of these solutions focus on the application of CBSE principles to AOP. In this paper we propose a twofold integration of AOP and CBSE. We introduce a general model for components and aspects, named Fractal Aspect Component (FAC). FAC decomposes a software system into regular components and aspect components (ACs), where an AC is a regular component that embodies a crosscutting concern. We reify the aspect domain of an AC and the relationship between an AC and a component, called an aspect binding, as first-class runtime entities. This clarifies the architecture of a system where components and aspects coexist. The system can evolve from the design to the execution by adding or removing components, aspects or bindings. 1
Exploiting reflection in mobile computing middleware
- ACM SIGMOBILE Mobile Computing and Communications Review
, 2002
"... The increasing popularity of portable devices and recent advances in wireless networking technologies facilitate the engineering of new classes of applications, which present challenging problems to designers. Mobile devices face temporary and unannounced loss of network connectivity when they are m ..."
Abstract
-
Cited by 21 (2 self)
- Add to MetaCart
The increasing popularity of portable devices and recent advances in wireless networking technologies facilitate the engineering of new classes of applications, which present challenging problems to designers. Mobile devices face temporary and unannounced loss of network connectivity when they are moved, they are likely to have scarce resources, and they are required to react to frequent changes in the environment. To accommodate these new requirements imposed by mobility, middleware platforms for mobile computing must be capable of both deployment-time configurability and run-time reconfigurability. We illustrate how reflective techniques can be exploited by middleware designers to address these requirements. We discuss two complementary approaches: CARISMA, where reflection is used to support dynamic adaptation of middleware behaviour to changes in context, and ReMMoC, which uses reflection to accommodate heterogeneity requirements imposed by both applications and underlying device platforms. I.
DADO: Enhancing middleware to support cross-cutting features in distributed, heterogeneous systems
, 2003
"... Some "non-' or "extra-functional" features, such as reliability, security, and tracing, defy modularization mechanisms in programming languages. This makes such features hard to design, implement, and maintain. Implementing such features within a single platform, using a single language, is hard eno ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
Some "non-' or "extra-functional" features, such as reliability, security, and tracing, defy modularization mechanisms in programming languages. This makes such features hard to design, implement, and maintain. Implementing such features within a single platform, using a single language, is hard enough. With distributed, heterogeneous (DH) systems, these features induce complex implementations which cross-cut different languages, OSs, and hardware platforms, while still needing to share data and events. Worse still, the precise requirements for such features are often locality-dependent and discovered late (e.g., security policies). The DADO approach helps program cross-cutting features by improving middleware. A DADO service comprises pairs of adaplets which are explicitly modeled in IDL. Adaplets may be implemented in any language compatible with the target application, and attached to stubs and skeletons of application objects in a variety of ways. DADO supports flexible and type-checked interactions (using generated stubs and skeletons) between adaplets and between adaplets and objects. Adaplets can be attached at run-time to an application object. We describe the approach and illustrate its use for several cross-cutting features, including performance monitoring, caching, and security. We also discuss software engineering process, as well as run-time performance implications.
NETKIT: A Software Component-Based Approach to Programmable Networking
"... While there has already been significant research in support of openness and programmability in networks, this paper argues that there remains a need for generic support for the integrated development, deployment and management of programmable networking software. We further argue that this support ..."
Abstract
-
Cited by 14 (10 self)
- Add to MetaCart
While there has already been significant research in support of openness and programmability in networks, this paper argues that there remains a need for generic support for the integrated development, deployment and management of programmable networking software. We further argue that this support should explicitly address the management of run-time reconfiguration of systems, and should be independent of any particular programming paradigm (e.g. active networking or open signaling), programming language, or hardware/ operating system platform. In line with these aims, we outline an approach to the structuring of programmable networking software in terms of a ubiquitously applied software component model that can accommodate all levels of a programmable networking system from low-level system support, to in-band packet handling, to active networking execution environments to signaling and coordination.
P.: An Adaptive Middleware to Overcome Service Discovery Heterogeneity in Mobile Ad Hoc Environments
- IEEE Distributed Systems Online
, 2007
"... A configurable and dynamically reconfigurable multipersonality middleware supports the discovery of services advertised on multiple platforms and achieves interoperability between heterogeneous discovery protocols. In pervasive computing environments, computer systems vanish into the background, pro ..."
Abstract
-
Cited by 14 (9 self)
- Add to MetaCart
A configurable and dynamically reconfigurable multipersonality middleware supports the discovery of services advertised on multiple platforms and achieves interoperability between heterogeneous discovery protocols. In pervasive computing environments, computer systems vanish into the background, providing users with relevant services and information anytime, anywhere. Without prior knowledge of the available resources or what method should be used to communicate with them, discovering the appropriate services is challenging. Many service discovery protocols (SDPs) address this task. Each is typically tailored for a specific environment type. For example, protocols for fixed infrastructure networks include SLP (Service Location Protocol), UPnP (Universal Plug and Play), and Jini, and protocols for adhoc networks include Allia, 1 GSD (Group-based Service Discovery), 2 and SSD (Scalable Service Discovery). 3 These protocols have a common purpose: to advertise and discover services. Nevertheless, they differ significantly in terms of, for example, service descriptions and directory architectures. So, finding services advertised using multiple protocols is an important challenge. Numerous middleware technologies for overcoming SDP heterogeneity have emerged. 4–8 However, these solutions are limited in scope. They tend to focus on fixed-infrastructure wired and wireless

