1 From Distributed Objects to Distributed Components

Size: px
Start display at page:

Download "1 From Distributed Objects to Distributed Components"

Transcription

1 From Distributed Objects to Distributed : the Olan Approach Luc Bellissard, Michel Riveill BP 53, F Grenoble Cedex 9, FRANCE Phone: (33) Fax: (33) Luc.Bellissard@imag.fr 1 From Distributed Objects to Distributed Programming of distributed applications is now supported by multiple alternatives when considering high level distributed environments. Using a system platform for remote access to services Such a platform can be a pure distributed operating system or a distributed language runtime like Emerald[1], Argus[2], Guide[3], or a platform that integrates distribution like CORBA[4], ILU[5], Network OLE, etc. Those technologies aim at providing transparent and easy access to distributed services available on a workstation cluster, thus normalizing the way of accessing them. Such a normalization most often deals with the interface description language (IDL[6]) that statically describe services available from various objects, and the mapping of such a language with existing programming languages used for the core implementation of objects. In order to access a service, a client object must first know the identity of the server object (that really provides the desired service), the type of interface that can be dynamically accessed. Then the client object submits a request to the system platform that handles the search for the server, the execution of the request and the delivery of the results. In contrast with this rather static approach, message busses[7][8] are providers of distributed access to dynamically declared services. A client requesting a service is

2 not interested in knowing the identity of server objects. The client sends a request to the bus and handles the binding to one or many available servers. The limitation of this extremely dynamic approach is the difficulty to handle a large number of processes operating together with one single bus. Each of the above approaches has both a programming language aspect, which mostly interests the application designer, and a runtime support aspect which concerns the distributed system designer. The Olan Approach The Olan proposal[11] tries to get the best of both kind of platforms and investigates both aspects. From the programming language point of view, Olan is closer to the notion of Module Interconnection Language[9][10] than IDL, even though we have originally extended the IDL to describe the interfaces of components, which have a richer semantic than objects. This extension is the definition of required services from other components at the interface level, in order to favor reuse. Naming of components is a tradeoff between the direct naming of server objects as in an ORB, which is the most performing solution, and the service based naming of software busses, which is more flexible. In Olan, naming works at two different levels : naming by the client (resp. the server) of a required service (resp. a provided service), then binding between the requirement and the provision through an interconnection language. Such a decomposition of the naming guarantees the same performances as with an ORB if the client is connected to one server, and performances are still acceptable when the client is connected to multiple servers. In addition, each binding is a potential service request between a client and a server separately described from the implementation, thus allowing easy reconfiguration of the interconnections with no programming effort on either the client or the server sides. Besides these advantages, Olan aims at providing support to the some of the constraints that distributed application designers usually face: the reuse of existing code, ranging from libraries, parts of application or entire applications accessible through an API. Such legacy applications are usually designed and constructed independently from their execution context, with no concern about the communication with the outside, the configuration à la carte that aims towards the deployment of a distributed application on a given execution environment, and the management of the various components of the application in order to adapt the behavior of the application to the existing resources of the host environment. This feature will ease the maintenance and the evolution process of the application and the environment

3 2 Olan : Putting Distributed to Work The Olan environment may be divided into two classes of tools: Tools for the design and the programming of distributed applications, and Execution units essentially made of the runtime support that implements the Olan virtual machine. The Tools for programming rely on a component based programming model from which the Olan Configuration Language derives and visual and incremental programming tools, as well as a compiler of OCL that helps producing various configuration of applications. The Execution units rely on the Olan Virtual Machine that allows distributed components to interact over a network of workstations, thus implementing various distributed services for the remote communication, the distribution of components, the naming, the management, etc. 2.1 The Olan Configuration Language OCL is a language belonging to the class of configuration languages : this means that OCL helps producing configuration of applications by describing interconnections of ready made components and influencing their behavior at runtime, such as the conditions of their creation or deletion, their placement, protection, etc. OCL was originally considered as an extension of the IDL for the description of the interfaces of components, but a configuration language must also describe what implementation is associated to an interface in order to completely define a component. An Olan application is thus made of a set of interconnected components, some of which encapsulate existing software pieces, modules or classes written in various programming languages. Two main notions are the basis of OCL: components and connectors. Compoents are the unit of software encapsulation and distribution. are made of an interface and an implementation. The interface tells what services the component can provide to any other components, along with the services it requires at runtime. The latter feature is mostly what makes OCL differs from the IDL. The implementation tells how the interface requirements will be fulfilled, from either existing pieces of software this is a primitive implementation or an interconnection of Olan components known as composite implementation. This feature is what makes OCL similar to a Module Interconnection Language.

