2,754 research outputs found

    Management of object-oriented action-based distributed programs

    Get PDF
    Phd ThesisThis thesis addresses the problem of managing the runtime behaviour of distributed programs. The thesis of this work is that management is fundamentally an information processing activity and that the object model, as applied to actionbased distributed systems and database systems, is an appropriate representation of the management information. In this approach, the basic concepts of classes, objects, relationships, and atomic transition systems are used to form object models of distributed programs. Distributed programs are collections of objects whose methods are structured using atomic actions, i.e., atomic transactions. Object models are formed of two submodels, each representing a fundamental aspect of a distributed program. The structural submodel represents a static perspective of the distributed program, and the control submodel represents a dynamic perspective of it. Structural models represent the program's objects, classes and their relationships. Control models represent the program's object states, events, guards and actions-a transition system. Resolution of queries on the distributed program's object model enable the management system to control certain activities of distributed programs. At a different level of abstraction, the distributed program can be seen as a reactive system where two subprograms interact: an application program and a management program; they interact only through sensors and actuators. Sensors are methods used to probe an object's state and actuators are methods used to change an object's state. The management program is capable to prod the application program into action by activating sensors and actuators available at the interface of the application program. Actions are determined by management policies that are encoded in the management program. This way of structuring the management system encourages a clear modularization of application and management distributed programs, allowing better separation of concerns. Managemental concerns can be dealt with by the management program, functional concerns can be assigned to the application program. The object-oriented action-based computational model adopted by the management system provides a natural framework for the implementation of faulttolerant distributed programs. Object orientation provides modularity and extensibility through object encapsulation. Atomic actions guarantee the consistency of the objects of the distributed program despite concurrency and failures. Replication of the distributed program provides increased fault-tolerance by guaranteeing the consistent progress of the computation, even though some of the replicated objects can fail. A prototype management system based on the management theory proposed above has been implemented atop Arjuna; an object-oriented programming system which provides a set of tools for constructing fault-tolerant distributed programs. The management system is composed of two subsystems: Stabilis, a management system for structural information, and Vigil, a management system for control information. Example applications have been implemented to illustrate the use of the management system and gather experimental evidence to give support to the thesis.CNPq (Consellho Nacional de Desenvolvimento Cientifico e Tecnol6gico, Brazil): BROADCAST (Basic Research On Advanced Distributed Computing: from Algorithms to SysTems)

    An extensible view system for supporting the integration and interoperation of heterogeneous, autonomous, and distributed database management systems

    Get PDF
    In this thesis the problem of integrating heterogeneous, autonomous and distributed database management systems (DBMSs) is addressed. To provide a solution, we have developed an approach, a design method, and a view system. Our approach is based on the invention of the abstract view constructs that have uniform and stable representations for supporting semantic relativism and distributed abstraction modeling. Our design method applies object-oriented techniques and software engineering concepts to manage the system complexity. Our view system has been constructed upon established experience with the development of large-scale distributed systems in a distributed object infrastructure provided by the Common Object Request Broker Architecture (CORBA). The scope of our research identifies the goals of Project Zeus in which we have created the Zeus View Mechanism ( ZVM) as the theoretical foundation of our approach. The notion of frameworks has been introduced as part of our design methodology to promote code/design reuse and enhance the portability/extensibility of the architectural design. A multidatabase system, the Zeus Multidatabase System ( ZMS), has provided a test bed for our concept. Project Zeus has exciting prospects. The foundation established in this research has created new directions in multidatabase research and will have a significant impact on future integration and interoperation technologies

    Views and concerns and interrelationships : Lessons learned from developing the multi-View software engineering environment PIROL

    Get PDF
    Software-Entwicklungsumgebungen sind komplexe Systeme mit besonderen Anforderungen an ModularitĂ€t und Anpaßbarkeit. Diese Arbeit beschreibt die Entwicklung der Umgebung PIROL. Die Beschreibung ist dabei in eine Abfolge der folgenden 12 Themen gegliedert. (1) Metamodellierung ist das Grundkonzept, nach dem PIROL seine Daten gemĂ€ĂŸ einem objektorientierten Datenmodell zerlegt, so daß beliebige Werkzeuge auch auf die Daten anderer Werkzeuge auf sinnvolle Art und Weise zuzugreifen können. (2) Das Metamodell wird zur persistenten Speicherung der Daten auf Konzepte des Repositories H-PCTE abgebildet. (3) Die GranularitĂ€t eines Metamodells ist fĂŒr die EffektivitĂ€t und Effizienz des Gesamtsystems entscheidend. PIROL unterstĂŒtzt hybride Modellierung als Kompromiß beider Extreme. (4) Durch Methoden des Metamodells wird Verhaltensmodellierung fĂŒr verschiedenste Aufgaben unterstĂŒtzt. (5) Ausnahmebehandlung wird systematisch unterstĂŒtzt. (6) Verschiedene Mechanismen zur Wahrung der DatenintegritĂ€t sind enthalten. (7) Das System wurde nach einer Client-Server Architektur entwickelt, deren zentrale Komponente eine "Workbench" ist, die die Repository-Sprache Lua/P ausfĂŒhrt. (8) Steuerungsintegration erlaubt durch verteilte SteuerflĂŒsse das enge Zusammenspiel lose gekoppelter Komponenten. (9) Die koordinierte Zusammenarbeit mehrerer Benutzer wird unterstĂŒtzt. (10) Die logische UnabhĂ€ngigkeit von Werkzeugen wird durch das neue Konzept der Dynamic View Connectors erreicht. (11) Allgemeine Dienste sind in der Umgebung einheitlich verfĂŒgbar. (12) Das System unterstĂŒtzt die Weiterentwicklung. All diese Themengebiete sind sehr eng miteinander verzahnt und die Darstellung ist zu großem Teil der gegenseitigen Beeinflussung gewidmet. Es wird gezeigt, wie eine Großzahl der Entwurfsentscheidungen genau aus diesen Beeinflussungen motiviert sind. Die Beschreibung folgt damit dem Konzept der "Concern Interaction Matrix", das hier zur BewĂ€ltigung von KomplexitĂ€t vorgeschlagen wird. Dabei werden Charakteristika einzelner Anliegen und einzelner ZusammenhĂ€nge herausgearbeitet. Die Beschreibung PIROLs wird durch die Liste der integrierten Werkzeuge, AnsĂ€tze von Laufzeit-Messungen und einige Betrachtungen zur Beurteilung abgerundet. Abschließend werden verschiedene Konzepte rund um den Begriff "Sichten" erörtert. Sichten sind ein zentrale Anliegen von PIROL. Außerdem generalisiert die Diskussion ĂŒber die mehrdimensionale Darstellung des Hauptteiles. Es werden Begrifflichkeit, Konzepte und Techniken fĂŒr Sichten in der Softwaretechnik vorgestellt und diskutiert. Dabei wird die BrĂŒcke geschlagen von Sichten in objektorientierten Datenbanken, ĂŒber aspekt-orientierte Softwareentwicklung bis hin zum allgemeinen "Concern Modeling", zu dem die o.g. Methode einen Beitrag leisten soll. Sichten werden dabei als ein zentrales Konzept der Softwaretechnik neben Abstraktion und Zerlegung beurteilt. Dynamic View Connectors sind ein wesentlicher Beitrag von PIROL, durch den Datenbanksichten und aspektorientierte Programmierung zusammengefĂŒhrt werden. Zwar ist der Sichten-Begriff lĂ€ngst nicht so scharf definiert, wie die Begriffe Abstraktion und Zerlegung, aber gerade die Überlappungen und Diskrepanzen, die durch Sichten abgebildet werden können, machen dies Konzept zu einem starken Strukturierungsprinzip, das zwar einigen Aufwand zur Behandlung von Inkonsistenzen erfordert, aber andererseits hilft, komplexe Systeme handhabbar und wartbar zu gestalten.Software engineering environments are complex systems with special requirements regarding modularity and adaptability. This thesis describes the development of the environment PIROL. The description is structured as a sequence of the following 12 concerns: (1) Meta modeling is the basic concept by which PIROL decomposes its data in accordance to an object-oriented data model. This allows arbitrary tools to access data of other tools in a meaningful way. (2) For persistent storage the model is mapped to the concepts of the repository H-PCTE. (3) The granularity of a meta model determines effectiveness and efficiency of the system. PIROL supports hybrid modeling as a compromise between extremes. (4) By methods of the meta model behavior modeling is supported for a wide range of tasks. (5) Exception handling is supported systematically. (6) Several mechanisms for preserving data integrity are integrated. (7) The system follows a client-server architecture. As its, central component the "workbench" executes the repository language LuaP. (8) Control integration allows for close cooperation of loosely coupled components by means of distributed control flows. (9) The coordinated cooperation of multiple users is supported. (10) Logical independence of tools is achieved by the novel concept of Dynamic View Connectors. (11) Common services are available throughout the environment in a uniform way. (12) The system is prepared for evolution. All these concerns are tightly interlocked. A considerable share of the presentation is dedicated to such mutual interactions. Is is shown, how a large number of design decisions is motivated exactly by these interactions. The description follows the concept of a "Concern Interaction Matrix" which is proposed for managing complexity. Characteristics of concerns and their interactions are elaborated. The description of PIROL is completed by a list of integrated tools, initial performance measurements and evaluation. Finally, several concepts relating to the notion of "views" are discussed. Views are a central concern of PIROL. Furthermore, the discussion generalizes over the multi-dimensional presentation in the body of this thesis. Notions, concepts and techniques for views in software engineering are presented and discussed. This discussion connects views in object-oriented databases, aspect-oriented software development and general "concern modeling", to which the method of "Concern Interaction Matrices" contributes. Views are regarded as a central concept of software engineering at the same level as abstraction and decomposition. Dynamic View Connectors are a significant contribution of PIROL that combines database views and aspect-oriented programming. The notion of "views" is defined with far less precision than abstraction and decomposition, but indeed by the overlap and mismatches, which can be captured by views, this concept is a strong principle for structuring software and information. Effort is needed for handling inconsistencies as they may arise, but after all, views are a suitable means for managing the complexity of systems and for designing these systems for evolution

    Services in pervasive computing environments : from design to delivery

    Get PDF
    The work presented in this thesis is based on the assumption that modern computer technologies are already potentially pervasive: CPUs are embedded in any sort of device; RAM and storage memory of a modern PDA is comparable to those of a ten years ago Unix workstation; Wi-Fi, GPRS, UMTS are leveraging the development of the wireless Internet. Nevertheless, computing is not pervasive because we do not have a clear conceptual model of the pervasive computer and we have not tools, methodologies, and middleware to write and to seamlessly deliver at once services over a multitude of heterogeneous devices and different delivery contexts. Our thesis addresses these issues starting from the analysis of forces in a pervasive computing environment: user mobility, user profile, user position, and device profile. The conceptual model, or metaphor, we use to drive our work is to consider the environment as surrounded by a multitude of services and objects and devices as the communicating gates between the real world and the virtual dimension of pervasive computing around us. Our thesis is thus built upon three main “pillars”. The first pillar is a domain-object-driven methodology which allows developer to abstract from low level details of the final delivery platform, and provides the user with the ability to access services in a multi-channel way. The rationale is that domain objects are self-contained pieces of software able to represent data and to compute functions and procedures. Our approach fills the gap between users and domain objects building an appropriate user interface which is both adapted to the domain object and to the end user device. As example, we present how to design, implement and deliver an electronic mail application over various platforms. The second pillar of this thesis analyzes in more details the forces that make direct object manipulation inadequate in a pervasive context. These forces are the user profile, the device profile, the context of use, and the combinatorial explosion of domain objects. From the analysis of the electronic mail application presented as example, we notice that according to the end user device, or according to particular circumstances during the access to the service (for instance if the user access the service by the interactive TV while he is having his breakfast) some functionalities are not compulsory and do not fit an adequate task sequence. So we decided to make task models explicit in the design of a service and to integrate the capability to automatically generate user interfaces for domain objects with the formal definition of task models adapted to the final delivery context. Finally, the third pillar of our thesis is about the lifecycle of services in a pervasive computing environment. Our solutions are based upon an existing framework, the Jini connection technology, and enrich this framework with new services and architectures for the deployment and discovery of services, for the user session management, and for the management of offline agents

    Programming patterns and development guidelines for Semantic Sensor Grids (SemSorGrid4Env)

    No full text
    The web of Linked Data holds great potential for the creation of semantic applications that can combine self-describing structured data from many sources including sensor networks. Such applications build upon the success of an earlier generation of 'rapidly developed' applications that utilised RESTful APIs. This deliverable details experience, best practice, and design patterns for developing high-level web-based APIs in support of semantic web applications and mashups for sensor grids. Its main contributions are a proposal for combining Linked Data with RESTful application development summarised through a set of design principles; and the application of these design principles to Semantic Sensor Grids through the development of a High-Level API for Observations. These are supported by implementations of the High-Level API for Observations in software, and example semantic mashups that utilise the API

    A service-oriented approach to embedded component-based manufacturing automation

    Get PDF
    This thesis is focused on the application of Component-Based (CB) technology to shop oor devices using a Service Oriented Architecture (SOA) and Web Services (WS) for the purpose of realising future generation agile manufacturing systems. The environment of manufacturing enterprises is now characterised by frequently changing market demands, time-to-market pressure, continuously emerging new technologies and global competition. Under these circumstances, manufacturing systems need to be agile and automation systems need to support this agility. More speci cally, an open, exible automation environment with plug and play connectivity is needed. Technically, this requires the easy connectivity of hardware devices and software components from di erent vendors. Functionally, there is a need of interoperability and integration of control functions on di erent hierarchical levels ranging from eld level to various higher level applications such as process control and operations management services. [Continues.
    • 

    corecore