Context-Aware Adaptive Object Migration

Size: px
Start display at page:

Download "Context-Aware Adaptive Object Migration"

Transcription

1 Universität Ulm Fakultät für Informatik Verteilte Systeme Context-Aware Adaptive Object Migration Rüdiger Kapitza Holger Schmidt Franz J. Hauck Bericht Nr. VS-R

2

3 Context-Aware Adaptive Object Migration Rüdiger Kapitza Dept. of Comp. Sciences Informatik 4 University of Erlangen-Nürnberg Germany rrkapitz@cs.fau.de Holger Schmidt Distributed Systems Laboratory University of Ulm Germany holger.schmidt@uniulm.de Franz J. Hauck Distributed Systems Laboratory University of Ulm Germany franz.hauck@uni-ulm.de ABSTRACT Current systems restrict object migration support to a certain language and environment. Only few systems support heterogeneous environments by specifying a languageindependent state transfer format and requiring the same implementation in every target language. In the context of Ambient Computing with mobile applications and users and context-aware adaptive software, a more platformindependent, flexible and adaptive approach for object migration is required. This paper presents a novel approach for adaptive object migration in heterogeneous systems. It is also based on language-independent state transfer but uses standard mechanisms using CORBA value types. This offers ORB- and platform-independent object migration between all CORBA-supported programming languages. Adaptive object-based migration is achieved by providing flexible mechanisms for reducing, expanding or transforming the state of an object before and after migration, respectively, and for adapting the provided functionality according to the current context s requirements (e.g. resource limitations or different steps in a workflow). For this purpose, we introduce a separation of state, functionality and code instead of mapping particular state on particular code. Our prototype system is based on our recent platformindependent CORBA-compliant Life-Cycle Service implementation. So far, we support Java and C++, but an implementation for any other CORBA-supported programming language is possible. 1. INTRODUCTION There is an ongoing trend to integrate and link the physical world to the virtual world of computing resources and applications. Techniques like RFID (radio frequency identifications), sensors (e.g. BTNodes 1 ) and mobile devices, 1 but also positioning systems like GPS (global positioning system) and wireless communication of all kinds, push this trend. Accompanied with this evolution and the rising diversity of systems, new concepts and techniques to provide adaptable and context-aware applications are required. Often, these applications will migrate between different platforms during their lifetime. As a typical example, a follow me application (e.g. personal information manager application ) can have a different interface and state on a laptop, a cellular phone or a publicly accessible web-terminal. In the first case, the full set of features is provided, whereas in case of the cellular phone some data-intensive parts are left out. Finally, in the last case, one would only provide the essential parts of the state to fulfil the demanded task for privacy reasons. In all cases, different hardware and software systems can be expected. In other words, we expect that a mobile application has to adapt its state, the provided functionality and the implementation basis to its execution context, the target system and application-dependent restrictions. Most recent object-based middleware and agent platforms restrict migration support to a certain programming language and environment. Only a few systems provide support for migration in heterogeneous environments such as Agent- Factory [1] or ATS [2]. These rely on a custom languageindependent serialisation format for state transfer and require an implementation providing the same functionality in every target language. This results in high implementation costs in terms of porting the system to a new platform and providing a fully-fledged implementation of a mobile object for each supported target language. The latter is especially the case if only parts of the functionally should be provided or are required on certain systems. In scenarios where the ability to adapt the provided functionality and state is needed like outlined by the follow me example a more platform-independent, flexible and adaptive approach for object migration is required. In this paper, we propose the concept of adaptable mobile objects. These objects are capable of adapting their state, functionality and underlying code basis during migration to the requirements of the target platform and the needs of the object itself. We focus on weak migration. This means that only the state of an object is migrated but no executiondependent state like, e.g., values on the stack. We build on our recent platform- and ORB-independent implementation of the CORBA Life-Cycle Service [3] that is based

4 on CORBA value types [4], a standard CORBA mechanism for passing objects by value. This service combined with a logical separation of the mobile object s state, functionality and code enables support for adaptive object migration in heterogeneous environments. In fact, our current prototype of a dynamic adaptation service for mobile objects, the adaptive object migration (AOM) service, supports the migration of objects between Java and C++. Supporting other CORBA-supported languages requires only moderate implementation effort. To assist the developer during the implementation process, we provide a tool the AOM tool. Additionally, we offer support for mobile objects acting as mobile agents (an object having an own thread that executes autonomously on behalf of a user). The paper is structured as follows: In Section 2, we give an overview of mobile object systems and the CORBA Life- Cycle-Service specification. Then, we present our approach of implementing adaptive object migration for mobile objects. In Section 4, we show related work. Finally, we conclude and discuss future work in Section MOBILE OBJECTS In the following section, we give a brief overview about systems providing object mobility in homogeneous and heterogeneous environments. Then, we introduce our recent realisation of the CORBA Life-Cycle Service specification. Based on this approach, we built our platform that supports adaptation of an object s state and code. 2.1 Providing Object Mobility In the past, a lot of mobile agent systems have been developed, like MOA [5], Mole [6] or Aglets [7], to name a few. However, all of them only provide mechanisms for migration in homogeneous environments. Most of these systems are Java-based and rely on the Java serialization mechanism. Using Java serialization the whole agent object is transferred to the agent s new location. In this case, the state of an agent is tightly attached to the actual implementation. Thus, migrating a specific version to a new place with another implementation version will probably lead to serialization errors. Furthermore, no adaptation of the mobile agent s state or code is supported at all. Nevertheless, mobile agent systems for heterogeneous environments have been developed as well. In [1] a platformneutral approach of agent migration is presented, based on transferring a blueprint instead of the code. This approach can be realised by assuming that an agent consists of a set of different components. For the creation of such an agent, a special AgentFactory is specified, which is responsible for creating an executable agent consisting of the right components from a received blueprint. Thus, migration is based on transferring the blueprint and the state of an object. However, the AgentFactory approach does not provide any support for the adaptation of state or functionality. Choy et al. describe a CORBA environment supporting mobile agents based on mobile CORBA objects [8]. Based on the Life-Cycle Service and the Externalization Service a concept was developed, but apparently not implemented. Furthermore, the concept does not support adaptation of the mobile agent s state or code. For gaining higher interoperability of heterogeneous mobile agent systems, the Object Management Group (OMG) developed a standard for agent communication: the Mobile Agent System Interoperability Facility (MASIF) [9]. The Foundation for Intelligent Physical Agents (FIPA) 1 is another standardisation approach for mobile agent systems. Both, MASIF and FIPA, provide only support for interoperability of agent platforms of different vendors, but lack support for inter-platform migration. Furthermore, they provide no support for adaptation of agents. 2.2 CORBA Life-Cycle Service CORBA is a standardized architecture defined by the Object Management Group (OMG). This architecture enables programmers to create and access objects deployed in a distributed system and provides platform- and languagetransparency. Common middleware tasks like object location, request marshalling and message transmission are performed by the Object Request Broker (ORB). A server object is specified by describing the object s interface using the Interface Definition Language (IDL). This interface is used to generate platform-specific stubs for the client and skeletons for the server side. Both entities act as surrogates dealing with heterogeneity and handle remote invocations and marshalling for the object. Objects are actually implemented by servants that are registered with an object adapter. For invoking remote methods, a client only needs a valid object reference that can be bound by the local ORB instance. CORBA specifies a set of CORBA services. These services represent optional ORB extensions and address general needs of CORBA applications. The Life-Cycle Service [10] is such a CORBA service, as it enables application-controlled object management including mobility and other life-cycle operations. Recently, we proposed a platform-independent implementation of the CORBA Life-Cycle Service specification [3]. Although our initial prototype implementation is based on Java, it is easily portable to any other CORBA-supported language and can be used in different ORBs as it just relies on standard CORBA without any ORB-specific extensions. This has been verified by a further interoperable implementation in C++. The CORBA Life-Cycle Service describes the interfaces of all required components for enabling object mobility in great detail. However, the specification leaves open important issues. For migrating a mobile object, the state and the code have to be transfered (this implies determining the state of the mobile object dynamically at runtime). In principle, the specification describes these processes as an object-specific task that should be handled by the object developer. This has various disadvantages as state transfer methods have to be implemented from scratch for each object. This is error-prone and leads to serious interoperability problems in heterogeneous environments. For state transfer in heterogeneous environments we introduced value types. Value types are a well-known part of the 1

