15 research outputs found

    An investigation into evolving support for component reuse

    Get PDF
    It is common in engineering disciplines for new product development to be based on a concept of reuse, i.e. based on a foundation of knowledge and pre-existing components familiar to the discipline's community. In Software Engineering, this concept is known as software reuse. Software reuse is considered essential if higher quality software and reduced development effort are to be achieved. A crucial part of any engineering development is access to tools that aid development. In software engineering this means having software support tools with which to construct software including tools to support effective software reuse. The evolutionary nature of software means that the foundation of knowledge and components on which new products can be developed must reflect the changes occurring in both the software engineering discipline and the domain in which the software is to function. Therefore, effective support tools, including those used in software reuse, must evolve to reflect changes in both software engineering and the varying domains that use software. This thesis contains a survey of the current understanding of software reuse. Software reuse is defined as the use of knowledge and work components of software that already exist in the development of new software. The survey reflects the belief that domain analysis and software tool support are essential in successful software reuse. The focus of the research is an investigation into the effects of a changing domain on the evolution of support for component-based reuse and domain analysis, and on the application of software reuse support methods and tools to another engineering discipline, namely roll design. To broaden understanding of a changing domain on the evolution of support for software reuse and domain analysis, a prototype for a reuse support environment has been developed for roll designers in the steel industry

    A distributed solution to software reuse

    Get PDF
    Reuse can be applied to all stages of the software lifecycle to enhance quality and to shorten time of completion for a project. During the phases of design and implementation are some examples of where reuse can be applied, but one frequent obstruction to development is the building of and the identifying of desirable components. This can be costly in the short term but an organisation can gain the profits of applying this scheme if they are seeking long-term goals. Web services are a recent development in distributed computing. This thesis combines the two research areas to produce a distributed solution to software reuse that displays the advantages of distributed computing within a reuse system. This resulted in a web application with access to web services that allowed two different formats of component to be inserted into a reuse repository. These components were searchable by keywords and the results are adjustable by the popularity of a component’s extraction from the system and by user ratings of it; this improved the accuracy of the search. This work displays the accuracy, usability, and speed of this system when tested with five undergraduate and five postgraduate students

    A process model of maintenance with reuse: an investigation and an implementation abstract

    Get PDF
    Sixty to eighty per cent of the software life-cycle cost is spent on the software maintenance phase because software maintenance is usually more difficult than original development and legacy systems are generally large and complex. Software reuse has recently been considered as a best solution to enhance the productivity of a software development team and to reduce maintenance costs. In addition, Software Configuration Management (SCM) is a central part of software maintenance as it is associated with changing existing software and is a discipline for controlling these changes. Thus, both software reuse and SCM have been proposed for making a significant improvement in productivity, quality and cost. However, so far these two technologies have been investigated separately. In order for software reuse and SCM to produce effects by synergy, both approaches require to be introduced into a maintenance environment together. Since software reuse and SCM, and software reuse and software maintenance have many similarities in their activities, these disciplines can be integrated within a software maintenance environment. This research has therefore developed an integrated process model for 'Maintenance with Reuse (MwR)', that supports SCM for a reuse library which is actively maintained for use in a software maintenance environment. This thesis addresses an integrated process model called the MwR model and its prototype tool TERRA (Tool for Evolution of a Reusable and Reconfigurable Assets Library) that consist of a configuration management (CM) process, reuse process, maintenance process and administration of a reuse library. The MwR model and TERRA provide reusers and maintainers with many activities of these four processes such as classifying, storing, retrieving, evaluating, and propagating reusable components, including controlling changes to both reusable components and existing systems. The process model of an integrated approach has been developed and validated using Process Weaver. The TERRA tool has been implemented on the WWW so that the prototype can provide portability, traceability, integration with existing tools, and a distributed maintenance environment. The TERRA prototype has been tested and evaluated through a scenario based case study. Several scenarios based on real data have been created and used for the case study so that an organisation can apply the model and tool to its maintenance environment without many problems. The software maintenance community is facing serious problems with legacy systems, such as a ever increasing frequency of changes and backlogs, lack of integrated tools and methods, and lack of software maintenance support environments. The control and management of changes to the software components in a reuse repository are crucial to successful software development and maintenance. If the component is being used in multiple systems effects of uncontrolled change are more critical. However, reuse libraries and servers currently available have not been successful as they do not support further development or maintenance of the reusable components. In addition, most of them are not sophisticated since they have not been linked to a development/maintenance environment. The integrated model of MwR can overcome many problems that exist in software maintenance and reuse through introduction of SCM functionalities into a maintenance environment. Thus, the integration of these common activities will greatly contribute to enhancing the productivity and quality of software, and will additionally lead to reducing the costs and backlogs of changes within a maintenance environment

    Preliminary Notes on Open Data Licensing

    Get PDF
    Open data is fuel for the future economy. Opening and sharing data owned by public bodies, communities and companies has an incredible economic value. This will potentially lead our society to a new data-driven thinking paradigm. They also enable a smarter urban space where companies can provide better and innovative services. In particular, accessing to government data held by public bodies generates accountability, transparency and fosters economic growth. Two main aspects define data as open: data formats and licenses. This paper aims at listing some preliminary notes on the copyright framework in which open data are released and presenting the idea of considering licenses as metadata. Many tools, according to the semantic web paradigm, aim at enforcing this aspect, managing data exchange in a more compliance way and reducing costs for reuse of data. Finally, a research path for a new approach to digital ownership will be presented

    Effective information integration and reutilization : solutions to technological deficiency and legal uncertainty

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Engineering Systems Division, Technology, Management, and Policy Program, February 2006."September 2005."Includes bibliographical references (p. 141-148).The amount of electronically accessible information has been growing exponentially. How to effectively use this information has become a significant challenge. A post 9/11 study indicated that the deficiency of semantic interoperability technology hindered the ability to integrate information from disparate sources in a meaningful and timely fashion to allow for preventive precautions. Meanwhile, organizations that provided useful services by combining and reusing information from publicly accessible sources have been legally challenged. The Database Directive has been introduced in the European Union and six legislative proposals have been made in the U.S. to provide legal protection for non-copyrightable database contents, but the Directive and the proposals have differing and sometimes conflicting scope and strength, which creates legal uncertainty for valued-added data reuse practices. The need for clearer data reuse policy will become more acute as information integration technology improves to make integration much easier. This Thesis takes an interdisciplinary approach to addressing both the technology and the policy challenges, identified above, in the effective use and reuse of information from disparate sources.(cont.) The technology component builds upon the existing Context Interchange (COIN) framework for large-scale semantic interoperability. We focus on the problem of temporal semantic heterogeneity where data sources and receivers make time-varying assumptions about data semantics. A collection of time-varying assumptions are called a temporal context. We extend the existing COIN representation formalism to explicitly represent temporal contexts, and the COIN reasoning mechanism to reconcile temporal semantic heterogeneity in the presence of semantic heterogeneity of time. We also perform a systematic and analytic evaluation of the flexibility and scalability of the COIN approach. Compared with several traditional approaches, the COIN approach has much greater flexibility and scalability. For the policy component, we develop an economic model that formalizes the policy instruments in one of the latest legislative proposals in the U.S. The model allows us to identify the circumstances under which legal protection for non-copyrightable content is needed, the different conditions, and the corresponding policy choices.(cont.) Our analysis indicates that depending on the cost level of database creation, the degree of differentiation of the reuser database, and the efficiency of policy administration, the optimal policy choice can be protecting a legal monopoly, encouraging competition via compulsory licensing, discouraging voluntary licensing, or even allowing free riding. The results provide useful insights for the formulation of a socially beneficial database protection policy.by Hongwei Zhu.Ph.D

    A domain-specific language based approach to component composition, error-detection, and fault prediction

    Get PDF
    Current methods of software production are resource-intensive and often require a number of highly skilled professionals. To develop a well-designed and effectively implemented system requires a large investment of resources, often numbering into millions of pounds. The time required may also prove to be prohibitive. However, many parts of the new systems being currently developed already exist, either in the form of whole or parts of existing systems. It is therefore attractive to reuseexisting code when developing new software, in order to reduce the time andresources required. This thesis proposes the application of a domain-specific language (DSL) to automatic component composition, testing and fault-prediction. The DSL ISinherently based on a domain-model which should aid users of the system m knowing how the system is structured and what responsibilities the system fulfils. The DSL structure proposed in this thesis uses a type system and grammar hence enabling the early detection of syntactically incorrect system usage. Each DSL construct's behaviour can also be defined in a testing DSL, described here as DSL-test. This can take the form of input and output parameters, which should suffice for specifying stateless components, or may necessitate the use of a special method call, described here as a White-Box Test (WBT), which allows the external observer to view the abstract state of a component. Each DSL-construct can be mapped to its implementing components i.e. the component, or amalgamation of components, that implement(s) the behaviour as prescribed by the DSL-construct. User-requirements are described using the DS Land appropriate implementing components (if sufficient exist) are automatically located and integrated. That is to say, given a requirement described in terms of the DSL and sufficient components, the architecture (which was named Hydra) will be able to generate an executable which should behave as desired. The DSL-construct behaviour description language (DSL-test) is designed in such a way that it can be translated into a computer programming language, and so code can be inserted between the system automatically to verify that the implementing component is acting in a way consistent with the model of its expected behaviour. Upon detection of an error, the system examines available data (i.e. where the error occurred, what sort of error was it, and what was the structure of the executable), to attempt to predict the location of the fault and, where possible, make remedialaction. A number of case studies have been investigated and it was found that, if applied to the appropriate problem domain, the approach proposed in this thesis shows promise in terms of full automation and integration of black-box or grey-box software. However, further work is required before it can be claimed that this approach should be used in real scale systems

    Vol. 68, no. 3: Full Issue

    Get PDF

    Integration of Quality Attributes in Software Product Line Development

    Full text link
    Different approaches for building modern software systems in complex and open environments have been proposed in the last few years. Some efforts try to apply Software Product Line (SPL) approach to take advantage of the massive reuse for producing software systems that share a common set of features. In general quality assurance is a crucial activity for success in software industry, but it is even more important when talking about Software Product Lines since the intensive reuse of assets makes the quality attributes (a measurable physical or abstract property of an entity) of the assets to be transmitted to the whole SPL scope. However, despite the importance that quality has in software product line development, most of the methodologies being applied in Software Product Line Development focus only on managing the commonalities and variability within the product line and not giving support to the non--¿ functional requirements that the products must fit. The main goal of this master final work is to introduce quality attributes in early stages of software product line development processes by means of the definition of a production plan that, on one hand, integrates quality as an additional view for describing the extension of the software product line and, on the other hand introduces the quality attributes as a decision factor during product configuration and when selecting among design alternatives. Our approach has been defined following the Model--¿ Driven Software Development paradigm. Therefore all the software artifacts defined had its correspondent metamodels and the processes defined rely on automated model transformations. Finally in order to illustrate the feasibility of the approach we have integrated the quality view in an SPL example in the context of safety critical embedded systems on the automotive domain.González Huerta, J. (2011). Integration of Quality Attributes in Software Product Line Development. http://hdl.handle.net/10251/15835Archivo delegad

    Porting of an Existing Software From the Sun Workstations to A Personal Computer Environment

    Get PDF
    The purpose of this study was to port an existing software component, which has been designed for Sun workstations, to a Personal Computer environment. The software component involves the access of remote objects through Java networking. The ported software was tested on various machines housing different file servers of the Oklahoma State University Computing and Information Services Department. A new user interface was developed for the ported software component and a number of enhanced features were introduced. The software worked fairly well on all of the test machines. The new feature (i.e., finding out the time taken to look for a remote server) resulted in a more user-informative environment. Other user friendly features such as information about the current server, the reset feature, and the option of returning to the default server were also introduced. The amount of time taken to look for a method located on a specified server is more when the server is searched for the first time compared to the time taken to relocate the same server. This can be attributed to the Registry mechanism of Java, which is like a simple register containing the information of all the successfully located servers. This mechanism makes a record of all the servers that are accessed, and every lookup for a remote server is first searched across the registry. Thus, it reduces the total lookup time for already accessed servers.Computer Scienc

    Impact of Ada and object-oriented design in the flight dynamics division at Goddard Space Flight Center

    Get PDF
    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of applications software. The goals of the SEL are (1) to understand the software development process in the GSFC environment; (2) to measure the effects of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document
    corecore