126 research outputs found

    HIPPO -- an adaptive open hyptertext system

    Get PDF
    The hypertext paradigm offers a powerful way of modelling complex knowledge structures. Information can be arranged into networks, and connected using hypertext links. This has led to the development of more open hypertext design, which allow hypertext services to be integrated seamlessly into the user's environment. Recent research has also seen the emergence of adaptive hypertext, which uses feedback from the user to modify objects in the hypertext. The research presented in this thesis describes the HIPPO hypertext model which combines many of the ideas in open hypertext research, with existing work on adaptive hypertext systems. The idea of fuzzy anchors are introduced which allow authors to express the uncertainty and vagueness which is inherent in a hypertext anchor. Fuzzy anchors use partial truth values which allow authors to define a "degree of membership" for anchors. Anchors no longer have fixed, discrete boundaries, but have more in common with contour lines used in map design. These fuzzy anchors are used as the basis for an adaptive model, so that anchors can be modified in response to user actions. The HIPPO linking model introduces linkbase trees which combine link collections into inheritance hierarchies. These are used to construct reusable inheritance trees, which allow authors to reuse and build on existing link collections. An adaptive model is also presented to modify these linkbase hierarchies. Finally, the HIPPO system is re-implemented using a widely distributed architecture. This distributed model implements a hypertext system as a collection of lightweight, distributed services. The benefits of this distributed hypertext model are discussed, and an adaptive model is then suggested

    HIPPO -- an adaptive open hyptertext system

    Get PDF
    The hypertext paradigm offers a powerful way of modelling complex knowledge structures. Information can be arranged into networks, and connected using hypertext links. This has led to the development of more open hypertext design, which allow hypertext services to be integrated seamlessly into the user's environment. Recent research has also seen the emergence of adaptive hypertext, which uses feedback from the user to modify objects in the hypertext. The research presented in this thesis describes the HIPPO hypertext model which combines many of the ideas in open hypertext research, with existing work on adaptive hypertext systems. The idea of fuzzy anchors are introduced which allow authors to express the uncertainty and vagueness which is inherent in a hypertext anchor. Fuzzy anchors use partial truth values which allow authors to define a "degree of membership" for anchors. Anchors no longer have fixed, discrete boundaries, but have more in common with contour lines used in map design. These fuzzy anchors are used as the basis for an adaptive model, so that anchors can be modified in response to user actions. The HIPPO linking model introduces linkbase trees which combine link collections into inheritance hierarchies. These are used to construct reusable inheritance trees, which allow authors to reuse and build on existing link collections. An adaptive model is also presented to modify these linkbase hierarchies. Finally, the HIPPO system is re-implemented using a widely distributed architecture. This distributed model implements a hypertext system as a collection of lightweight, distributed services. The benefits of this distributed hypertext model are discussed, and an adaptive model is then suggested

    Attribute based component design: Supporting model driven development in CbSE

    Get PDF
    In analysing the evolution of Software Engineering, the scale of the components has increased, the requirements for different domains become complex and a variety of different component frameworks and their associated models have emerged. Many modern component frameworks provide enterprise level facilities and services, such as instance management, and component container support, that allow developers to apply if needed to manage scale and complexity. Although the services provided by these frameworks are common, they have different models and implementation. Accordingly, the main problem is, when developing a component based application using a component framework, the design of the components becomes tightly integrated with the framework implementation and the framework model is embedded in the component functionality, and hence reduces reusability. Another problem arose is, the designers must have in-depth knowledge of the implementation of a component framework to be able to model, design and implement the components and take advantages of the services provided. To address these problems, this research proposes the Attribute based Component Design (AbCD) approach which allows developers to model software using logical and abstract components at the specification level. The components encapsulate the provided functionality, as well as the required services, runtime requirements and interaction models using a set of attributes. These attributes are systemically derived by grouping common features and services from light weight component frameworks and heavy weight component frameworks that are available in the literature. The AbCD approach consists of the AbCD Meta-model, which is an extension of the บML meta-model, and the Component Design Guidelines (CDG) that includes core Component based Software Engineering principles to assist the modelling process for designers. To support the AbCD approach, an implementation has been developed as a set of plug-ins, called the AbCD tool suite, for Eclipse IDE. An evaluation of the AbCD approach is conducted by using the tool suite with two case studies. The first case study focuses on abstraction achieved by the AbCD approach and the second focuses on reusability of the components. The evaluation shows that the artefacts produced using the approach provide an alternative architectural view to the design and help to re-factor the design based on aspects. At the same time the evaluation process identified possible improvements in the AbCD meta-model and the tool suite constructed. This research provides a non-invasive approach for designing component based software using model driven development

    Software construction by composition of components

    Get PDF
    In the continuously evolving era of software technological advances, software complexity and requirements change grow at increasing paces. Developing software using traditional approaches to meet the growing demand for functionalities and computation, in particular for large scale software, produces software applications which are characterized as being monolithic, difficult to reuse and costly to develop. To address those issues, componentbased software development has emerged among other approaches and has already produced a noteworthy positive impact. Nevertheless, component-based software development still suffers from a number of drawbacks and limitations. The aim of this research project is to improve software construction by composition of components. Traditionally, reusable components may exhibit a bloating syndrome caused by bundled but unused set of members which vary according to application contexts and business domains. Furthermore, reusable components may suffer from chaotic amalgamation of code elements. Component members' bloating and a chaotic amalgamation of code elements limitations can be partially attributed to the lack of modular components. Typically, software constmctors rewrite from scratch newer software components (even though many code parts exist), retrofit or customize existing components to satisfy applications' requirements. In addition to these two limitations, software components suffer also from version mismatches due to the use of different versions of the same component. To address the aforementioned limitations a new approach is proposed in this research work. Our approach is based on composition of atomic or enhanced modularity components. This new approach will contribute to the improvement of component-based software construction by alleviating some of the limitations facing it. It The focus of our research targets particularly the constmction phase of the software development lifecycle. The main generic goal of this research project is: • To improve software construction based on components composition by providing an approach which shifts and promotes software construction from a traditional construction approach based heavily on code writing and amalgamation to an approach relying increasingly on components composition. The specific objectives of this research are: • To propose and specify a software component model which provides remedies for some of the limitations facing software construction by components composition. • To provide a reference implementation for this component model. • To design a measurement method to measure components" unwanted members. • To provide a prototype tool to measure components" unwanted members. • To propose a component versioning mechanism. • To provide a prototype tool to detect component versions mismatches. The approach presented in this thesis is partly derived from the observation of product development processes implemented in traditional engineering disciplines. It can be argued that this approach represents a step forward in the evolution of software constmction based on components composition for it provides a simple and fluid components composition approach. The application and use of this composition approach reduces the need to retrofit and customize existing components as has been done traditionally. The software constructor relies more and more on selective composition of enhanced modularity components which suit particular application requirements. Moreover, this approach leads to additional secondary benefits which can be exploited in the use of fine-grained testing and in conducting various component measurements that ultimately benefit the software constmction process as a whole

    Transaction management on collaborative application services

    Get PDF
    Thesis (M.Eng.)--Massachusetts Institute of Technology, Dept. of Civil and Environmental Engineering, 2000.Includes bibliographical references (leaves 86-87).by Koon-Po Paul Wong.M.Eng

    Closing the gap between guidance and practice, an investigation of the relevance of design guidance to practitioners using object-oriented technologies

    Get PDF
    This thesis investigates if object oriented guidance is relevant in practice, and how this affects software that is produced. This is achieved by surveying practitioners and studying how constructs such as interfaces and inheritance are used in open-source systems. Surveyed practitioners framed 'good design' in terms of impact on development and maintenance. Recognition of quality requires practitioner judgement (individually and as a group), and principles are valued over rules. Time constraints heighten sensitivity to the rework cost of poor design decisions. Examination of open source systems highlights the use of interface and inheritance. There is some evidence of 'textbook' use of these structures, and much use is simple. Outliers are widespread indicating a pragmatic approach. Design is found to reflect the pressures of practice - high-level decisions justify 'designed' structures and architecture, while uncertainty leads to deferred design decisions - simpler structures, repetition, and unconsolidated design. Sub-populations of structures can be identified which may represent common trade-offs. Useful insights are gained into practitioner attitude to design guidance. Patterns of use and structure are identified which may aid in assessment and comprehension of object oriented systems.This thesis investigates if object oriented guidance is relevant in practice, and how this affects software that is produced. This is achieved by surveying practitioners and studying how constructs such as interfaces and inheritance are used in open-source systems. Surveyed practitioners framed 'good design' in terms of impact on development and maintenance. Recognition of quality requires practitioner judgement (individually and as a group), and principles are valued over rules. Time constraints heighten sensitivity to the rework cost of poor design decisions. Examination of open source systems highlights the use of interface and inheritance. There is some evidence of 'textbook' use of these structures, and much use is simple. Outliers are widespread indicating a pragmatic approach. Design is found to reflect the pressures of practice - high-level decisions justify 'designed' structures and architecture, while uncertainty leads to deferred design decisions - simpler structures, repetition, and unconsolidated design. Sub-populations of structures can be identified which may represent common trade-offs. Useful insights are gained into practitioner attitude to design guidance. Patterns of use and structure are identified which may aid in assessment and comprehension of object oriented systems

    CI-CD practices at SKA

    Get PDF
    The Square Kilometre Array (SKA) is an international effort to build two radio interferometers in South Africa and Australia forming one Observatory monitored and controlled from global headquarters (GHQ) based in the United Kingdom at Jodrell Bank. SKA is highly focused on adopting CI/CD practices for its software development. CI/CD stands for Continuous Integration & Delivery and/or Deployment. This paper analyses the CI/CD practices selected by the Systems Team (a specialised agile team devoted to developing and maintaining the tools that allow continuous practices) in relation to a specific software system of the SKA telescope, i.e. the Local Monitoring and Control (LMC) of the Central Signal Processor (CSP), from now on called CSP.LMC. CSP is the SKA element with the aim to process the data coming from the receivers in order to be used for scientific analysis. To achieve this, it is composed of several instruments, called subsystems, such as the Correlator Beam Former (CBF), the Pulsar Search (PSS) and the Pulsar Timing (PST). CSP.LMC communicates to the Telescope Manager (the software front-end to control the telescope operations) all the required information to monitor the CSP's subsystems and the interface to configure them and send the commands needed to perform an observation. In other words, CSP.LMC permits the TM to monitor and control CSP as a single entity
    • …
    corecore