5 3. ADAPTIVE OBJECT MIGRATION In this section, we present our approach of object migration supporting adaptation of state and functionality. First, we give basic background information and outline our basic concept. Then, we sketch possible implementation realisations. Figure 1: Object Migration using the Life-Cycle Service (UML Communication Diagram) CORBA specification [4]. In contrast to standard CORBA objects, value types are transferred by value (call-by-value semantics), leading to a complete copy of the value type at the receiving side. Using value types enables an easy description of an object s state using standard IDL syntax. Furthermore, developers do not have to write special methods for state transfer, as value types are marshalled and demarshalled automatically by the ORB. Like standard CORBA objects, value types can also be activated. In this case, a value type has to support a standard CORBA interface which enables a call-by-reference semantics. Thus, weak heterogeneous object migration can be realised using the CORBA Life-Cycle Service in combination with value types. The Life-Cycle Service specification defines a LifeCycleObject-interface that is implemented by our mobile object. The mobile object is actually a value type that supports the LifeCycleObject-interface, which, beside other methods, offers a move()-method. In conjunction with a remote factory (GenericFactory), that enables the creation of objects on remote servers, the move()-method implements object migration. For this process, another entity a FactoryFinder is needed for searching for an appropriate factory on a remote server. The appropriate location is determined by evaluating parameterized criteria that specify possible target locations. After having found such a factory, the object aka value type can be passed by value as a method-parameter using standard marshalling and demarshalling mechanisms. The created value type has to be activated by the factory using the original object s objectidentifier. Then, the original object has to be removed. Fig. 1 shows the basic workflow of an object migration using the CORBA Life-Cycle Service. As we also intented to support heterogeneous systems, in which the object s code might not be present at the final location, we provided a solution to dynamic code provision as well. Based on our previous work, the Dynamic Loading Service (DLS) [11], we developed a special type of GenericFactory that transparently enables loading of appropriate platform-specific code on demand. This allows dynamic instantiation of previously unknown objects. Furthermore, our solution enables persistent object references by maintaining the object identifier for the whole lifetime of a mobile object. We achieve this by providing a special type of location service that manages the system s object references. For avoiding a bottleneck we enable the usage of arbitrary location services. 3.1 Basic Definitions For transferring a mobile object in homogeneous environments usually the state and the code of this object have to be transferred. Therefore, recent systems only separate the state and the code of an object. For addressing heterogeneous platforms we introduce another abstraction: the separation of state, functionality, and the realising code. Thereby, the functionality of an object is defined by its most derived supported interface. This enables a selection of an appropriate implementation based on a supported interface as already described in Section 2.2. Migration in heterogeneous environments enforces differentiating between implementation-dependent and -independent state. For example, a java.util.hashtable object from the Java class library contains many implementation-dependent state-variables, e.g., a set of diverse constants regarding the used hash-function. In heterogeneous systems it does not make sense to transfer state that is highly specific for a certain implementation, as other implementations are not able to understand these values. This is especially the case if an object is migrated between different programming languages (enabled by our implementation of the CORBA Life-Cycle Service). In such systems, just the implementation-independent state should be transferred; in case of a Hashtable-Object, this state is represented by the actual <key,value>-pairs. To sum it up we consider: Implementation-dependent state as values that are specific for a certain implementation variant of an interface Implementation-independent state as values that are needed by any possible implementation to provide the functionality defined by an interface and values that would be considered as information loss if they were omitted We identified the fact that in various scenarios only parts of the object state are accessed, can be available or should be accessible. If a mobile object moves from one host to another one for fulfilling various steps in a complex workflow, there is data which is not needed on every target platform. Thus, there is state that we call passive on these platforms. Going back to the follow me example from the introduction, the whole state of the personal information manager (PIM) application can be considered as active state on a laptop, as all data can be accessed and modified. As this application object moves to a cellular phone certain data items might not be accessible due to device limitations, like private movies or pictures from the last holiday. In this case, the movies and pictures are passive state that is not available. If the PIM application is accessed from a public web-terminal, huge parts of state might not be transferred due to privacy reasons. Thus, this information can also be

