86 research outputs found
COMPONENT TECHNOLOGIES AND THEIR IMPACT UPON SOFTWARE DEVELOPMENT
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
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
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
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
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
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
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
Dynamic Upgrade of Distributed Software Components
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
- âŠ