4 Connectors Connectors are the objects in charge of ruling the interconnection between components and handling the communication at runtime. They ensure both roles either at the language level e.g. binding of component s services follows predefined rules, like a requirement must be bound to a provision or at the execution level e.g. the communication protocol or mechanism, the transformation of the exchanged information, etc. Application Primitive Implementation Component Modules, classes, etc Interface Component Connector Primitive Component Composite Implementation Fig. 1: OCL fundamental concepts Along with components and connectors, OCL enables the description of some dynamic aspects of the execution and some management aspects of the components behavior. Three interesting features help ensuring this: The dynamic instantiation and the collections, The associative naming of interconnected components according to dynamically evolving properties, and The management attributes declared in the management interface, that drives the behavior of components, such as the placement on nodes, etc. More details about OCL and the latter features can be found in [11]. 2.2 The Olan Virtual Machine The Olan Virtual Machine may be seen as a collection of services, functions and structures that support: as units of software encapsulation, composition and configuration of interconnections,

5 Connectors, as units of binding and communication between components, Configuration, as the action of describing applications as a set of software modules, of deploying the application on the desired, possibly heterogeneous, system platform, of controlling the behavior of the applications, and finally Management of application, as the action of instrumenting, monitoring and reacting on the way the application executes on the targeted set of workstation. These four complementary functions have lead to the separation of the virtual machine into four "sub machines", which cooperate to enable the execution of distributed applications (c.f.fig. 2). Olan Virtual Machine Connector Machine Configuration Machine Component Machine Management Machine Distributed Platforms OODE / ORB (ILU) Unix (AIX, Solaris,...) NT Fig. 2: The Olan Virtual Machine Principles of the Virtual Machine An Olan application is represented within OCL as a top level component that includes a specific service enacting the application launching. At runtime, an application is instantiated as a session. The session is an active instance of an application and multiple users can simultaneously use and share components. The session is managed and represented by a unique distributed, shared and active object, the Session Configurator, which is in charge of: Creating contexts and context configurators, Directing context configurators for all configuration operations, such as the creation, deletion of components and collections, the binding of components with connectors, the arrivals/departures of users in the session, etc Providing a distributed naming service within the session, and

6 Instrumenting each context of the application for monitoring and control purposes. Context Configurators are objects obeying to the session configurator and performing any configuration operation specific to their context, a context being in the Olan terminology, an address space associated together to a session, a node and a user. OCL description Compiler Dynamic interpretation of the Intermediate Representation Application Intermediate Representation Session Configurator Component Repository Connector Repository Context Configurator Context Configurator Application Component Context Configurator Connector Connector Multi context Connector Collection Fig. 3: The Virtual Machine Principles structures are produced by the compiler, inserted in a component repository and instantiated when the configurator is asking for it. may belong to multiple contexts when shared among multiple users or nodes. Connectors are chosen according to the OCL directives from a connector repository and they are set up either as intra or inter context connectors. As stated before, the application is the top level hence multi context component that is instantiated when a session is created by a user, and which is mapped to new contexts when new users join the session. The arrival of a new user provokes the creation of contexts as well as the creation of execution flows that will effectively execute encapsulated software pieces of primitive components and communicate through the connectors.

