9 research outputs found

    an extensible tuplespace as XML-middleware

    Get PDF
    XMLSpaces.NET implements the Linda concept as a middleware for XML documents. It introduces an extended matching flexibility on nested tuples and richer data types for fields, including objects and XML documents. It is completely XML-based since data, tuples and tuplespaces are seen as trees represented as XML documents. XMLSpaces.NET is extensible in that it supports a hierarchy of matching relations on tuples and an open set of matching amongst data, documents and objects. It is currently being implemented on the .NET platform

    Supporting Collaborative Communication in a Multi-layer Meta-process Model for Evolutionary Shared Workflows

    Get PDF
    A key planning activity within a Virtual Enterprise (VE) is to establish agreed inter-organizational processes. This activity, or meta-process, has to allow for gradual evolution of the VE processes and for a multi layer development from informal business agreements to precise workflows. To support this meta-process, a collaborative electronic whiteboard supported by a tuplespace is proposed. The whiteboard supports a mixed graphical and text interface, with support for keeping track of the changes made. The participating organizations upload workflow definitions from their own IT systems into the tuplespace. Workflows are then discussed, modified and evolved before being downloaded again and mapped to the partners’ individual systems

    New and improved : Linda in Java

    Get PDF
    This paper discusses the current resurgence of interest in the Linda coordination language for parallel and distributed programming. Particularly in the Java field, there have been a number of developments over the past few years. These developments are summarised together with the advantages of using Linda for programming concurrent systems. Some problems with the basic Linda approach are also discussed and a novel solution to these is presented. The power and flexibility of the proposed extensions to the Linda programming model are illustrated by considering a number of example applications, including a detailed case study of visual language parsing

    WS-PTRLinda : un sistema de coordinación temporizado y persistente basado en tecnologías de servicios web

    Get PDF
    Hoy en día los procesos Web son actores habituales de internet que siguen aumentando en número y complejidad. La evolución de las comunicaciones en cuanto a rapidez y seguridad ha permitido el nacimiento de una nube donde herramientas, servicios y espacio se ofrecen virtualizados. Los procesos que antes funcionaban localmente ahora se enfrentan a un mundo online donde deben comunicarse y coordinarse entre ellos, ahora son procesos Web. Los procesos Web involucran múltiples usuarios que resultan complejos de coordinar y comunicar, para ello surgen middlewares de coordinación. Uno de los elementos de este tipo de middlewares es el bróker de mensajes, que debe coordinar a los servicios Web que lo usan para interaccionar. Actúa como un repositorio de mensajes y datos al cual todos los servicios implicados pueden acceder. En 2006 el Grupo de Integración de Sistemas Distribuidos y Heterogéneos (GIDHE) de la Universidad de Zaragoza hizo una propuesta de broker de mensajes, RLinda, basado en Linda y diseñado e implementado mediante tecnología de Redes de Petri de alto nivel. La plataforma actual tiene ciertas limitaciones que dificultan su integración en entornos donde las tecnologías y estándares de servicios Web son utilizados. WS-PTRLinda se construye sobre el núcleo de RLinda, implementando las principales funcionalidades con la misma tecnología que el resto del sistema: las redes por Referencia, una subclase de las Object Petri Nets. El nuevo sistema se compone de dos nuevas capas, una de persistencia y otra de temporización. La capa de persistencia aporta un sistema de almacenamiento persistente de los datos permitiendo al sistema ser aplicado en entornos con características de alta disponibilidad. Esta capa se basa en el empleo de la herramienta Hibernate para comunicase con una base de datos MySQL, ofreciendo dos conceptos de persistencia que proporcionan mayor flexibilidad para enfrentarse a un escenario concreto. La capa de temporización aplica el concepto el tiempo a tanto a las operaciones como a los datos. Esta capa descansa sobre una serie de modificaciones en la red de Petri que modela el sistema y algunos objetos que funcionan en background ocupados de gestionar el tiempo que una operación o dato es válida/o. El concepto de tiempo añade nuevas posibilidades a las anteriores operaciones del sistema y lo habilita para desplegarse en ciertos campos de aplicación. El proyecto añade además una interfaz accesible mediante estándares de servicios web (SOAP y REST) que conecta directamente con el núcleo de la aplicación, evitando el cuello de botella que la tecnología RMI ocasionaba en el RLinda original y validación de datos en base a esquemas XMLSchema. Finalmente se desarrolla una aplicación de descarga P2P como caso real de aplicación y se analizan las prestaciones del sistema desarrollado en un clúster, analizando los resultados con respecto a los obtenidos inicialmente para RLinda

    Semantic coordination through programmable Tuple spaces

    Get PDF
    Two of the main features of today complex software systems like pervasive computing systems and Internet-based applications are distribution and openness. Distribution revolves around three orthogonal dimensions: (i) distribution of control|systems are characterised by several independent computational entities and devices, each representing an autonomous and proactive locus of control; (ii) spatial distribution|entities and devices are physically distributed and connected in a global (such as the Internet) or local network; and (iii) temporal distribution|interacting system components come and go over time, and are not required to be available for interaction at the same time. Openness deals with the heterogeneity and dynamism of system components: complex computational systems are open to the integration of diverse components, heterogeneous in terms of architecture and technology, and are dynamic since they allow components to be updated, added, or removed while the system is running. The engineering of open and distributed computational systems mandates for the adoption of a software infrastructure whose underlying model and technology could provide the required level of uncoupling among system components. This is the main motivation behind current research trends in the area of coordination middleware to exploit tuple-based coordination models in the engineering of complex software systems, since they intrinsically provide coordinated components with communication uncoupling and further details in the references therein. An additional daunting challenge for tuple-based models comes from knowledge-intensive application scenarios, namely, scenarios where most of the activities are based on knowledge in some form|and where knowledge becomes the prominent means by which systems get coordinated. Handling knowledge in tuple-based systems induces problems in terms of syntax - e.g., two tuples containing the same data may not match due to differences in the tuple structure - and (mostly) of semantics|e.g., two tuples representing the same information may not match based on a dierent syntax adopted. Till now, the problem has been faced by exploiting tuple-based coordination within a middleware for knowledge intensive environments: e.g., experiments with tuple-based coordination within a Semantic Web middleware (surveys analogous approaches). However, they appear to be designed to tackle the design of coordination for specic application contexts like Semantic Web and Semantic Web Services, and they result in a rather involved extension of the tuple space model. The main goal of this thesis was to conceive a more general approach to semantic coordination. In particular, it was developed the model and technology of semantic tuple centres. It is adopted the tuple centre model as main coordination abstraction to manage system interactions. A tuple centre can be seen as a programmable tuple space, i.e. an extension of a Linda tuple space, where the behaviour of the tuple space can be programmed so as to react to interaction events. By encapsulating coordination laws within coordination media, tuple centres promote coordination uncoupling among coordinated components. Then, the tuple centre model was semantically enriched: a main design choice in this work was to try not to completely redesign the existing syntactic tuple space model, but rather provide a smooth extension that { although supporting semantic reasoning { keep the simplicity of tuple and tuple matching as easier as possible. By encapsulating the semantic representation of the domain of discourse within coordination media, semantic tuple centres promote semantic uncoupling among coordinated components. The main contributions of the thesis are: (i) the design of the semantic tuple centre model; (ii) the implementation and evaluation of the model based on an existent coordination infrastructure; (iii) a view of the application scenarios in which semantic tuple centres seem to be suitable as coordination media

    Coordination as a Web Service: una moderna implementazione del modello Linda

    Get PDF
    Scopo della tesi è lo sviluppo di un moderno middleware distribuito, basato sul modello di coordinazione Linda, che possa fornire una sostanziale indipendenza di due aspetti fondamentali della coordinazione basata su tuple: il linguaggio di coordinazione e i linguaggi di comunicazione. Questo permetterà alle entità coordinate di interagire tramite gli spazi di tuple avendo a disposizione un insieme eterogeneo di tecnologie di rappresentazione dell’informazione tra cui scegliere. Queste funzionalità saranno rese accessibili tramite un servizio web che esporrà una API ReSTful per abilitare l'interazione con gli agenti in rete; ciò sarà realizzato previa uno studio approfondito dei contributi tecnologici passati, le cui idee e concetti contribuiranno alla formulazione del concetto di Coordination as a Web Service. Infine, sarà proposta un'architettura software che permetta di realizzare un middleware semplice ma competitivo, in grado di trovare applicazione in molteplici contesti reali

    An approach for distributed rostering by means of Web service technologies

    Get PDF
    La planificación automática de turnos de trabajo (rostering de aquí en adelante) es un proceso fundamental para la mayoría de empresas. Este proceso les permite gestionar sus recursos de forma eficiente. La mayoría de soluciones de planificación automática trabajan en escenarios centralizados. Este proyecto tiene como meta dar un nuevo enfoque al proceso de planificación automática transformando el entorno centralizado en uno distribuido. La tecnología escogida para esta transformación son los servicios Web. Los servicios Web se han posicionado como una de las tecnologías más importantes y utilizadas, sin embargo la combinación de los procesos de planificación automática con servicios Web no ha sido investigada y estudiada en profundidad. Este nuevo enfoque pretende crear soluciones más ligeras y flexibles para empresas de forma que no tengan que preocuparse de tediosas instalaciones y configuraciones El enfoque distribuido puede proveer numerosos beneficios a ambas partes; permitiría centrar este área tecnológica en un entorno web 2.0. Las compañías de planificación automática se actualizarían convirtiéndose en empresas con gran capacidad de interacción con el resto de elementos de la web 2.0. Al mismo tiempo, la empresa que consume los servicios de rostering no tiene que preocuparse por el mantenimiento y actualizaciones. Los calendarios de turnos de trabajo pueden ser obtenidos en cualquier lugar y en cualquier momento. Esto mejora el valor de la empresa y las relaciones con los empleados. Para el desarrollo del proyecto se han creado diferentes aplicaciones. Estas aplicaciones han sido configuradas de distintas formas para abarcar distintas posibilidades de desarrollo y poder así obtener una visión más amplia de las capacidades y posibilidades del sistema distribuido. Las configuraciones están centradas en el tipo de servicio Web usado (SOAP, REST) y en la seguridad y sus diferentes posibilidades. El proyecto es una prueba de concepto de como este nuevo enfoque funcionaría, resaltando los puntos fuertes y deficiencias de éste; de la misma manera pretende sentar una base para futuros proyectos en este área. El proyecto ha conseguido cumplir con los objetivos propuestos, mostrando los puntos fuertes y débiles del enfoque. De forma sorprendente y contraria a las expectativas los problemas aparecen al obtener los datos necesarios de las diferentes empresas para crear el calendario. En principio, se esperaba que el cuello de botella del sistema se encontrase en el proceso de rostering, ya que normalmente es un proceso costoso y pesado. Los resultados del proyecto muestran como el cuello de botella está localizado cuando se intenta obtener la información de empresas externas. Este problema resalta la característica principal de este nuevo enfoque: es necesario un sistema personalizado para cada empresa que quiera consumir los servicios de rostering. Esto significa que a pesar de tener un sistema global funcionando con servicios Web, no es válido para todas las empresas que quieran utilizarlo y consecuentemente hay que adaptarlo a cada una de ellas. La colaboración entre empresas se vuelve esencial en este nuevo enfoque. Esto complica la idea inicial y cambia los objetivos de las empresas de rostering que necesitan una profunda transformación de sus sistemas y su funcionamiento

    Interaction and interest management in a scripting language.

    Get PDF
    Interaction management is concerned with the protocols that govern interactive activities among multiple users or agents in networked collaborative environments. Interest management is concerned with the relevance-based data filtering in networked collaborative environments. The main objective of the former is to structure interactive activities according to the requirements of the application concerned, while the main objective of the latter is to provide secured data transmission of a subset of information relevant to each recipient. The research in these two important aspects of networked software has largely been carried out in specific application domains such as online meetings, online groupware and online games. This thesis is concerned with the design and implementation of high-level language constructs for interaction and interest management. The work that has been undertaken includes: an abstract study of interactive activities and data transmission in networked collaborative environments through a large number of variations of the noughts and crosses game; the design of a set of language constructs for specifying a variety of interaction protocols; the design of a set of language constructs for specifying secured data sharing with relevance-based filtering; the implementation of these language constructs in the form of a major extension of a scripting language JACIE (Java-based Authoring Language for Collaborative Interactive Environments); the development of two demonstration applications, namely e-leaming on Simulation of Network Trouble Shooting and online Bridge, using the extended JACIE for demonstrating the technical feasibility and usefulness of the design. These high-level language constructs support a class of complicated software features in networked collaborative applications, such as turn management, interaction timing, group formation, dynamic protocol changes, distributed data sharing, access control, authentication and information filtering. They enable programmers to implement such features in an intuitive manner without involving low-level system programming directly, which would otherwise require the knowledge and skills of experienced network programmers
    corecore