6 Figure 3: Basic Concept of Adaptive State Transfer Mechanism Figure 2: Adaptation of State According to an Object s Functionality considered as passive state as it should not be accessible. We define active and passive state as follows: Active state is represented by the state variables that are used and needed for fulfilling the object s functionality at a certain location Passive state is the state of an object that is not needed, not available or not accessible at a certain location. We believe that in all these three exemplary cases not only the state of an object changes or should be changed but also the interface and the implementation that are provided at the target platform. Fig. 2 shows the adaptation of state and interface on demand according to an object s functionalities requirements. For this purpose, parts of the full state might become passive. However, this passive state might become active again, whenever the object migrates to another location. Thus, even the passive state should be stored, as it might be used again later. 3.2 Basic Concept Fig. 3 shows our concept of adaptive object migration (AOM). We enable adaptation of an object s state according to the required functionality as specified by the interface (cf. Section 3.1). In contrast to previous work, we enable attaching state to a special functionality instead of attaching an object s state to a special implementation (represented by code). For migrating a mobile object, just the state and a description of the required functionality have to be transferred to the new location (cf. Fig. 2). At the new location, our factory is able to create an object that fulfills these requirements containing the active state, which is specified by the required functionality. Our infrastructure supports passivating parts of the state in special state repositories that might be local or remote regarding the current object. We support adaptation of the mobile object whenever it enters or leaves a location. At these intervention points (State Adaptors), we enable activating and passivating state for future implementations of the required functionality. Supporting adaptation on the origin side enables a secure transfer of sensitive data and supports target-systems that are not capable of our adaptive object migration implementation 2. On the other side, the possibility of adaptation on the target side minimizes adaptation efforts on the origin side and, in case of bad network connectivity, allows receiving and storing the complete state for further local adaptation steps. This requires a local state repository as shown on Host D in Fig Implementation Draft In this section, we present an implementation draft for realising our introduced concept for adaptive object migration. As a first step, the developer has to decide which kinds of functionalities should be supported. These kinds of functionalities represent the different facets 3, which the mobile object can adopt during it s life cycle (this affects the behaviour of the object but not the actual object identifier; cf. Section 1). For any functionality, an IDL interface and the corresponding value type (supporting the interface and containing the active and implementation-independent state) has to be specified. For supporting our adaptive object-migration service the value type has to support the LifeCycleObject interface as well. In the next step, the developer has to run a tool our AOM tool that will create a union value type called 2 However, these target-systems have to support the CORBA Life-Cycle Service. Then, migration of already adapted value types is possible. 3 According to the current context, an object with a specific object identifier can have different facets represented by different functionality, state and code

7 valuetype A { private i n t counter ; private S t r i n g message ; } ; valuetype B { private i n t counter ; private S t r i n g l o g i n ; } ; valuetype a o m f u l l { private i n t counter ; private S t r i n g message ; private S t r i n g l o g i n ; } ; Figure 4: Two Value Types and the resulting aom full Value Type Figure 5: Process of Object Migration on the Origin Side (UML Communication Diagram) aom full<id> containing the union set of state variables of all defined value types (representing the facets of a mobile object represented by the same object identifier but offering different functionality). This is done using a simple name matching algorithm, i.e., if a state variable has the same name in different value types, then we assume that these state variables represent identical data (cf. Fig 4). Defining value types containing states with identical names but different types results in an error. Thus, our AOM tool creates a value type that contains the complete set of state variables. This state might become active and passive during runtime, respectively. After having run the AOM tool, the developer has to implement the actual value type realisations for all the programming languages and platforms that should be supported (supporting all facets of the mobile object). This also includes the implementation of the life-cycle operations. However, this effort is quite moderate because the whole migration functionality is provided by the move()-method of the provided AOMManager (cf. Figure 5). This method just has to be called from within the LifeCycleObject s move()- method. An implementation of the other life-cycle operations is simple as well. In [3], we describe this process in detail AOMManager The AOMManager is responsible for the adaptation process on the origin side (cf. State Adaptors, Fig. 3). Further- Figure 6: Exemplary Hierarchy of Possible Keys in the FactoryFinder s Repository more, it is also responsible for searching for an appropriate target location for a pending migration. For this task, a known FactoryFinder is queried on possible factories representing possible migration targets within the scope of the FactoryFinder. These factories have to fulfill given criteria. Our offered FactoryFinders support criteria defining concrete locations (e.g., DNS-Name, IP-Address) and discrete locations specified by a required functionality (see Section 3.3.2). The result of the query is a list of appropriate factories, which are able to create a copy of the mobile object for realising the migration. Our AOMManager is able to select the best factory that is used for object migration. In our prototype implementation, we use the factory at the head of the list, but obiously user-defined policies can be implemented by providing a custom selectfactory() method as well (cf. Fig. 5). For supporting adaptation on the origin side our AOMManager is able to save the active state of the value type to a trusted state repository. Therefore, a savestate()-method of the value type, which has been generated by our AOM tool before, is called. Then, this state is stored to the state repository containing the current aom full<id> value type. In the next step, the AOMManager either adapts the value type to the target value type or sends the original value type which can be adapted at the target side by the factory to the factory by invoking the remote method createfromvaluetype. Passing the value type as a parameter results in transferring a description of the functionality and the affected state to the factory. The application developer decides which variant is processed by passing a boolean parameter (local adaptation). If the mobile object has been created successfully at the factory, the original object is removed and the reference in the location service is updated (see [3]) FactoryFinder As already mentioned in Section 3.3.1, the FactoryFinder represents some kind of abstract location within the CORBA Life-Cycle Service specification. It provides methods for querying for appropriate factories acting as targets for object migration. For fulfilling this task, the FactoryFinder has to maintain a repository of possible factories within the FactoryFinder s domain. Fig. 6 shows our realisation of the repository. Our repository is able to store factories according to their location and

