Constraint-based Generation of Connectors
|
|
- Fay Henry
- 5 years ago
- Views:
Transcription
1 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 usage in component-based systems. We show how the connectors are refined during application development and investigate a way how to automatically generate connectors with respect to style of interaction and component distribution. 1 Introduction The connector as a first class entity emerged in component models in recent years to represent communication among components. Its responsibilities vary a lot from model to model. Component systems employing connectors can be basically divided into two branches. The first understand a connector only as a design element which allows to describe and restrict the mediated communication. To the representatives of this approach belong: Wright [1], ACME [5], which use CSP to define the communication protocol; Aster [3], which employs temporal logic for the same task; and SADL [8] which uses a sort of constraint language. These models usually do not deal with connector implementation. The other understand a connector as an implementation element which performs a real functionality at runtime. To these systems belong: UniCon [13], which, however, offers only a set of predefined connectors (Pipe, FileIO, ProcedureCall, RemoteProcedureCall, DataAccess, RTScheduler, and PLBundler); and JavaPod [12] which creates connectors by wrapping (similar to protocol stack) and thus understands connectors only as a sort of filters. 2 Goals and structure of the paper In order to ease development of connector-based component applications, in this paper we investigate how to create connectors (semi-)automatically. In Section 3 we show a typical use case of connectors explaining connector responsibilities. In Section 4 we summarize desired connector features and refine our goals. Section 5 describes our approach to connector generation, while Section 6 evaluates the results and sketches our future work. 3 Typical use case of connectors Similarly to component-based applications without connectors, there are three basic development phases design, implementation and deployment. (A) In design phase, basic blocks of the application are identified; the application is broken into independent pieces of functionality (components); and ways of interaction between single components are defined. The interaction is described by definition of provided and required interfaces and the Figure 1 Media Player
2 communication style (procedure calls, events, shared memory, etc.) The result of the design phase is demonstrated in Figure 1, which shows an example of a simple media player. The figure consists of four components (Reading Unit, Controller, Display, and Speaker). The Reading Unit is a component that reads data from a stream, decodes them and sends them to the Speaker component. To control the Media Player, there is a Controller component, which reacts to user interface buttons such as Play', Pause', Stop', etc. There can be several Controller parts (e.g. remotely connected). Current status (played title, track, etc.) is displayed by the Display component, which can also have several instances. The arrows represent component interactions, which can be of various types, as can be seen in the example. The Reading Unit sends the data to Speaker using an unidirectional pipe; the Controller communicates with the Reading Unit via local or remote procedure call; and the connection between the Reading Unit and Display is realized by asynchronous event distribution (messaging). (B) In implementation phase, single components are coded. For communication with other connected components, a component relies only on required (white rectangles) and provided interfaces (black rectangles) on the component boundary and a communication style associated with each link, otherwise is the component independent. That means, a component can be replaced by another which is compatible only on interfaces and communication style. (C) In deployment phase, components are implemented and have to be composed together to form a resulting application. First, components are situated to particular computers (deployment nodes). Components can reside in only one address space or be distributed over network virtually in any way. Then the components requirements (required interfaces) are connected to provisions (provided interfaces) using appropriate connector instance (the rectangles in Figure 1). The connector instance here is chosen with respect to the communication style and environment. E.g. if two components do not reside on same computer, a procedure call connector must have support for marshalling and network transport. Moreover, as the environment can be heterogenous, the connector must be created with respect to the system and middleware present on target computers (e.g. RMI [18] can be utilized only if both components are written in Java) 4 The role of connectors The key point of connector usage is that all communication related code is concentrated in connectors, thus making component code totally distribution independent. Also, a connector functionality can be enriched by additional tasks (e.g. a connector can perform logging, help with debugging, hide minor incompatibilities between components using simple adaptation etc.) As different connectors perform similar tasks, it is possible to generate connector code automatically or at least semi-automatically, which reduces the component-based development only to design and coding of components, leaving deployment (distribution and binding) to a sort of a smart tool. Evaluating the use case and the observation above, we can now list the most important features an ideal connector model should posses: I. Connectors should be first-class design entities [2] capturing all the inter-component communication. II. The model is not too restrictive, allowing for different styles of communication (not only for procedure call) [14, 7]. III. Connectors are reflected in an implementation. They transparently (from components point of view) allow for different non-functional properties [4] (e.g. distribution, security, etc.) IV. Connectors are generated with the least possible user intervention, employing current middleware [5]. The goal of our work is to create such a connector model that would satisfy all the statements above.
3 5 Solution 5.1 The model BURES: CONSTRAINT-BASED GENERATION OF CONNECTORS In our work we follow and extend the connector model proposed by Balek, Plasil in [2]. Connectors (see example in Figure 2) there are composed of smaller parts elements (the circles), which represent single actions. Depending on the way a connector is distributed, the elements are structured into units (dotted lines). Elements in one unit are to reside in the same address space. A binding between elements residing in the same address space is performed by an ordinary function call. A binding between elements distributed across units is performed by the respective elements themselves (allowing to employ different kinds of middleware e.g. CORBA [10], RMI [18], JMS [17], etc.) In more detail, the example in Figure 2 shows a sample remote procedure call (meaning, a procedure call Figure 2 Procedure call gray box view (connector architecture) connector need not be structured exactly in this way). The white and black circles (roles) are in principle generic interfaces of the connector. They are used to bind connector to components. The gray circles represent internal actions. In this example a call emitted from client goes through the crole element to the connector (client unit), there the stub element marhalls parameters and method name and transmits data to the other unit (server unit). There, data are read by the skeleton element, unmarshalled and a resulting call is passed to the logging element. This element logs the call (e.g. to file, console, database, etc.) and passes the call to the srole element, which then invokes the call on an attached component. The result of the function call goes back from server to client through the elements in the reverse order. 5.2 Levels of abstraction In connectors, we recognize four levels of connector abstraction. (The first one is used in design phase; the other three are used in deployment phase, as they need particular information about target deployment nodes): I. On the highest level of abstraction, we view a connector as a kind of communication contract. This level of abstraction defines communication style and connector roles (connector frame), which should be the minimum already sufficient for the application design phase. Currently, with respect to middleware we recognize four communication styles (procedure call, messaging, streaming, and blackboard) [4]. II. On the second level of abstraction, we view a connector as a set of interconnected elements (connector architecture) as depicted in Figure 2. The elements on this level are, however, still generic, later to be implemented by a particular class. III. On the third level of abstraction, particular implementation to every element found in the connector architecture is assigned. Using different implementations allows us to change connector behavior (e.g. to switch between CORBA and SOAP [19] only by exchanging the stub and skeleton element implementations). However the element implementations are still a sort of template, later to be adapted to particular component interfaces. IV. On the lowest level the element implementations are adapted to be able to mediate interfaces of components attached to the connector. At runtime, a connector is instantiated using a connector builder, which reflects the connector architecture (the second level of abstraction), and a set of adapted element implementations (the fourth level
4 Figure 3 Procedure Call connector refinement of abstraction). The connector builder instantiates particular adapted element implementations and binds them together to build respective connector units. 5.3 Automatic generation of connectors The previous section described how connectors are refined from the communication style to the actual connector instance. On the top level lies a decision of a designer. On the bottom level, there is a particular connector instance. On the way, there are three steps that have to be done from the communication style to the connector instance. These steps (see Figure 3) we call connector generation. In the first step, we choose a connector architecture (or better architecture for each connector unit) with respect to communication style and required non-functional properties (e.g. distribution, security, etc.). In the second step, we choose implementation of particular elements in the architecture with respect to the required non-functional properties and features offered by the target platforms (e.g. particular ORB or SOAP implementation, encryption libraries, etc.). Finally, in the third step, we adapt the chosen element implementations to support the interface of the attached component. As each step can be performed in several ways, we get a tree where in the root there is the selected communication and in the leaves there are particular connector implementations that comply with the communication style.
5 This tree can be viewed also as a search tree. Assuming, in each step we have only a limited set of possible options (which is assured by a repository of architectures for connector units, and repository of element implementation templates), we can use back-tracking technique to automatically find proper connector configuration (i.e. connector architecture and element implementations). There are several constraints which must hold to assure the connector configuration is correct. (1) The architecture must reflect the communication style and desired non-functional properties. (2) The connector must be consistent, meaning the chosen element implementations are able to cooperate (e.g. if data are marshalled on client side using CORBA IIOP, they have to be unmarshalled on server side again using CORBA IIOP; the same holds for encryption, transaction propagation, etc.). (3) An element implementation poses requirements on the target dock, where the adapted element implementation should run (e.g. libraries of particular ORB). Having the proper connector configuration, the rest of connector generation is easy. The architecture is used to create a connector builder and the element implementations are adapted to particular component interface. 6 Related and future work To our knowledge, the possibility of connector generation is almost missing in current component-based systems. Similar to automatic creation of connectors is generation of stubs and skeletons in middleware [10, 18, 9], however, this makes the attached components middleware-dependent and supports only procedure call (in some cases also messaging is supported to an extent). In our work we address the connector generation in three steps. The first two comprise selection of particular connector configuration, the third consist of adaptation of selected elements to components interfaces. As a proof-of-the concept, we have implemented a connector generator for SOFA/DCUP [11, 15]. The first and second step, is addressed by a composition checker in Prolog, which traverses the search tree and looks for the suitable connector configurations. The third step (adaptation of primitive templates) [5] is addressed by a Java-implementation of an element adaptor. In this adaptor, each element implementation template is represented by a sort of XML makefile and auxiliary Java-classes. The makefile describes which steps have to be performed in order to adapt the element implementation to a particular interface (e.g. in case of JavaIDL [16] this comprises generation of IDL file, generation of stub and skeleton classes, and compiling them). Our future work comprises further investigation of rules for the first and second step. We created rules for connector consistency checks, however, we need also rulse for checking compliance with desired nonfunctional properties (e.g. distribution, security, etc.) and environment dependencies (a particular library, etc.). References [1] Allen, R. J., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology, 1997 [2] Balek, D., Plasil, F.: Software Connectors and Their Role in Component Deployment, In Proceedings of DAIS'01, Krakow, Kluwer, September 2001 [3] Blair, G., Blair, L., Issarny, V., Tuma, P., Zarras, A.: The Role of Software Architecture in Constraining Adaptation in Component-based Middleware Platforms, Proceedings of Middleware 2000, IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing, Hudson River Valley (NY), USA. Springer Verlag, LNCS, April 2000 [4] Bures, T., Plasil, F.: Scalable Element-Based Connectors, Proceedings of SERA 2003, San Francisco, USA, Jun 2003
6 [5] Bulej, L., Bures, T.: A Connector Model Suitable for Automatic Generation of Connectors. Tech. Report No. 2003/1, Dep. of SW Engineering, Charles University, Prague, 2003 [6] Garlan, D., Monroe, R. T., Wile, D.: Acme: Architectural Description of Component-Based Systems. Foundations of Component-Based Systems, Leavens, G., T. and Sitaraman, M. (eds), Cambridge University Press, 2000 [7] Medvidovic, N., Taylor, R. N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering, Vol. 26, No. 1, January 2000 [8] Moriconi, M., Riemenschneider, R., A.: Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies, Technical Report SRI-CSL-97-01, Mar [9] ObjectWeb Consortium: ProActive manual version 1.0.1, January 2003 [10] OMG formal/ : The Common Object Request Broker Architecture: Core Specification, v3.0, December 2002 [11] Plasil, F., Balek, D., Janecek, R.: SOFA/DCUP: Architecture for Component Trading and Dynamic Updating, Proceedings of ICCDS'98, Annapolis, Maryland, USA, IEEE CS Press, May 1998 [12] Putman, J., Hybertson, D.: Interaction Framework for Interoperability and Behavioral Analyses, ECOOP Workshop on Object Interoperability, 2000 [13] Shaw, M., DeLine, R., Zalesnik, G.: Abstractions and Implementations for Architectural Connections. Proceedings of the 3rd International Conference on Configurable Distributed Systems, May 1996 [14] Shaw, M., Garlan, D.: Software Architecture, Prentice Hall, 1996 [15] The SOFA Project, [16] Sun Microsystems, Inc.: Java IDL, [17] Sun Microsystems, Inc.: Java Message Service, April 2002 [18] Sun Microsystems, Inc.: Java Remote Method Invocation Specification Java 2 SDK, v1.4.1, 2002 [19] W3C: Simple Object Access Protocol (SOAP), v1.1, May 2000
SOFTWARE CONNECTORS AND THEIR ROLE IN COMPONENT DEPLOYMENT
. SOFTWARE CONNECTORS AND THEIR ROLE IN COMPONENT DEPLOYMENT Dušan Bálek 1, František Plášil 1,2 1 Charles University, Faculty of Mathematics and Physics, Department of Software Engineering, Malostranské
More informationAddressing Heterogeneity in OMG D&C-based Deployment
Addressing Heterogeneity in OMG D&C-based Deployment Lubomír Bulej 1,2, Tomáš Bureš 1,2 1 Charles University, Faculty of Mathematics and Physics, Department of Software Engineering Malostranske namesti
More informationDistributed 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 informationHierarchical 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 informationFighting Class Name Clashes in Java Component Systems
Fighting Class Name Clashes in Java Component Systems Petr Hnětynka, Petr Tůma Charles University Department of Software Engineering Distributed System Research Group Malostranské náměstí 25, 118 00 Prague
More informationDescribing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?
Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090
More informationToday: 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 informationCORBA (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 informationDeveloping 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 informationSynthesizing 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 informationApplication 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 informationAdvanced Lectures on knowledge Engineering
TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/
More informationEnhancing EJB Component Model
Enhancing EJB Component Model Vladimír Mencl, Jiří Adámek, Adam Buble, Petr Hnětynka, Stanislav Višňovský Abstract Component Based Software Development (CBSD) aims to lower software development costs by
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationOverview. 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 informationDS 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 informationImplementation of a data layer for the visualization of component-based applications
Implementation of a data layer for the visualization of component-based applications Jaroslav Šnajberk and Přemek Brada Department of Computer Science and Engineering, Faculty of Applied Sciences University
More informationTowards Software Architecture at Runtime
Towards Software Architecture at Runtime Authors Names Department of Computer Science and Technology Peking University, Beijing, PRC, 100871 +86 10 62757801-1 { @ cs.pku.edu.cn 1. Introduction Abstract
More informationA SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS
A SIMULATION ARCHITECTURE DESCRIPTION LANGUAGE FOR HARDWARE-IN-LOOP SIMULATION OF SAFETY CRITICAL SYSTEMS YUJUN ZHU, ZHONGWEI XU, MENG MEI School of Electronics & Information Engineering, Tongji University,
More informationWhat 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 informationCHARLES 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 informationDistributed 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 informationOracle 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 informationQoS Analysis. Valérie Issarny, Erwan Demairy, Apostolos Zarras, Christos Kloukinas, Siegfried Rouvrais INRIA - Rennes and Rocquencourt
QoS Analysis Valérie Issarny, Erwan Demairy, Apostolos Zarras, Christos Kloukinas, Siegfried Rouvrais INRIA - Rennes and Rocquencourt Abstract: The C3DS design and development methodology integrates a
More informationSoftware 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 informationWhy Consider Implementation-Level Decisions in Software Architectures?
1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University
More informationMonitoring System for Distributed Java Applications
Monitoring System for Distributed Java Applications W lodzimierz Funika 1, Marian Bubak 1,2, and Marcin Smȩtek 1 1 Institute of Computer Science, AGH, al. Mickiewicza 30, 30-059 Kraków, Poland 2 Academic
More informationDistributed 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 informationRuntime Software Architecture Based Software Evolution And Adaptation
Runtime Software Architecture Based Software Evolution And Adaptation Qianxiang Wang, Gang Huang, Junrong Shen, Hong Mei, Fuqing Yang Department of Computer Science and Technology, Peking University 100871
More informationAutomatic 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 information1 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 informationTowards Automated Component Compatibility Assessment
Towards Automated Component Compatibility Assessment Přemysl Brada Department of Computer Science and Engineering University of West Bohemia, Pilsen, Czech Republic brada@kiv.zcu.cz (This position paper
More informationUsing JBI for Service-Oriented Integration (SOI)
Using JBI for -Oriented Integration (SOI) Ron Ten-Hove, Sun Microsystems January 27, 2006 2006, Sun Microsystems Inc. Introduction How do you use a service-oriented architecture (SOA)? This is an important
More informationExperiences in the management of an EJB-based e- commerce application. Abstract
Experiences in the management of an EJB-based e- commerce application Juan I. Asensio, Víctor A. Villagrá, Jorge E. López de Vergara, Roney Pignaton, Julio J. Berrocal. Department of Telematic Systems
More informationChapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration
Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration Sockets Defined as an endpoint for communcation Concatenation of IP
More informationRIKA: Component Architectures
RIKA: Component Architectures Dr. Detlef Kreuz Telematik kreuz@tuhh.de TUHH - TELEMATIK Agenda Introduction What you should learn from this talk N-Tier applications Designing with components What is a
More informationSoftware Components and Distributed Systems
Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design
More informationIntegrating 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 informationCORBA 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 informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationWeb Services: A Bridge between CORBA and DCOM
Web Services: A Bridge between and DCOM Mohammed Mohsen AL-Khawlani Abstract In today s market, there are many distributed systems technologies and each technology has its own strengths and weaknesses.
More informationAN EMPIRICAL STUDY OF EFFICIENCY IN DISTRIBUTED PARALLEL PROCESSING
AN EMPIRICAL STUDY OF EFFICIENCY IN DISTRIBUTED PARALLEL PROCESSING DR. ROGER EGGEN Department of Computer and Information Sciences University of North Florida Jacksonville, Florida 32224 USA ree@unf.edu
More informationIntroduction 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 informationDescribing the functionality of EJB using the behavior protocols
Describing the functionality of EJB using the behavior protocols Radek Pospíšil 1, František Plášil 1,2 1 Charles University Faculty of Mathematics and Physics Department of Software Engineering Malostranké
More informationAppendix 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 informationIrbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems
Developing Enterprise Systems with CORBA and Java Integrated Technologies Safwan Al Salaimeh, Amer Abu Zaher Irbid National University, Irbid, Jordan ABSTRACT: The questions of corporate systems development
More informationA Comprehensive Interface Definition Framework for Software Components
A Comprehensive Interface Definition Framework for Software Components Jun Han Peninsula School of Computing and Information Technology Monash University, McMahons Road, Frankston, Vic 3199, Australia
More informationUnit 7: RPC and Indirect Communication
SR (Systèmes Répartis) Unit 7: RPC and Indirect Communication François Taïani Outline n Remote Procedure Call è First Class RPC è Second Class RPC (RMI) n Indirect Communication è Group Communication è
More informationReal-Time Coordination in Distributed Multimedia Systems
Real-Time Coordination in Distributed Multimedia Systems Theophilos A. Limniotes and George A. Papadopoulos Department of Computer Science University of Cyprus 75 Kallipoleos Str, P.O.B. 20537 CY-1678
More informationToday: 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 informationDistributed Object Bridges and Java-based Object Mediator
Distributed Object Bridges and Java-based Object Mediator Konstantinos Raptis, Diomidis Spinellis, Sokratis Katsikas An important aspect of research on software objects, components, and component-based
More informationSE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.
SE Assignment III 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. There are essentially 5 different types of symbols used
More informationReflective Middleware. INF Tommy Gudmundsen
Reflective Middleware INF5360 11.03.2008 Tommy Gudmundsen tommygu@ifi.uio.no Papers presented Grace, P., Blair, G.S., Samual, S., "ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability"
More informationIntroduction. ADL Roles
Architecture Description Languages (ADLs) 1 Introduction Architecture is key to reducing development costs development focus shifts to coarse-grained elements Formal architectural models are needed ADLs
More informationA Report on RMI and RPC Submitted by Sudharshan Reddy B
A Report on RMI and RPC Submitted by Sudharshan Reddy B Abstract: This report mainly explains the RMI and RPC technologies. In the first part of the paper the RMI technology is briefly explained and in
More informationNotes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title
Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion
More informationPerformance Evaluation of Java And C++ Distributed Applications In A CORBA Environment
Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Sanjay P. Ahuja Roger Eggen Cheryl Daucher Department of Computer and Information Sciences University of North Florida
More information1.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 informationConfiguration 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 informationAdvanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech
Advanced Topics in Distributed Systems Dr. Ayman A. Abdel-Hamid Computer Science Department Virginia Tech Communication (Based on Ch2 in Distributed Systems: Principles and Paradigms, 1/E or Ch4 in 2/E)
More informationAn 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 informationQuality 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 informationDistribution Transparencies For Integrated Systems*
Distribution Transparencies For Integrated Systems* Janis Putman, The Corporation Ground System Architectures Workshop 2000 The Aerospace Corporation February 2000 Organization: D500 1 * The views and
More informationUsing 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 informationI would like tothank my advisor, Petr Tνuma, for his expert advice he gave me with extraordinary patience and for providing me with study materials an
Charles University, Prague, Czech Republic Faculty of Mathematics and Physics MASTER THESIS Tomá»s Kalibera SOFA Support in C++ Environments Department of Software Engineering Advisor: Ing. Petr Tνuma,
More informationRMI-P4. Harsimrankaur PDMCEW, Bahadurgarh
RMI-P4 Harsimrankaur PDMCEW, Bahadurgarh Abstract: SAP is one of the leading providers of business software. Its product portfolio for enterprise application software is organized around the various key
More informationDistributed 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 informationMessage 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 informationIntroduction to Web Services & SOA
References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.
More informationA Systematic Approach to Composing Heterogeneous Components
A Systematic Approach to Composing Heterogeneous Components HUANG Gang, MEI Hong, WANG Qian-xiang, YANG Fu-qing Dept of Computer Science & Technology, Peking University, Beijing 100871 {huanggang, meih,
More informationA 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 informationDistributed 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 informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationSoberIT Software Business and Engineering Institute. SoberIT Software Business and Engineering Institute. Contents
Architecture Description Languages (ADLs): Introduction, Koala, UML as an ADL T-76.150 Software Architecture Timo Asikainen Contents Brief motivation for ADLs General features of ADLs Koala UML as an ADL
More informationChallenges 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 informationDesigning a Distributed System
Introduction Building distributed IT applications involves assembling distributed components and coordinating their behavior to achieve the desired functionality. Specifying, designing, building, and deploying
More informationDistributed 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 informationChapter 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 informationCapturing 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 informationSoftware Architectures. Lecture 8
Software Architectures Lecture 8 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More information(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 informationAdvanced Topics in Operating Systems
Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:
More informationUsing Architectural Models at Runtime: Research Challenges
Proceedings of the European Workshop on Software Architectures, St. Andrews, Scotland, May 2004. Using Architectural Models at Runtime: Research Challenges David Garlan and Bradley Schmerl Department of
More informationImprovement to the Smart Data Server with SOAP *
Improvement to the Smart Data Server with * WANJUN HUANG, UWE ROTH, CHRISTOPH MEINEL Institute of Telematics Bahnhofstr. 30-32,D-54292, Trier GERMANY {huang,roth,meinel}@ti.fhg.de Abstract: - As a distributed
More informationSystem 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 informationCORBA vs. DCOM. Master s Thesis in Computer Science
Master s Thesis in Computer Science Preliminary version December 21, 2000 CORBA vs. DCOM Fredrik Janson and Margareta Zetterquist The Royal Institute of Technology Kungliga Tekniska Högskolan Examiner:
More informationA 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 informationChapter 6 Enterprise Java Beans
Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used
More informationApplying Experiences with Declarative Codifications of Software Architectures on COD
Applying Experiences with Declarative Codifications of Software Architectures on COD Position Paper Roel Wuyts Stéphane Ducasse Gabriela Arévalo roel.wuyts@iam.unibe.ch ducasse@iam.unibe.ch arevalo@iam.unibe.ch
More informationEngineering 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 informationCreational. Structural
Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns
More informationDistributed 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 informationCAS 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 informationQoS for Distributed Objects by Generating Tailored Protocols
QoS for Distributed Objects by Generating Tailored Protocols Matthias Jung, Ernst W. Biersack Institut Eurécom, 2229 Route des Crêtes, 06190 Sophia Antipolis, France fjung,erbig@eurecom.fr In ECOOP 00
More informationChapter 3 Introduction to Distributed Objects
Chapter 3 Introduction to Distributed Objects Distributed object support all of the properties of an object created in compiled object oriented language, namely,data and code encapsulation, polymorphism
More informationArchitectural Design Outline
Architectural Design Outline Prev lecture general design principles. design Today architectural 1. What is a software architecture 2. Components, Connectors, and Configurations 3. Modeling Architectures:
More informationGeneralized Document Data Model for Integrating Autonomous Applications
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract
More informationManaging Complexity of Designing Routing Protocols Using a Middleware Approach
Managing Complexity of Designing Routing Protocols Using a Middleware Approach Cosmina Ivan 1, Vasile Dadarlat 2, and Kalman Pusztai 3 1 Department of Computer Science & Information Systems University
More informationASPECTIX: 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 informationSOFA NetBeans Module
Charles University, Prague Distributed Systems Research Group SOFA NetBeans Module an introductory guide Revision 1.0 June 2003 Contents 1 Module s Essentials 3 1.1 Introduction........................
More information