7 Implementation of the Virtual Machine The virtual machine has been first implemented on OODE[12], a distributed object oriented development platform which provide shared, distributed objects on a cluster of workstations running Solaris and AIX. The virtual machine was written with the accompanying programming language of OODE (1) : IDL for objects interface definition and OC++, a persistent extension of C++ for the object s implementation. The advantages of such a platform were the transparent distribution of objects, the sharing of objects (especially for multi context components,...) and the limits came from the C++ static typing of objects: asking a context configurator to dynamically create an object from a component class contained in the repository is not an easy feature to implement. The second step of the experiment is to adopt a more widely available platform, in our case the ORB from Xerox, ILU (Inter Language Unification). ILU is an ORB intended to make communicate objects written in various programming languages (C, C++, Python, etc) running on various platforms (Unix, NT, Windows 3.11, etc). The implementation of the virtual machine is being written in Python, a semi compiled interpreted programming language running on Unix, Windows and Macintosh systems, which allows dynamic typing, mobile code and dynamic interpretation of code. The main benefit of this approach is the very dynamic ability to create configuration of applications, the heterogeneity of platforms and the portability of the virtual machine, while the main limitation is the explicit handling of distribution and the distributed computations. 3 Conclusion This paper has described an environment for the construction and configuration of distributed applications. In our view, distributed applications are constructed by assembling a set of interacting software components, some of which are pre existing applications. We are considering an approach which combines object oriented programming for the description of individual software components and system integration techniques for the description of relationships and interactions between components. The proposed environment includes a model and a language which allow a high level specification of involved components, and a run time support for the actual execution and operational control of the application. ( 1 ) OODE is a distributed object based environment, CORBA compliant, derived from the research project Guide and pre industrialized by Bull.

8 Bibliography [1] A. P. Black, N. Hutchinson, E. Jul, H. Levy and L. Carter, Distribution and Abstract Types in Emerald, IEEE Transactions on Software Engineering, 12(12), dec [2] B. H. Liskov, The Argus Language and System, L.N.C.S, 190, [3] Balter R., Bernadat J., Decouchant D., Duda A., Freyssinet A., Krakowiak S., Meysembourg M., Le Dot P., Nguyen Van H., Paire E., Riveill M., Roisin C., Rousset de Pina X., Scioville R. and Vandôme G., Architecture and Implementation of Guide, an Object Oriented Distributed System, Computing Systems, Vol.4 (No.1), pp , 91. [4] Object Management Group, The Common Object Request Broker: Architecture and specification, ( ), December [5] Xerox Corp., ILU 1.8 Reference Manual, Xerox Parc, Palo Alto CA01, October [6] Lamb D. A., IDL: Sharing Intermediate Representations, ACm Trans. Program. Lang. Syst., 9(3), pp , July [7] Cutkosky M.R., Engelmore R.S., Fikes R.E., Genersereth M.R., Gruber T.R., Mark W.S., Tenenbaum J.M., Weber J.C., PACT: An Experiment in Integrating Concurrent Engineering Systems, Computer Journal, pp , January [8] Purtilo J.M., The POLYLITH Software Bus, ACM TOPLAS, Vol.16 (No.1), pp , Jan

9 [9] Kramer J., Magee J. and Sloman M., Constructing Distributed Systems in Conic, IEEE Transactions on Software Engineering, Vol.15 (No.6), pp , [10] Magee J., Dulay N. and Kramer J., A Constructive Development Environment for Parallel and Distributed Programs, Proceedings of the International Workshop on Configurable Distributed Systems, Pittsburgh, March [11] Bellissard L., Ben Atallah S., Boyer A. and Riveill M., Distributed Application Configuration, Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS 96), to appear IEEE, Hong Kong, May [12] Bull Open Software Systems, OODE: Une plate forme Objets pour les Applications Coopératives, AFCET, edited by AFCET, Paris France, Novembre 1994.

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and

More information

The Koala Component Model for Consumer Electronics Software by: Ommering, Linden, Kramer, Magee. Presented by: Bridget Flaherty.

The Koala Component Model for Consumer Electronics Software by: Ommering, Linden, Kramer, Magee. Presented by: Bridget Flaherty. The Koala Component Model for Consumer Electronics Software by: Ommering, Linden, Kramer, Magee Presented by: Bridget Flaherty Koala Overview Motivation The Koala Model Handling Diversity Coping with Evolution

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