8 provided functionality. Therefore, our factory enables registering and deregistering factories including their metadata. The FactoryFinder s find factories method allows to search for registered factories residing at particular locations and providing particular functionalities, respectively (a list containing every appropriate factory is returned). For this purpose, find factories receives a CORBA Naming Service NameComponent sequence. A NameComponent consists of an <identifier,kind>-pair of strings. We specified two possible kind-values for our FactoryFinder. For a functionality we specified IFC and for a location we specified LOC. The particular identifier represents the functionality and the location, respectively. As find factories receives a NameComponent-sequence, searching for specific functionalities at specific locations within the FactoryFinder s repository is possible as well Factory On the factory side, a value type is automatically created according to the transferred specifications during the unmarshalling process. Our factory is able to use the Dynamic Loading Service (DLS) to load locally unavailable code on demand. This enables instantiating previously unknown objects. If needed, the factory is able to adapt the value type according to the actual platform s and criteria s requirements. In this case, the passivated part of the state is stored to the trusted state repository again. The active state is then loaded from the repository into the adapted value type implementation using the value type s loadstate()-method (generated by the AOM tool as well). After this process, the value type is activated, which enables accessing the object from remote clients State Repository The State Repository is an entity that is able to store the current state of a mobile object. This entity is a plain CORBA object that can be located locally or remotely to the mobile object. The state repository contains the current aom full<id> value type and offers two methods for loading and saving the state, respectively (load state(), save state()). The load state() method takes the description of the desired value type as a parameter and, thus, is able to return the appropriate part of the state. The actual implementation of the State Repository is left open to the developer. E.g., the State repository can be realised by serialising the mobile object s state to external storage (reducing the actual memory load). For reducing communication costs on mobile pervasive devices, it can be useful to have a local State Repository. Then, further adaptations can be done locally. 3.4 Persistent Object References In heterogeneous environments containing mobile objects, persistent object references are needed for clients to access the mobile object anytime. We realised these object references using a special location service (see [3]). However, adapting the functionality (interface) of a mobile object might result in remote call exceptions on the client side, as particular methods might not be present any more. This problem can be solved by asuming that the mobile object Figure 7: Public and Location-Dependend Interface of a Mobile Object has a public interface that does not change and a locationdependend interface that might change (cf. Fig. 7). This can be realised by a value type that has to support the public interface while optionally supporting other locationdependend interfaces. Thus, the location-dependend interface is just used for platform-internal purposes. Nevertheless, this interface is remotely accessible and can be used by clients (these have to handle exceptions if a special locationdependend interface is not existent). As already mentioned in Section 1, our system is able to realise an agent that is able to adapt to the current location s needs. An adaptive mobile agent (AOM-agent) will have management methods for intervening into the agents workflow (public interface). Furthermore, that agent will also offer methods that can be used on the current local node, e.g., for collecting data (location-dependend interface). Careful persistent references can be realised by a mobile object that is just accessed using an object-specific adapter. This adapter is able to throw exceptions in case of nonexistent methods. For supporting the client, these exceptions contain the interfaces offering the needed method 4. Thus, the client is able to adapt the mobile object to current needs. 4. RELATED WORK Almeida et al. propose a dynamic reconfiguration service for CORBA [12]. This service is able to upgrade objects without taking them offline. This entails operations for migration, replacement, addition and removal of managed objects. Objects should provide methods for inspecting and modifying the state. This breaks the OOP concept of encapsulation, as internal state is publicly accessible, and in contrast to our approach object developers have to implement these methods on their own. Furthermore the dynamic reconfiguration service does not allow switching the object s interface or state adaptation. The work of Garbinato et al. introduces Frugal Objects (FROBs) for mobile computing [13]. FROBs are objects within an event-based computing model, which provide adaptability according to their interface (which is represented by events that can be accepted) and their code. These objects support migration as well, but a drawback of this solution is the requirement of using a special non-intuitive 4 The adapter can automatically be generated by our AOM tool and has to catch CORBA BAD OPERATION exceptions and forward system-defined exceptions containing the needed interface. Nevertheless, by calling the remote object s get interface def()-method the currently supported interface can be obtained.

9 There exist also a distributed Self variant called dself [18]. However, there is no support for heterogeneous object migration supporting other programming languages. Figure 8: Overview of Capabilities of Related Migration Approaches FROB programming model that does not allow any loops, forks or synchronization primitives. An Agent Transport Service (ATS) was specified in [14]. There, the CORBA Life-Cycle Service was considered, but finally sorted out in order to support lightweight agents. As in our solution, all migration methods are offered entirely by the platform. In contrast to our approach, ATS does not provide support for adaptation of the agent s state or interface. Bellavista et al. propose the SOMA programming framework for mobile agents [2]. This work offers compliance to CORBA, and to the mobile agent standards MASIF and FIPA. Through this, SOMA achieves a good interoperability with many other mobile agent systems which are also based on these standards. However, SOMA does neither support adaptation of the mobile agent s interface nor of the agent s state. Brandt et al. suggest reassambling agents from smaller subcomponents [15, 16]. This allows exchanging environmentdependent implementations at runtime by selecting an appropriate implementation for a specific environment at runtime. Our approach is even better compared to this solution as our Dynamic Loading Service (DLS) [11] also allows selecting appropriate implementations for specific environments. Furthermore, we support adaptation of the object at the origin side and at the target side; Brand et al. just support adaptation at the target side (this bears the risk of transporting sensible data). Last but not least, we also support changing the object s interface during runtime. Fig. 8 shows an overview of the capabilities of the presented related work. Our approach is the only one supporting dynamic migration of code and state in heterogeneous environments. The programming language Self [17] allows dynamic adaptation of local objects during runtime. Self is an objectoriented programming language based on the prototype concept. This concept allows manipulation of an object s methods and state at runtime. Instead of using inheritance for specialisation, an object developer would just copy an existent object and modify the behaviour to the current needs. 5. CONCLUSION AND FUTURE WORK We presented a novel approach of a dynamic adaptive object migration service for CORBA. Our service is based on the CORBA Life-Cycle Service specification and, thus, provides compatibility to other Life-Cycle Service implementations. In contrast to previous implementations we propose a separation of state, functionality and code. This enables us to provide a service that is capable of supporting heterogeneous platforms and programming languages. Last but not least, we support the user by offering a tool that is able to support the whole development process. As our service implementation is based on standard CORBA and the CORBA Life-Cycle Service, we try to simplify the development process of alternative implementations of our AOM service for any programming languages by taking advantage of the CORBA interface repository in the future. This standardised entity allows introspection of a value type s state and methods. Thus, the generation of the helper methods for loading and saving the state from/to the value type, respectively, are not needed any more. As this is early work, we will further investigate the development model. It is quite complex for a developer to define the state of an adaptive mobile object beforehand. Furthermore, by acting on the assumption of a separation of state and functionality we break the concept of object encapsulation during migration. As shown in this paper, this has many advantages. Nevertheless, we will reconsider this issue. CORBA is not per se a platform for ubiquitous and ambient computing as it is a fully-fledged middleware originally targeting at arbitrary distributed applications running on standard computers. However, there are CORBA implementations like TAO 1 that address small and also embedded devices even under realtime conditions. Thus, using our approach in context of ambient computing applications is already possible. Despite this fact, we will investigate to transfer our approach to other technologies, like, e.g., XML RPC and Web Services, for providing an infrastructure that needs less resources. 6. REFERENCES [1] F.M.T. Brazier et al. Agent factory: generative migration of mobile agents in heterogeneous environments. In Proceedings of the 2002 ACM symposium on Applied computing, pages , Madrid, Spain, ACM Press. [2] P. Bellavista, A. Corradi, and C. Stefanelli. CORBA Solutions for Interoperability in Mobile Agent Environments. In 2nd International Symposium on Distributed Objects and Applications (DOA 00), pages IEEE Computer Society Press, Sep [3] R. Kapitza, H. Schmidt, and F. J. Hauck. Platform-Independent Object Migration in CORBA. 1 schmidt/tao.html

