86 research outputs found

    COMPONENT TECHNOLOGIES AND THEIR IMPACT UPON SOFTWARE DEVELOPMENT

    Get PDF
    Software development is beset with problems relating to development productivity, resulting in projects delivered late and over budget. While the term software engineering was first introduced in the late sixties, its current state reflects no other engineering discipline. Component-orientation has been proposed as a technique to address the problems of development productivity and much industrial literature extols the benefits of a component-oriented approach to software development. This research programme assesses the use of component technologies within industrial software development. From this assessment, consideration is given to how organisations can best adopt such techniques. Initial work focuses upon the nature of component-orientation, drawing from the considerable body of industrial literature in the area. Conventional wisdom regarding componentorientation is identified from the review. Academic literature relevant to the research programme focuses upon knowledge regarding the assessment of software technologies and models for the adoption of emergent technologies. The method pays particular attention to literature concerning practitioner focussed research, in particular case studies. The application of the case study method is demonstrated. The study of two industrial software development projects enables an examination of specific propositions related to the effect of using component technologies. Each case study is presented, and the impact of component-orientation is each case is demonstrated. Theories regarding the impact of component technologies upon software development are drawn from case study results. These theories are validated through a survey of practitioners. This enabled further examination of experience in component-based development and also understanding how developers learn about the techniques. A strategy for the transfer of research findings into organisational knowledge focuses upon the packaging of previous experience in the use of component-orientation in such a way that it was usable by other developers. This strategy returns to adoption theories in light of the research findings and identifies a pattern-based approach as the most suitable for the research aims. A pattern language, placed in the context of the research programme, is developed from this strategy. Research demonstrates that component-orientation undoubtedly does affect the development process, and it is necessary to challenge conventional wisdom regarding their use. While component-orientation provides the mechanisms for increased productivity in software development, these benefits cannot be exploited without a sound knowledge base around the domain

    Autonomous Agents for Business Process Management

    No full text
    Traditional approaches to managing business processes are often inadequate for large-scale organisation-wide, dynamic settings. However, since Internet and Intranet technologies have become widespread, an increasing number of business processes exhibit these properties. Therefore, a new approach is needed. To this end, we describe the motivation, conceptualization, design, and implementation of a novel agent-based business process management system. The key advance of our system is that responsibility for enacting various components of the business process is delegated to a number of autonomous problem solving agents. To enact their role, these agents typically interact and negotiate with other agents in order to coordinate their actions and to buy in the services they require. This approach leads to a system that is significantly more agile and robust than its traditional counterparts. To help demonstrate these benefits, a companion paper describes the application of our system to a real-world problem faced by British Telecom

    Service creation and deployment on an intelligent network

    Get PDF
    Active competition in the telecommunications industry has caused a dramatic shift in focus for public network operators. Service designers need to be able to easily and rapidly create services according to the customer’s requirements. This is achievable by using Intelligent Networks (INs). Two primary goals of service development under the Intelligent Network paradigm are rapid service crcation using new software technologies and the minimisation of service development costs through switch vendor independence. This thesis examines the development of an IN architecture and the deployment of two call control services on it using the ITU-T Service Independent Building Block (SIB) methodology. The services are deployed on a narrow-band Excel switching platform. Various aspects of the IN Conceptual Model (INCM) are examined with a particular emphasis on the middle two planes: the Global Functional Plane (GFP) and the Distributed Functional Plane (DFP). Representations of these planes are designed using the ITU-T Specification and Description Language (SDL) [SDL89] and implemented using Telelogic’s SDL Development Tool (SDT). SDL provides capabilities to allow logical structuring of the INCM into its constituent entities, the modelling of communication between these entities and the processing within them. The Intelligent Network paradigm was developed with a view to extendibility. Two call control services, Ringback and Group Call Pickup, are implemented using the SIB methodology. Further services may be created by rearranging the order of execution of the existing SIBs or, if necessary, by adding new SIBs to the architecture. Given the demand for multimedia applications to run on top of emerging broadband networks it is becoming increasingly more important for network operators to study the enhancement and evolution of their IN service platforms in order to cope with new customer requirements. TINA is the leading architecture for multimedia service control and delivery, which defines an emerging open service platform. Migration from IN to TINA is explored in this thesis by considering two individual paths of migration. The first path involves the replacement of the IN service control and management elements (SCF, SMF, SDF) with appropriate TINA Computational Objects while the switching elements (SSF, CCF) remain IN compliant. As there is no one-to-one mapping of IN functional entities to TINA computational objects, an Adaptation Unit is required to facilitate interaction between the legacy IN entities and the TINA Computational Objects. The advantage of this step is that it is possible to keep the investment of deployed IN SSPs while taking advantage of TINA service modelling. The second step involves the introduction of TINA into the switch. In this approach the switch and its switching capabilities may be viewed as a TINA object in itself. Interworking between IN and TINA (as a step towards full migration to TINA) yields a much richer service platform. This service platform facilitates the creation of services that incorporate both IN and TINA features. A TINA service may use pieces of IN functionality and IN services may also use TINA functionality. It is possible to invoke these hybrid services from either a PSTN or a TINA terminal. Three hybrid IN/TINA services were designed to demonstrate the increased resources available to the service designer using such a platform. A user connected to the IN switch invokes the Freephone Service. This service uses a TINA database to convert the 1-800 number to an extension number. The call is then connected using IN switching functionality. The Audio Video Conference, uses TINA computational objects to set up a video stream between participating users while the audio connection is handled by the IN switching functionality. This service is invoked from a TINA terminal. A user connected to the IN switch invokes the Ringback Service but it runs in the TINA domain using both TINA and IN functionality. Therefore, as well as presenting an application of the IN technology, this thesis proposes possible steps towards migration to the TINA architecture

    Component-based control system development for agile manufacturing machine systems

    Get PDF
    It is now a common sense that manufactures including machine suppliers and system integrators of the 21 st century will need to compete on global marketplaces, which are frequently shifting and fragmenting, with new technologies continuously emerging. Future production machines and manufacturing systems need to offer the "agility" required in providing responsiveness to product changes and the ability to reconfigure. The primary aim for this research is to advance studies in machine control system design, in the context of the European project VIR-ENG - "Integrated Design, Simulation and Distributed Control of Agile Modular Machinery"

    Modeling Adaptive Middleware and Its Applications to Military Tactical Datalinks

    Get PDF
    Open systems solutions and techniques have become the de facto standard for achieving interoperability between disparate, large-scale, legacy software systems. A key technology among open systems solutions and techniques is middleware. Middleware, in general, is used to isolate applications from dependencies introduced by hardware, operating systems, and other low-level aspects of system architectures. While middleware approaches are or will be integrated into operational military systems, many open questions exist about the appropriate areas to applying middleware. Adaptive middleware is middleware that provides an application with a run-time adaptation strategy, based upon system-level interfaces and properties. Adaptive middleware is an example of an active applied research area. Adaptive middleware is being developed and applied to meet the ever-increasing challenges set forth by the next generation of mission-critical distributed real-time and embedded (DRE) systems. The driving force behind many next-generation DRE systems is the establishment of QoS requirements typically associated with workloads that vary dynamically. The Weapon System Open Architecture (WSOA), an adaptive middleware platform developed by Boeing, is modeled as a part of this research to determine the scalability of the architecture. The WSOA adaptive middleware was previously flight-tested with one tactical node, and the test results represent the performance baseline the architecture. The WSOA adaptive middleware is modeled with 1, 2, 4, 8 and 16 tactical nodes. The results of the modeling and simulation is that the WSOA adaptive middleware can achieve the performance baseline achieved during the original flight-test, in the cases of 1, 2, and 4 tactical nodes. In addition, the results of the modeling and simulation also demonstrate that the WSOA adaptive middleware cannot achiev

    Distributed Real-time Systems - Deterministic Protocols for Wireless Networks and Model-Driven Development with SDL

    Get PDF
    In a networked system, the communication system is indispensable but often the weakest link w.r.t. performance and reliability. This, particularly, holds for wireless communication systems, where the error- and interference-prone medium and the character of network topologies implicate special challenges. However, there are many scenarios of wireless networks, in which a certain quality-of-service has to be provided despite these conditions. In this regard, distributed real-time systems, whose realization by wireless multi-hop networks becomes increasingly popular, are a particular challenge. For such systems, it is of crucial importance that communication protocols are deterministic and come with the required amount of efficiency and predictability, while additionally considering scarce hardware resources that are a major limiting factor of wireless sensor nodes. This, in turn, does not only place demands on the behavior of a protocol but also on its implementation, which has to comply with timing and resource constraints. The first part of this thesis presents a deterministic protocol for wireless multi-hop networks with time-critical behavior. The protocol is referred to as Arbitrating and Cooperative Transfer Protocol (ACTP), and is an instance of a binary countdown protocol. It enables the reliable transfer of bit sequences of adjustable length and deterministically resolves contest among nodes based on a flexible priority assignment, with constant delays, and within configurable arbitration radii. The protocol's key requirement is the collision-resistant encoding of bits, which is achieved by the incorporation of black bursts. Besides revisiting black bursts and proposing measures to optimize their detection, robustness, and implementation on wireless sensor nodes, the first part of this thesis presents the mode of operation and time behavior of ACTP. In addition, possible applications of ACTP are illustrated, presenting solutions to well-known problems of distributed systems like leader election and data dissemination. Furthermore, results of experimental evaluations with customary wireless transceivers are outlined to provide evidence of the protocol's implementability and benefits. In the second part of this thesis, the focus is shifted from concrete deterministic protocols to their model-driven development with the Specification and Description Language (SDL). Though SDL is well-established in the domain of telecommunication and distributed systems, the predictability of its implementations is often insufficient as previous projects have shown. To increase this predictability and to improve SDL's applicability to time-critical systems, real-time tasks, an approved concept in the design of real-time systems, are transferred to SDL and extended to cover node-spanning system tasks. In this regard, a priority-based execution and suspension model is introduced in SDL, which enables task-specific priority assignments in the SDL specification that are orthogonal to the static structure of SDL systems and control transition execution orders on design as well as on implementation level. Both the formal incorporation of real-time tasks into SDL and their implementation in a novel scheduling strategy are discussed in this context. By means of evaluations on wireless sensor nodes, evidence is provided that these extensions reduce worst-case execution times substantially, and improve the predictability of SDL implementations and the language's applicability to real-time systems

    Employing CORBA in the Mobile Telecommunications Sector and the Application of Component Oriented Programming Techniques

    Get PDF
    This paper focuses on the implications of employing CORBA Middleware in today’s wireless telecommunications services and applications developments. It seeks to understand what current opportunities exist to support the use of this technology and assesses some of the performance implications that might be encountered. Discussion also revolves around the use of Component Oriented Development techniques in this same vertical and observations are made as to the benefits and practical problems associated with pursuit of this methodology in wireless telecommunications development programmes. Interest in this topic was aroused after observing the continued development of wireless telecommunications technology (Third Generation - 3G) that allows users to maintain permanent but connectionless contact with more traditional Wide Area Network (WAN) & Local Area Network (LAN) based services. As the boundaries between cellular, wireless LAN and traditional fixed network technologies become increasingly blurred, trends are emerging that seek to extend and migrate the technologies that are currently employed on cabled and wireless LAN networks over to the cellular networks and mass market user equipment

    Software Modeling Processes: UML-xUML Review

    Get PDF
    AbstrAc

    Dynamic Upgrade of Distributed Software Components

    Get PDF
    Die Aktualisierung von komplexen Telekommunikationssystemen, die sich durch die ihnen eigene Verteiltheit und hohe Kosten bei System-NichtverfĂŒgbarkeit auszeichnen, ist ein komplizierter und fehleranfĂ€lliger Wartungsprozess. Noch stĂ€rkere Herausforderungen bergen solche Software-Aktualisierungen, die die SystemverfĂŒgbarkeit nicht beeintrĂ€chtigen sollen. Dynamic Upgrade ist eine Wartungstechnik, die das Verwalten und die DurchfĂŒhrung von Software-Aktualisierung automatisiert und damit den Betrieb des Systems wĂ€hrend der Wartungszeit nicht unterbricht. In dieser Arbeit wird das Dynamic Upgrade als ein Sonderfall der Bereitstellung und Inbetriebnahme (Deployment) von Software betrachtet, in dem Teile der einen Dienst reprĂ€sentierenden Software durch neue Versionen im laufenden Betrieb ersetzt werden. Die Problemstellung des Dynamic Upgrade wird anhand einer vom Autor erarbeiteten Taxonomie erlĂ€utert, die die Entwurfsmöglichkeiten fĂŒr ein System zur UnterstĂŒtzung von Dynamic Upgrade hinsichtlich dreier Systemaspekte klassifiziert: Deployment, Evolution und ZuverlĂ€ssigkeit (Dependability). Mit Hilfe dieser Taxonomie lassen sich auch andere Systeme zur UnterstĂŒtzung von Dynamic Upgrade miteinander vergleichen. Aufbauend auf einem ausfĂŒhrlichen Vergleich ĂŒber existierende AnsĂ€tze zur UnterstĂŒtzung von Dynamic Upgrade, wird in der vorliegenden Arbeit eine Lösung entwickelt und dargestellt, die Dynamic Upgrade in verteilten komponentenbasierten Software-Systemen ermöglicht. Ausgehend von der Problemanalyse wird mit Hilfe des Unified Process ein als Deployment and Upgrade Facility bezeichnetes Modell entwickelt, das sowohl die benötigten LeistungsfĂ€higkeiten eines Dynamic Upgrade unterstĂŒtzenden Systems als auch Eigenschaften von aktualisierbaren Software-Komponenten beschreibt. Dieses Modell ist Plattform-unabhĂ€ngig und einsetzbar fĂŒr mehrere unterliegende Middleware-Technologien. Das Modell wird in einem Java-basierten prototypischen Rahmenwerk programmiert und um plattformspezifische Mechanismen auf der Jgroup/ARM Middleware erweitert. Das Rahmenwerk umfasst allgemeine Entwurfslösungen und ?muster, die sich fĂŒr die Konstruktion einer UnterstĂŒtzung fĂŒr Dynamic Upgrade eignen. Es erlaubt die Kontrolle der Lebenszyklen von Aktualisierungsprozessen und ihre Koordination im Zielsystem. DarĂŒber hinaus definiert es eine Reihe von UnterstĂŒtzungsmechanismen und Algorithmen fĂŒr den dynamischen Aktualisierungsprozess, der gegebenenfalls mit unterschiedlichen Zielsetzungen und unter verschiedenen Randbedingungen erfolgen soll. Insbesondere wird ein Aktualisierungsalgorithmus fĂŒr replizierte Software-Komponenten dargestellt. Das entwickelte Rahmenwerk wird zwecks PlausibilitĂ€tsprĂŒfung der dargestellten AnsĂ€tze und zur Auswertung der Auswirkungen der Dynamic Upgrade unterstĂŒtzenden Mechanismen im Hinblick auf Systemperformanz in mehreren Experimenten eingesetzt. Diese quantitative Evaluierung der Experimente fĂŒhrt zu einer Spezifikationen eines einfachen Bewertungsmaßstabs (Benchmark), der sich zum Vergleich von Dynamic Upgrade unterstĂŒtzenden Systemen eignet.Upgrading complex telecommunication software systems, characterized by their inherent distribution and a very high cost of system unavailability, is a difficult and error-prone maintenance activity. Even more challenging are such software upgrades that do not compromise the system availability. Dynamic upgrades is a technique, which automates performing and managing upgrades so that the software system remains operational during the upgrade time. In this thesis, the dynamic upgrade is considered as a special case of software deployment, in which a running service has to be replaced with its new version. The problems of dynamic upgrades are introduced using a novel taxonomy that classifies the design issues to be solved when building support for dynamic upgrade with regard to three system aspects: deployment, evolution and dependability and provides a reference to comparing other systems supporting dynamic upgrades. An extensive and thorough survey of existing approaches to dynamic upgrades follows and, furthermore, is as a starting point to designing a solution supporting dynamic upgrades in distributed component-based software systems. Derived from the problem analysis, a model called Deployment and Upgrade Facility describing the capabilities needed for managing and performing dynamic upgrades as well as properties of upgradable software components is developed using the Unified Process approach. The model is platform independent and can be used with a range of underlying middleware technologies. The model is implemented in a Java-based prototypical framework and extended with platform specific mechanisms on top of the JGroup/ARM middleware. The framework captures common design solutions and patterns for building a support for dynamic upgrade. The framework allows for controlling life-cycle and coordination of upgrade processes in the system. It also defines a number of supporting mechanisms and algorithms for the upgrade process. A special attention is drawn to an upgrade algorithm for replicated software components for achieving a synergy of replication techniques and dynamic upgrade . The developed framework is used to validate the feasibility of the approach and to measure the overhead of the mechanisms supporting dynamic upgrade with regard to the performance of the system being upgraded in a number of practical experiments. This quantitative evaluation of the experiments leads to a specification of a simple benchmark for systems supporting dynamic upgrades
    • 

    corecore