Concurrent Programming Constructs and First-Class Logic Engines

Concurrent Programming Constructs and First-Class Logic Engines Concurrent Programming Constructs and First-Class Logic Engines Paul Tarau University of North Texas tarau@cs.unt.edu Multi-threading has been adopted in today s Prolog implementations as it became widely

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

Automatic Adaptation of Component-based Software Issues and Experiences

Automatic Adaptation of Component-based Software Issues and Experiences Automatic Adaptation of Component-based Software Issues and Experiences Abdelmadjid Ketfi, Noureddine Belkhatir, Pierre-Yves Cunin Adele Team Bat C LSR-IMAG, 220 rue de la chimie Domaine Universitaire,

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

Hierarchical vs. Flat Component Models

Hierarchical vs. Flat Component Models Hierarchical vs. Flat Component Models František Plášil, Petr Hnětynka DISTRIBUTED SYSTEMS RESEARCH GROUP http://nenya.ms.mff.cuni.cz Outline Component models (CM) Desired Features Flat vers. hierarchical

More information

Asynchronous, Hierarchical and Scalable Deployment of Component-Based Applications

Asynchronous, Hierarchical and Scalable Deployment of Component-Based Applications Asynchronous, Hierarchical and Scalable Deployment of Component-Based Applications Vivien Quéma 1, Roland Balter 2, Luc Bellissard 2, David Féliot 2, André Freyssinet 2, Serge Lacourte 2 1 INPG - Laboratoire

More information

and easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs.

and easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs. and easily tailor it for use within the multicast system. After expressing an initial application design in terms of MIL specications, the application code and speci- cations may be compiled and executed.

More information

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A Meta-Model for Composition Techniques in Object-Oriented Software Development A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:

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

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

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures

Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Synthesizing Communication Middleware from Explicit Connectors in Component Based Distributed Architectures Dietmar Schreiner 1,2 and Karl M. Göschka 1 1 Vienna University of Technology Institute of Information

More information

The Olan Architecture Definition Language

The Olan Architecture Definition Language The Olan Architecture Definition Language Luc Bellissard, Noël De Palma, David Féliot, SIRAC project INRIA Rhône Alpes 655, Avenue de l Europe F-38330 MONTBONNOT SAINT-MARTIN, France Email: [Luc.Bellissard]@inrialpes.fr

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

Architecture for Synchronous Groupware Application Development

Architecture for Synchronous Groupware Application Development Accepted in HCI 95 July 1995 Tokoy Japan Architecture for Synchronous Groupware Application Development Roland Balter, Slim Ben Atallah, Rushed Kanawati Unité Mixte Bull Imag/Systèmes 2, rue de Vignate,

More information

Knowledge- Based System CORBA ORB