10 In On the Move to Meaningful Internet Systems 2005: CoopIS, DOA, and ODBASE, LNCS 3760, pages Springer Verlag, Oct [4] Object Management Group (OMG). Common Object Request Broker Architecture. Object Management Group (OMG), edition, March [5] D.S. Milojicic, W. LaForge, and D. Chauhan. Mobile Objects and Agents (MOA). In 4th USENIX Conference on Object-Oriented Technologies and Systems, pages , Santa Fe, New Mexico, [18] R. Tolksdorf and K. Knubben. Programming Distributed Systems with the Delegation-based Object-Oriented Language dself. In ACM 2002 SYMPOSIUM ON APPLIED COMPUTING SAC02, Technical Track on Programming Languages and Object Technologies, [6] M. Strasser, J. Baumann, and F. Hohl. Mole: A Java based mobile agent system. Proceedings of the 2nd ECOOP Workshop on Mobile Object Systems, [7] D.B. Lange and M. Oshima. Programming and Deploying Java Mobile Agents Aglets, [8] Choy, Breust, and Magedanz. A CORBA Environment Supporting Mobile Objects. Technical Report White Paper Draft Version 1, IKV++ GmbH, [9] D.S. Milojicic et al. MASIF: The OMG Mobile Agent System Interoperability Facility. In Mobile Agents: Second International Workshop, MA 98, volume 1477/1998, page 50, Stuttgart, Germany, Springer LNCS [10] Object Management Group (OMG). Life Cycle Service Specification. OMG Document formal/ , [11] R. Kapitza and F.J. Hauck. DLS: a CORBA service for dynamic loading of code. In Proceedings of the OTM Confederated International Conferences, Sicily, Italy, [12] J. Almeida, M. Wegdam, M. van Sinderen, and L. Nieuwenhuis. Transparent Dynamic Reconfiguration for CORBA. In 3rd International Symposium on Distributed Objects and Applications, pages IEEE Computer Society, Sept [13] Benoit Garbinato, Rachid Guerraoui, Jarle Hulaas, Ole Lehrmann Madsen, Maxime Monod, and Jesper Honig Spring. Mobile Computing with Frugal Objects. Technical report, EPFL I&C, [14] Carlos Arias Mendez and Manuel Mendes. Agent Migration Issues in CORBA Platforms. In 5th International Symposium on Autonomous Descentralized Systems ISADS 99, Mar [15] R. Brandt, C. Hörtnagel, and H. Reiser. Dynamically Adaptable Mobile Agents for Scaleable Software and Service Management. Journal of Communications and Networks, 3(4): , dec [16] R. Brandt and H. Reiser. Dynamic Adaptation of Mobile Agents in Heterogenous Environments. In Mobile Agents: Fifth International Conference (MA 2001), pages Springer LNCS 2240, Dec [17] R. B. Smith and D. Ungar. Programming as an Experience: The Inspiration for Self. In ECOOP 95 Conference, Aug 1995.

A Framework for Adaptive Mobile Objects in Heterogeneous Environments

A Framework for Adaptive Mobile Objects in Heterogeneous Environments A Framework for Adaptive Mobile Objects in Heterogeneous Environments Rüdiger Kapitza 1, Holger Schmidt 2, Guido Söldner 1, and Franz J. Hauck 2 1 Dept. of Comp. Sciences, Informatik 4, University of Erlangen-Nürnberg,

More information

Platform-Independent Object Migration in CORBA

Platform-Independent Object Migration in CORBA Platform-Independent Object Migration in CORBA Rüdiger Kapitza 1, Holger Schmidt 2, and Franz J. Hauck 2 1 Dept. of Comp. Sciences, Informatik 4, University of Erlangen-Nürnberg, Germany rrkapitz@cs.fau.de

More information

Platform-Independent Object Migration in CORBA

Platform-Independent Object Migration in CORBA Universität Ulm Fakultät für Informatik Verteilte Systeme Platform-Independent Object Migration in CORBA Rüdiger Kapitza Holger Schmidt Franz J. Hauck Bericht Nr. VS-R05-2005 2005-10-13 Platform-Independent

More information

Adaptive Web Service Migration

Adaptive Web Service Migration Adaptive Web Service Migration Holger Schmidt 1,Rüdiger Kapitza 2, Franz J. Hauck 1, and Hans P. Reiser 3 1 Institute of Distributed Systems, Ulm University, Germany {holger.schmidt,franz.hauck}@uni-ulm.de

More information

Integrating Fragmented Objects into a CORBA Environment

Integrating Fragmented Objects into a CORBA Environment Integrating ed Objects into a CORBA Environment Hans P. Reiser 1, Franz J. Hauck 2, Rüdiger Kapitza 1, and Andreas I. Schmied 2 1 Dept. of Distributed Systems and Operating System, University of Erlangen-

More information

DS 2009: middleware. David Evans

DS 2009: middleware. David Evans DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between

More information

DLS: a CORBA Service for Dynamic Loading of Code

DLS: a CORBA Service for Dynamic Loading of Code DLS: a CORBA Service for Dynamic Loading of Code Rüdiger Kapitza 1, Franz J. Hauck 2 1 Dept. of Comp. Science, Informatik 4, University of Erlangen-Nürnberg, Germany SSLBQJU[!DTGBVEFÁ 2 Distributed Systems

More information

ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE

ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE Franz J. Hauck, Ulrich Becker, Martin Geier, Erich Meier, Uwe Rastofer, Martin Steckermeier Informatik 4, University of Erlangen-Nürnberg,

More information

Creating and Running Mobile Agents with XJ DOME

Creating and Running Mobile Agents with XJ DOME Creating and Running Mobile Agents with XJ DOME Kirill Bolshakov, Andrei Borshchev, Alex Filippoff, Yuri Karpov, and Victor Roudakov Distributed Computing & Networking Dept. St.Petersburg Technical University

More information

A Mobile Agent-based Model for Service Management in Virtual Active Networks

A Mobile Agent-based Model for Service Management in Virtual Active Networks A Mobile Agent-based Model for Service Management in Virtual Active Networks Fábio Luciano Verdi and Edmundo R. M. Madeira Institute of Computing, University of Campinas (UNICAMP), Campinas-SP, Brazil

More information

October 2006 (vol. 7, no. 10), art. no ox IEEE Published by the IEEE Computer Society

October 2006 (vol. 7, no. 10), art. no ox IEEE Published by the IEEE Computer Society October 2006 (vol. 7, no. 10), art. no. 0610-ox001 1541-4922 2006 IEEE Published by the IEEE Computer Society Object Modeling FORMI: Integrating Adaptive Fragmented Objects into Java RMI Rüdiger Kapitza

More information

Policy-Based Context-Management for Mobile Solutions

Policy-Based Context-Management for Mobile Solutions Policy-Based Context-Management for Mobile Solutions Caroline Funk 1,Björn Schiemann 2 1 Ludwig-Maximilians-Universität München Oettingenstraße 67, 80538 München caroline.funk@nm.ifi.lmu.de 2 Siemens AG,

More information

A Flexible and Extensible Object Middleware: CORBA and Beyond

A Flexible and Extensible Object Middleware: CORBA and Beyond A Flexible and Extensible Object Middleware: CORBA and Beyond Franz J. Hauck Distributed Systems Lab University of Ulm Germany +49-731-50-24143 franz.hauck@uni-ulm.de Rüdiger Kapitza Dept. of Computer

More information

FIPA Agent Management Support for Mobility Specification

FIPA Agent Management Support for Mobility Specification 1 2 3 4 5 6 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Management Support for Mobility Specification 7 8 Document title FIPA Management Support for Mobility Specification Document number PC000087B

More information

Technical Report. Computer Science Department. Operating Systems IMMD IV. Friedrich-Alexander-University Erlangen-Nürnberg, Germany

Technical Report. Computer Science Department. Operating Systems IMMD IV. Friedrich-Alexander-University Erlangen-Nürnberg, Germany Support for Mobility and Replication in the AspectIX Architecture M. Geier, M. Steckermeier, U. Becker, F.J. Hauck, M. Meier, U. Rastofer September 1998 TR-I4-98-05 Technical Report Computer Science Department

More information

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. CORBA What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform. It includes: an object-oriented Remote Procedure Call (RPC) mechanism object

More information

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Stefano Mariani s.mariani@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year

More information

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems Prof. Agostino Poggi What is CORBA? CORBA (Common Object Request

More information

CORBA (Common Object Request Broker Architecture)

CORBA (Common Object Request Broker Architecture) CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba

More information

A Location Service for Worldwide Distributed Objects

A Location Service for Worldwide Distributed Objects A Location Service for Worldwide Distributed Objects 1 A Location Service for Worldwide Distributed Objects Franz J. Hauck 1, Maarten van Steen, Andrew S. Tanenbaum Dept. of Math. and Computer Science,

More information

Distributed Objects. Object-Oriented Application Development

Distributed Objects. Object-Oriented Application Development Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming

More information

Mobile Code Paradigms

Mobile Code Paradigms Mobile Code Paradigms Sebastian Fischmeister Fischmeister@SoftwareResearch.net Key Aspect & Elements Mobile code is about do you move the data or do you move the code. Elements Data (stored result sets)

More information

An Architecture for Next Generation Mobile Agent Infrastructure

An Architecture for Next Generation Mobile Agent Infrastructure An Architecture for Next Generation Mobile Agent Infrastructure Ichiro Satoh Department of Information Sciences, Ochanomizu University / Japan Science and Technology Corporation Abstract This paper presents

More information

IDLflex: A flexible and generic compiler for CORBA IDL

IDLflex: A flexible and generic compiler for CORBA IDL Hans Reiser, Martin Steckermeier, Franz J. Hauck IDLflex: A flexible and generic compiler for CORBA IDL Technical Report TR-I4-01-08 (Replaces TR-I4-01-06) 2001-09-10 Friedrich-Alexander-University Erlangen-Nürnberg,

More information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

More information

IDLflex: A flexible and generic compiler for CORBA IDL

IDLflex: A flexible and generic compiler for CORBA IDL Hans Reiser, Martin Steckermeier, Franz J. Hauck IDLflex: A flexible and generic compiler for CORBA IDL Technical Report TR-I4-01-06 2001-06-15 Friedrich-Alexander-University Erlangen-Nürnberg, Germany

More information

Today: Distributed Middleware. Middleware

Today: Distributed Middleware. Middleware Today: Distributed Middleware Middleware concepts Case study: CORBA Lecture 24, page 1 Middleware Software layer between application and the OS Provides useful services to the application Abstracts out

More information

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components

More information

Implementation of a Lightweight Logging Service for CORBA-based Applications

Implementation of a Lightweight Logging Service for CORBA-based Applications Implementation of a Lightweight Logging Service for CORBA-based Applications MARKUS ALEKSY, JAN KÄSTLE, MARTIN SCHADER Department of Information Systems III University of Mannheim D-68131 Mannheim GERMANY

More information

The Actor Role Coordinator Implementation Developer s Manual

The Actor Role Coordinator Implementation Developer s Manual The Actor Role Coordinator Implementation Developer s Manual Nianen Chen, Li Wang Computer Science Department Illinois Institute of Technology, Chicago, IL 60616, USA {nchen3, li}@iit.edu 1. Introduction

More information

A Scalable Location Aware Service Platform for Mobile Applications Based on Java RMI

A Scalable Location Aware Service Platform for Mobile Applications Based on Java RMI A Scalable Location Aware Service Platform for Mobile Applications Based on Java RMI Olaf Droegehorn, Kirti Singh-Kurbel, Markus Franz, Roland Sorge, Rita Winkler, and Klaus David IHP, Im Technologiepark

More information

Executing Evaluations over Semantic Technologies using the SEALS Platform

Executing Evaluations over Semantic Technologies using the SEALS Platform Executing Evaluations over Semantic Technologies using the SEALS Platform Miguel Esteban-Gutiérrez, Raúl García-Castro, Asunción Gómez-Pérez Ontology Engineering Group, Departamento de Inteligencia Artificial.

More information

ISO/IEC INTERNATIONAL STANDARD

ISO/IEC INTERNATIONAL STANDARD INTERNATIONAL STANDARD This is a preview - click here to buy the full publication ISO/IEC 19500-3 First edition 2012-04-15 Information technology Object Management Group Common Object Request Broker Architecture

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 09 (version 27th November 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.

More information

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Model-Driven QoS Provisioning Techniques for CCM DRE Systems Model-Driven QoS Provisioning Techniques for CCM DRE Systems Stoyan Paunov, Gan Deng, Douglas C. Schmidt, and Anirudha Gokhale ISIS, Vanderbilt University Motivation for QoS-enabled Middleware Trends!

More information

Jade: Java Agent DEvelopment Framework Overview

Jade: Java Agent DEvelopment Framework Overview Jade: Java Agent DEvelopment Framework Overview Multiagent Systems LM Sistemi Multiagente LM Stefano Mariani revised by Andrea Omicini s.mariani@unibo.it, andrea.omicini@unibo.it Dipartimento di Informatica:

More information

Object-Oriented Middleware for Distributed Systems

Object-Oriented Middleware for Distributed Systems Object-Oriented Middleware for Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic

More information

Module 1 - Distributed System Architectures & Models

Module 1 - Distributed System Architectures & Models Module 1 - Distributed System Architectures & Models System Architecture Defines the structure of the system components identified functions of each component defined interrelationships and interactions

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability

A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability Abstract Paul Grace 1, Gordon Blair 1 and Sam Samuel 2 1 Computing Department, Lancaster University,

More information

Distributed Technologies - overview & GIPSY Communication Procedure

Distributed Technologies - overview & GIPSY Communication Procedure DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component

More information

Constraint-based Generation of Connectors

Constraint-based Generation of Connectors Constraint-based Generation of Connectors Tomas Bures Charles University, Faculty of Mathematics and Physics, Prague, Czech Republic Abstract. In this paper we discuss the a typical use-case of connector

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

Model-based Middleware for Embedded Systems

Model-based Middleware for Embedded Systems Model-based Middleware for Embedded Systems Christian Salzmann, Martin Thiede BMW Car IT GmbH München, Germany christian.salzmann@bmw-carit.de martin.thiede@bmw-carit.de Markus Völter voelter ingenieurbüro

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010

Oracle Tuxedo. CORBA Technical Articles 11g Release 1 ( ) March 2010 Oracle Tuxedo CORBA Technical Articles 11g Release 1 (11.1.1.1.0) March 2010 Oracle Tuxedo CORBA Technical Articles, 11g Release 1 (11.1.1.1.0) Copyright 1996, 2010, Oracle and/or its affiliates. All rights

More information

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts *

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Sven Buchholz, Thomas Ziegert and Alexander Schill Department of Computer Science Dresden University of Technology

More information

A Mobile Agent-Based Framework for Active Networks. Ichiro Satoh

A Mobile Agent-Based Framework for Active Networks. Ichiro Satoh A Mobile -Based Framework for Active Networks Ichiro Satoh Department of Information Sciences, Ochanomizu University 2-1-1 Otsuka Bunkyo-ku Tokyo 112-8610, Japan E-mail: ichiro@is.ocha.ac.jp IEEE Systems,

More information

A Grid-Enabled Component Container for CORBA Lightweight Components

A Grid-Enabled Component Container for CORBA Lightweight Components A Grid-Enabled Component Container for CORBA Lightweight Components Diego Sevilla 1, José M. García 1, Antonio F. Gómez 2 1 Department of Computer Engineering 2 Department of Information and Communications

More information

Software Engineering

Software Engineering Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

A Model for Scientific Computing Platform

A Model for Scientific Computing Platform A Model for Scientific Computing Platform Petre Băzăvan CS Romania S.A. Păcii 29, 200692 Romania petre.bazavan@c-s.ro Mircea Grosu CS Romania S.A. Păcii 29, 200692 Romania mircea.grosu@c-s.ro Abstract:

More information

From Models to Components. Rapid Service Creation with

From Models to Components. Rapid Service Creation with From Models to Components Rapid Service Creation with Marc Born, Olaf Kath {born kath}@ikv.de Evolutions in Software Construction C O M P L E X I T Y Model Driven Architectures Meta Object Facility and

More information

Object Management Group. minimumcorba. Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Object Management Group

Object Management Group. minimumcorba. Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Object Management Group Presented By Shahzad Aslam-Mir Vertel Corporation Copyright 2001 Philosophy A standard profile for limited resource systems Simpler means smaller and faster Vendors can profile implementations

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year

More information

Challenges in component based programming. Lena Buffoni

Challenges in component based programming. Lena Buffoni Challenges in component based programming Lena Buffoni Challenge: Size & complexity Software is everywhere and increasingly complex (embedded systems, internet of things ) Single products have become product

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

Mohsin Qasim Syed Abbas Ali

Mohsin Qasim Syed Abbas Ali 2005-5-18 Final version Table of Content 1 -Introduction to CORBA...3 1.1 Overview...3 1.2 Why is CORBA important in a networked environment?... 4 1.3 HOW DOES CORBA WORKS?...4 1.4 CORBA Architecture...

More information

Distributed Objects. Chapter Distributing Objects Overview

Distributed Objects. Chapter Distributing Objects Overview Middleware Architecture with Patterns and Frameworks c 2003-2009, Sacha Krakowiak (version of February 27, 2009-12:58) Creative Commons license (http://creativecommons.org/licenses/by-nc-nd/3.0/) Chapter

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular

More information

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008 Distributed Systems Theory 4. Remote Procedure Call October 17, 2008 Client-server model vs. RPC Client-server: building everything around I/O all communication built in send/receive distributed computing

More information

From Objects to Agents: The Java Agent Middleware (JAM)

From Objects to Agents: The Java Agent Middleware (JAM) From Objects to Agents: The Java Agent Middleware (JAM) Laboratory of Multiagent Systems LM Laboratorio di Sistemi Multiagente LM Elena Nardini elena.nardini@unibo.it Ingegneria Due Alma Mater Studiorum

More information

Agent-Environment for Small Mobile Devices

Agent-Environment for Small Mobile Devices -Environment for Small Mobile Devices Thomas Strang and Melanie Meyer {firstname.lastname}@dlr.de German Aerospace Center (DLR), Site Oberpfaffenhofen Institute of Communications and Navigation (KN-S)

More information

Managing Learning Objects in Large Scale Courseware Authoring Studio 1

Managing Learning Objects in Large Scale Courseware Authoring Studio 1 Managing Learning Objects in Large Scale Courseware Authoring Studio 1 Ivo Marinchev, Ivo Hristov Institute of Information Technologies Bulgarian Academy of Sciences, Acad. G. Bonchev Str. Block 29A, Sofia

More information

FRUGAL MOBILE OBJECTS

FRUGAL MOBILE OBJECTS FRUGAL MOBILE OBJECTS Benoît Garbinato Université de Lausanne, Ecole des HEC, CH-1015 Lausanne benoit.garbinato@unil.ch Rachid Guerraoui, Jarle Hulaas, Maxime Monod, Jesper H. Spring Ecole Polytechnique

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that

More information

Aspect-Oriented Reconfigurable Middleware for Pervasive Systems

Aspect-Oriented Reconfigurable Middleware for Pervasive Systems Aspect-Oriented Reconfigurable Middleware for Pervasive Systems Gustavo G. Pascual Departamento de Lenguajes y Ciencias de la Computación University of Málaga, Málaga (SPAIN) CAOSD group (http:/caosd.lcc.uma.es),

More information

AspectIX. : DLS: a CORBA Service for Dynamic Loading of Code. Rüdiger Kapitza, Franz Hauck. Technical Report TR-I

AspectIX. : DLS: a CORBA Service for Dynamic Loading of Code. Rüdiger Kapitza, Franz Hauck. Technical Report TR-I Rüdiger Kapitza, Franz Hauck AspectIX : DLS: a CORBA Service for Dynamic Loading of Code Technical Report TR-I4-02-06 2002-12-16 Friedrich-Alexander-University Erlangen-Nürnberg, Germany Informatik 4 (Distributed

More information

Idioms for Building Software Frameworks in AspectJ

Idioms for Building Software Frameworks in AspectJ Idioms for Building Software Frameworks in AspectJ Stefan Hanenberg 1 and Arno Schmidmeier 2 1 Institute for Computer Science University of Essen, 45117 Essen, Germany shanenbe@cs.uni-essen.de 2 AspectSoft,

More information

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

1 From Distributed Objects to Distributed Components

1 From Distributed Objects to Distributed Components From Distributed Objects to Distributed : the Olan Approach Luc Bellissard, Michel Riveill BP 53, F 38041 Grenoble Cedex 9, FRANCE Phone: (33) 76 61 52 78 Fax: (33) 76 61 52 52 Email: Luc.Bellissard@imag.fr

More information

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics. Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined

More information

PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI

PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI 1 2 Overview Distributed OZ Java RMI CORBA IDL IDL VS C++ CORBA VS RMI 3 Distributed OZ Oz Language Multi paradigm language, strong support for compositionality and

More information

Towards Generic and Middleware-independent Support for Replicated, Distributed Objects

Towards Generic and Middleware-independent Support for Replicated, Distributed Objects Towards Generic and Middleware-independent Support for Replicated, Distributed s Jörg Domaschka, Hans P. Reiser, Franz J. Hauck Distributed Systems Lab, Faculty of Computer Science Ulm University Germany

More information

AQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA

AQUILA. Project Defense. Sandeep Misra.  (IST ) Development of C++ Client for a Java QoS API based on CORBA AQUILA (IST-1999-10077) Adaptive Resource Control for QoS Using an IP-based Layered Architecture Project Defense Development of C++ Client for a Java QoS API based on CORBA http://www-st st.inf..inf.tu-dresden.de/aquila/

More information

ESPRIT Project No Work packages D,E,F. Technical Summary

ESPRIT Project No Work packages D,E,F. Technical Summary ESPRIT Project No. 25 338 Work packages D,E,F Agent Framework Technical Summary ID: Document-Name V. 1.0 Date: 23-Mar-99 Author(s): SAB Status: draft Reviewer(s): Distribution: Change History Document

More information

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1 Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects

More information

Distributed Systems. Lehrstuhl für Informatik IV RWTH Aachen. Organisation. Classification of the lecture. Literature

Distributed Systems. Lehrstuhl für Informatik IV RWTH Aachen. Organisation. Classification of the lecture. Literature Organisation Distributed Systems Lehrstuhl für Informatik IV RWTH Aachen Prof. Dr. Otto Spaniol Dipl.-Inform. Dirk Thißen Exercises about all 14 days Wednesday, 15.30 17.00 Room AH III, RWTH Aachen Teacher-centred

More information

The Specifications Exchange Service of an RM-ODP Framework

The Specifications Exchange Service of an RM-ODP Framework The Specifications Exchange Service of an RM-ODP Framework X. Blanc (*+), M-P. Gervais(*), J. Le Delliou(+) (*)Laboratoire d'informatique de Paris 6-8 rue du Capitaine Scott F75015 PARIS (+)EDF Research

More information

Integrating Handhelds into Environments of Cooperating Smart Everyday Objects

Integrating Handhelds into Environments of Cooperating Smart Everyday Objects Integrating Handhelds into Environments of Cooperating Smart Everyday Objects Frank Siegemund and Tobias Krauer Institute for Pervasive Computing Department of Computer Science ETH Zurich, Switzerland

More information

The Object Model Overview. Contents. Section Title

The Object Model Overview. Contents. Section Title The Object Model 1 This chapter describes the concrete object model that underlies the CORBA architecture. The model is derived from the abstract Core Object Model defined by the Object Management Group

More information

Model Driven Architecture and Rhapsody

Model Driven Architecture and Rhapsody Model Driven Architecture and Rhapsody Dr. Bruce Powel Douglass Chief Evangelist Telelogic Model Driven Architecture and Rhapsody Abstract MDA, short for Model Driven Architecture, is a unification by

More information

UNIT 4 CORBA 4/2/2013 Middleware 59

UNIT 4 CORBA 4/2/2013 Middleware 59 UNIT 4 CORBA 4/2/2013 Middleware 59 CORBA AN OBJECT ORIENTED RPC MECHANISM HELPS TO DEVELOP DISTRIBUTED SYTEMS IN DIFF. PLATFORMS OBJECTS WRITTEN IN DIFF., LANG, CAN BE CALLED BY OBJECTS WRITTEN IN ANOTHER

More information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

Chapter 5 INTRODUCTION TO MOBILE AGENT

Chapter 5 INTRODUCTION TO MOBILE AGENT Chapter 5 INTRODUCTION TO MOBILE AGENT 135 Chapter 5 Introductions to Mobile Agent 5.1 Mobile agents What is an agent? In fact a software program is containing an intelligence to help users and take action

More information

Disconnected Operation in a Mobile Computation System

Disconnected Operation in a Mobile Computation System Disconnected Operation in a Mobile Computation System Marco T. de O. Valente, Roberto da S. Bigonha, Mariza A. da S. Bigonha, Antonio A.F. Loureiro Department of Computer Science University of Minas Gerais

More information

FIPA Agent Software Integration Specification

FIPA Agent Software Integration Specification FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Agent Software Integration Specification Document title FIPA Agent Software Integration Specification Document number XC00079A Document source FIPA Architecture

More information

Distributed Systems Middleware

Distributed Systems Middleware Distributed Systems Middleware David Andersson, 810817-7539, (D) Rickard Sandell, 810131-1952, (D) EDA 390 - Computer Communication and Distributed Systems Chalmers University of Technology 2005-04-30

More information

Quality of Service and Object-Oriented Middleware Multiple Concerns and their Separation

Quality of Service and Object-Oriented Middleware Multiple Concerns and their Separation Quality of Service and Object-Oriented Middleware Multiple Concerns and their Separation Christian Becker becker@cs.uni-frankfurt.de Department of Computer Science University of Frankfurt/Main Germany

More information

Applying the Semantic Web Layers to Access Control

Applying the Semantic Web Layers to Access Control J. Lopez, A. Mana, J. maria troya, and M. Yague, Applying the Semantic Web Layers to Access Control, IEEE International Workshop on Web Semantics (WebS03), pp. 622-626, 2003. NICS Lab. Publications: https://www.nics.uma.es/publications

More information

Using CORBA Middleware in Finite Element Software

Using CORBA Middleware in Finite Element Software Using CORBA Middleware in Finite Element Software J. Lindemann, O. Dahlblom and G. Sandberg Division of Structural Mechanics, Lund University strucmech@byggmek.lth.se Abstract. Distributed middleware technologies,

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications

Tools & Techniques for Deployment & Configuration of QoS- enabled Component Applications Tools & Techniques for Deployment & Configuration of QoS- enabled Applications jai@dre.vanderbilt.edu www.dre.vanderbilt.edu/~jai Gan Deng dengg@dre.vanderbilt.edu www.dre.vanderbilt.edu/~dengg Dr. Aniruddha

More information