Knowledge- Based System CORBA ORB The Role of Network Trac Statistics in Devising Object Migration Policies Ivan Marsic and Kanth S.L. Jonnalagadda CAIP Center, Rutgers University Piscataway, NJ 08855{1390 fmarsic,kanthg@caip.rutgers.edu

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

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating system? A collection of software modules to assist programmers in enhancing system efficiency, flexibility, and robustness An Extended Machine

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

City Research Online. Permanent City Research Online URL:

City Research Online. Permanent City Research Online URL: Kloukinas, C., Saridakis, T. & Issarny, V. (1999). Fault Tolerant Access to Dynamically Located Services for CORBA Applications. Paper presented at the Computer Applications in Industry and Engineering

More information

Coordinating Open Distributed Systems

Coordinating Open Distributed Systems Coordinating Open Distributed Systems Juan Carlos Cruz 1, Stephane Ducasse University of Bern 2, Switzerland Abstract. Open Distributed Systems are the dominatingintellectual issue of the end of this century.

More information

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture

Dynamic Adaptability of Services in Enterprise JavaBeans Architecture 1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté

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

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java

Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Real-time & Embedded Systems Workshop July 2007 Building Successful Real-time Distributed Systems in Java Andrew Foster Product Manager PrismTech Corporation The Case for Java in Enterprise Real-Time Systems

More information

Non-functional capability-based access control in the Java environment

Non-functional capability-based access control in the Java environment Non-functional capability-based access control in the Java environment D. Hagimont 1, N. De Palma 2 1 INRIA Rhône-Alpes, 655 avenue de l Europe, 38334 Saint-Ismier Cedex, France Daniel.Hagimont@inrialpes.fr

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

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

EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation

EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation Uwe Zdun Department of Information Systems, Vienna University of Economics, Austria zdun@acm.org Markus Voelter voelter - Ingenieurbüro

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development

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

Customized Software bus base-bus h/w & s/w system providing interconnection primitives

Customized Software bus base-bus h/w & s/w system providing interconnection primitives A Programming System for the Development of TINA Services Titos SARIDAKIS, Christophe BIDAN, Valerie ISSARNY IRISA/INRIA IRISA { Campus de Beaulieu, 35042 Rennes Cedex, FRANCE. Abstract Programming environments

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

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University CORBA and COM TIP Two practical techniques for object composition X LIU, School of Computing, Napier University CORBA Introduction Common Object Request Broker Architecture (CORBA) is an industry-standard

More information

Architecture of Distributed Systems Component-based Systems

Architecture of Distributed Systems Component-based Systems Architecture of Distributed Systems 2017-2018 Component-based Systems Original : J.J Lukkien Revision: R.H. Mak 25-Oct-17 Rudolf Mak TU/e Computer Science 2II45-CBSE Goals of this lecture Students have

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 8, September-October 2004 Agent Paradigm for Adaptable Architecture

More information

Crisis and paradox in distributed-systems development

Crisis and paradox in distributed-systems development IEEE DISTRIBUTED SYSTEMS ONLINE 1541-4922 2005 Published by the IEEE Computer Society Vol. 6, No. 3; March 2005 Department Editor: Olivier Marin, http://www.cs.vu.nl/~omarin/, Laboratoire d'informatique

More information

A Type Management System for an ODP Trader

A Type Management System for an ODP Trader A Type Management System for an ODP Trader J. Indulska a,m.bearman b and K. Raymond c a CRC for Distributed Systems Technology, Department of Computer Science, University of Queensland, Brisbane 4072,

More information

Software Architecture Recovery based on Dynamic Analysis

Software Architecture Recovery based on Dynamic Analysis Software Architecture Recovery based on Dynamic Analysis Aline Vasconcelos 1,2, Cláudia Werner 1 1 COPPE/UFRJ System Engineering and Computer Science Program P.O. Box 68511 ZIP 21945-970 Rio de Janeiro

More information

Architectures of Distributed Systems 2011/2012

Architectures of Distributed Systems 2011/2012 Architectures of Distributed Systems 2011/2012 Component Based Systems Johan Lukkien TU/e Computer TU/e Informatica, Science, System Architecture and Networking 1 Goals Students have an overview of motivation

More information

Compile Time and Runtime Reflection for Dynamic Evaluation of Messages : Application to Interactions between Remote Objects

Compile Time and Runtime Reflection for Dynamic Evaluation of Messages : Application to Interactions between Remote Objects Compile Time and Runtime Reflection for Dynamic Evaluation of Messages : Application to Interactions between Remote Objects Laurent Berger I3S - CNRS UPRESA 6070 - Bât ESSI 930 Rte des Colles - BP 145

More information

Characterising Resource Management Performance in Kubernetes. Appendices.

Characterising Resource Management Performance in Kubernetes. Appendices. Characterising Resource Management Performance in Kubernetes. Appendices. Víctor Medel a, Rafael Tolosana-Calasanz a, José Ángel Bañaresa, Unai Arronategui a, Omer Rana b a Aragon Institute of Engineering

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

FlexiNet Matthew Faupel & Richard Hayton

FlexiNet Matthew Faupel & Richard Hayton (C) Ansa Consortium 1997 FlexiNet 1 1997 ANSA Consortium Matthew Faupel & Richard Hayton Utilising WWW increases Complexity Global Organisations - Electronic Commerce - Devolved Management Policy based

More information

Chapter 16. Layering a computing infrastructure

Chapter 16. Layering a computing infrastructure : Chapter 16 by David G. Messerschmitt Layering a computing infrastructure Applications Application components Middleware Operating system Network 2 1 Spanning layer Application Distributed object management

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

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

Towards a formal model of object-oriented hyperslices

Towards a formal model of object-oriented hyperslices Towards a formal model of object-oriented hyperslices Torsten Nelson, Donald Cowan, Paulo Alencar Computer Systems Group, University of Waterloo {torsten,dcowan,alencar}@csg.uwaterloo.ca Abstract This

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

Engineering CORBA-based Distributed Systems

Engineering CORBA-based Distributed Systems Engineering CORBA-based Distributed Systems Ramón Juanes +, Fernando Bellas *, Nieves Rodríguez * and Ángel Viña * + Departamento de Electrónica y Sistemas, Universidad Alfonso X El Sabio, Madrid, CP/

More information

FlowBack: Providing Backward Recovery for Workflow Management Systems

FlowBack: Providing Backward Recovery for Workflow Management Systems FlowBack: Providing Backward Recovery for Workflow Management Systems Bartek Kiepuszewski, Ralf Muhlberger, Maria E. Orlowska Distributed Systems Technology Centre Distributed Databases Unit ABSTRACT The

More information

Adaptive Internet Data Centers

Adaptive Internet Data Centers Abstract Adaptive Internet Data Centers Jerome Rolia, Sharad Singhal, Richard Friedrich Hewlett Packard Labs, Palo Alto, CA, USA {jar sharad richf}@hpl.hp.com Trends in Internet infrastructure indicate

More information

QuickSpecs. Compaq NonStop Transaction Server for Java Solution. Models. Introduction. Creating a state-of-the-art transactional Java environment

QuickSpecs. Compaq NonStop Transaction Server for Java Solution. Models. Introduction. Creating a state-of-the-art transactional Java environment Models Bringing Compaq NonStop Himalaya server reliability and transactional power to enterprise Java environments Compaq enables companies to combine the strengths of Java technology with the reliability

More information

Communication Protocol Decomposition and Component-based Protocol Submodule

Communication Protocol Decomposition and Component-based Protocol Submodule Communication Protocol Decomposition and Component-based Protocol Submodule Tianzhou Chen 1, Quan Gan 2, Zhaohui Wu 1 College of Computer Science, Zhejiang University, Hangzhou, P.R.CHINA, 310027 1 {tzchen,

More information

MIWeb: Mediator-based Integration of Web Sources

MIWeb: Mediator-based Integration of Web Sources MIWeb: Mediator-based Integration of Web Sources Susanne Busse and Thomas Kabisch Technical University of Berlin Computation and Information Structures (CIS) sbusse,tkabisch@cs.tu-berlin.de Abstract MIWeb

More information

R/3 System Object-Oriented Concepts of ABAP

R/3 System Object-Oriented Concepts of ABAP R/3 System Object-Oriented Concepts of ABAP Copyright 1997 SAP AG. All rights reserved. No part of this brochure may be reproduced or transmitted in any form or for any purpose without the express permission

More information

Joule: Distributed Application Foundations

Joule: Distributed Application Foundations Joule: Distributed Application Foundations Agorics, Inc. Agorics Technical Report ADd003.4P 300 Third Street Los Altos, CA 94022 ph 415 941 8224 800 54 JOULE fax 415 941 8225 The Joule system is a foundation

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

ISO/IEC INTERNATIONAL STANDARD

ISO/IEC INTERNATIONAL STANDARD INTERNATIONAL STANDARD ISO/IEC 19500-2 This is a preview of "ISO/IEC 19500-2:2012". Click here to purchase the full version from the ANSI store. Second edition 2012-04-15 Information technology Object

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

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

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime. Volume A~B: 114 Questions Volume A 1. Which component type must an integration solution developer define for a non-sca component such as a Servlet that invokes a service component interface? A. Export

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

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 Run-Time Software Adaptation for Distributed Hierarchical Service Coordination

Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination Hassan Gomaa, Koji Hashimoto Department of Computer Science George Mason University Fairfax, VA, USA hgomaa@gmu.edu,

More information

Building Distributed Access Control System Using Service-Oriented Programming Model

Building Distributed Access Control System Using Service-Oriented Programming Model Building Distributed Access Control System Using Service-Oriented Programming Model Ivan Zuzak, Sinisa Srbljic School of Electrical Engineering and Computing, University of Zagreb, Croatia ivan.zuzak@fer.hr,

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

Towards The Adoption of Modern Software Development Approach: Component Based Software Engineering

Towards The Adoption of Modern Software Development Approach: Component Based Software Engineering Indian Journal of Science and Technology, Vol 9(32), DOI: 10.17485/ijst/2016/v9i32/100187, August 2016 ISSN (Print) : 0974-6846 ISSN (Online) : 0974-5645 Towards The Adoption of Modern Software Development

More information

Distributed Environments. CORBA, JavaRMI and DCOM

Distributed Environments. CORBA, JavaRMI and DCOM Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works

More information

Making Business Process Implementations Flexible and Robust: Error Handling in the AristaFlow BPM Suite

Making Business Process Implementations Flexible and Robust: Error Handling in the AristaFlow BPM Suite Making Business Process Implementations Flexible and Robust: Error Handling in the AristaFlow BPM Suite Andreas Lanz, Manfred Reichert, and Peter Dadam Institute of Databases and Information Systems, University

More information

Component models. Page 1

Component models. Page 1 Component Models and Technology Component-based Software Engineering Ivica Crnkovic ivica.crnkovic@mdh.se Page 1 Overview Introduction ACME Architectural Description Language Java Bean Component Model

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

Do! environment. DoT

Do! environment. DoT The Do! project: distributed programming using Java Pascale Launay and Jean-Louis Pazat IRISA, Campus de Beaulieu, F35042 RENNES cedex Pascale.Launay@irisa.fr, Jean-Louis.Pazat@irisa.fr http://www.irisa.fr/caps/projects/do/

More information

AGL Requirements Specification V2.0

AGL Requirements Specification V2.0 AGL Requirements Specification V2.0 AGL All-Member Meeting @ DRESDEN October 2018 Toshikazu Oiwa toshikazu_ohiwa@mail.toyota.co.jp TOYOTA MOTOR CORPORATION 1 Who is Oiwa? Ø Software engineer, expert in

More information

Capturing Design Expertise in Customized Software Architecture Design Environments

Capturing Design Expertise in Customized Software Architecture Design Environments Capturing Design Expertise in Customized Software Architecture Design Environments Robert T. Monroe School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213 Abstract: Software architecture

More information

Middleware Mediated Transactions & Conditional Messaging

Middleware Mediated Transactions & Conditional Messaging Middleware Mediated Transactions & Conditional Messaging Expert Topic Report ECE1770 Spring 2003 Submitted by: Tim Chen John C Wu To: Prof Jacobsen Date: Apr 06, 2003 Electrical and Computer Engineering

More information

An Approach to the Generation of High-Assurance Java Card Applets

An Approach to the Generation of High-Assurance Java Card Applets An Approach to the Generation of High-Assurance Java Card Applets Alessandro Coglio Kestrel Institute 3260 Hillview Avenue, Palo Alto, CA 94304, USA Ph. +1-650-493-6871 Fax +1-650-424-1807 http://www.kestrel.edu/

More information

1.264 Lecture 16. Legacy Middleware

1.264 Lecture 16. Legacy Middleware 1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network

More information

GrADSoft and its Application Manager: An Execution Mechanism for Grid Applications

GrADSoft and its Application Manager: An Execution Mechanism for Grid Applications GrADSoft and its Application Manager: An Execution Mechanism for Grid Applications Authors Ken Kennedy, Mark Mazina, John Mellor-Crummey, Rice University Ruth Aydt, Celso Mendes, UIUC Holly Dail, Otto

More information

PARALLEL CONSISTENCY CHECKING OF AUTOMOTIVE PRODUCT DATA

PARALLEL CONSISTENCY CHECKING OF AUTOMOTIVE PRODUCT DATA PARALLEL CONSISTENCY CHECKING OF AUTOMOTIVE PRODUCT DATA WOLFGANG BLOCHINGER, CARSTEN SINZ AND WOLFGANG KÜCHLIN Symbolic Computation Group, WSI for Computer Science, Universität Tübingen, 72076 Tübingen,

More information

The Architecture of Federations From Process to Software

The Architecture of Federations From Process to Software The Architecture of Federations From Process to Software (Position Paper) First Working IFIP Conference on Software Architecture 22-24 February 1999, San Antonio, TX, USA J. Estublier, Y. Ledru, P.Y. Cunin

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

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures

More information

Data Model Considerations for Radar Systems

Data Model Considerations for Radar Systems WHITEPAPER Data Model Considerations for Radar Systems Executive Summary The market demands that today s radar systems be designed to keep up with a rapidly changing threat environment, adapt to new technologies,

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information

P-NET Management with Java based Components

P-NET Management with Java based Components P-NET Management with based Components Martin Wollschlaeger Abstract The introduction of based software components is a challenge for developers and users of fieldbus products. The paper shows concepts,

More information

Creating Enterprise and WorkGroup Applications with 4D ODBC

Creating Enterprise and WorkGroup Applications with 4D ODBC Creating Enterprise and WorkGroup Applications with 4D ODBC Page 1 EXECUTIVE SUMMARY 4D ODBC is an application development tool specifically designed to address the unique requirements of the client/server

More information

RMI VERSUS CORBA: A MESSAGE TRANSFER SPEED COMPARISON

RMI VERSUS CORBA: A MESSAGE TRANSFER SPEED COMPARISON STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume XLIX, Number 1, 2004 RMI VERSUS CORBA: A MESSAGE TRANSFER SPEED COMPARISON FLORIAN MIRCEA BOIAN AND RAREŞ FLORIN BOIAN Abstract. RMI (Remote Method Invocation)

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

An agent-based peer-to-peer grid computing architecture

An agent-based peer-to-peer grid computing architecture University of Wollongong Research Online University of Wollongong Thesis Collection 1954-2016 University of Wollongong Thesis Collections 2005 An agent-based peer-to-peer grid computing architecture Jia

More information

Dassault Enovia, a Case Study of CORBA. Introduction Distributed Architecture Orbix Im plem entation Detail Conlcusion

Dassault Enovia, a Case Study of CORBA. Introduction Distributed Architecture Orbix Im plem entation Detail Conlcusion Dassault Enovia, a Case Study of CORBA Introduction Distributed Architecture Orbix Im plem entation Detail Conlcusion Introduction What's a PLM solution? Who uses PLM products? The distributed requirem

More information

An agent-based peer-to-peer grid computing architecture

An agent-based peer-to-peer grid computing architecture University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2005 An agent-based peer-to-peer grid computing architecture J. Tang University

More information

Distributed Middleware. Distributed Objects

Distributed Middleware. Distributed Objects Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed

More information

IEC Implementation of Service Oriented Architecture: Case Study

IEC Implementation of Service Oriented Architecture: Case Study IEEE Conference on Robotics and Automation (ICRA 14), Hong Kong, May, 2014, submitted IEC 61499 Implementation of Service Oriented Architecture: Case Study Valeriy Vyatkin, Luleå University of Technology,

More information

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS Master Thesis Michael Cífka Visual Development of Software Components Supervisor: Ing. Petr Tůma, Dr. I would like to thank my supervisor,

More information

Software Architecture

Software Architecture Software Architecture Prof. R K Joshi Department of Computer Science and Engineering IIT Bombay What is Architecture? Software Architecture? Is this an Architecture? Is this an Architecture? Is this an

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

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