200,613 research outputs found

    SAGA: A project to automate the management of software production systems

    Get PDF
    The Software Automation, Generation and Administration (SAGA) project is investigating the design and construction of practical software engineering environments for developing and maintaining aerospace systems and applications software. The research includes the practical organization of the software lifecycle, configuration management, software requirements specifications, executable specifications, design methodologies, programming, verification, validation and testing, version control, maintenance, the reuse of software, software libraries, documentation, and automated management

    Reusable Knowledge-based Components for Building Software Applications: A Knowledge Modelling Approach

    Get PDF
    In computer science, different types of reusable components for building software applications were proposed as a direct consequence of the emergence of new software programming paradigms. The success of these components for building applications depends on factors such as the flexibility in their combination or the facility for their selection in centralised or distributed environments such as internet. In this article, we propose a general type of reusable component, called primitive of representation, inspired by a knowledge-based approach that can promote reusability. The proposal can be understood as a generalisation of existing partial solutions that is applicable to both software and knowledge engineering for the development of hybrid applications that integrate conventional and knowledge based techniques. The article presents the structure and use of the component and describes our recent experience in the development of real-world applications based on this approach

    Face-off: AOP+LMP vs. legacy software

    Get PDF
    Our presentation relates on a first attempt to see if aspect-oriented programming (AOP) can really help with the revitalisation of legacy business software. By means of four realistic case studies covering reverse engineering, restructuring and integration, we discuss the applicability of the aspect-oriented paradigm in the context of two major programming languages for such environments: Cobol and C. For each case, we consider both advantages and disadvantages

    Canonical explorations of 'Tel' environments for computer programming

    Get PDF
    This paper applies a novel technique of canonical gradient analysis, pioneered in ecological sciences, with the aim of exploring student performance and behaviours (such as communication and collaboration) while undertaking formative and summative tasks in technology enhanced learning (TEL) environments for computer programming. The research emphasis is, therefore, on revealing complex patterns, trends, tacit communications and technology interactions associated with a particular type of learning environment, rather than the testing of discrete hypotheses. The study is based on observations of first year programming modules in BSc Computing and closely related joint-honours with software engineering, web and game development courses. This research extends earlier work, and evaluates the suitability of canonical approaches for exploring complex dimensional gradients represented by multivariate and technology-enhanced learning environments. The advancements represented here are: (1) an extended context, beyond the use of the ‘Ceebot’ learning platform, to include learning-achievement following advanced instruction using an industrystandard integrated development environment, or IDE, for engineering software; and (2) longitudinal comparison of consistency of findings across cohort years. Direct findings (from analyses based on code tests, module assessment and questionnaire surveys) reveal overall engagement with and high acceptance of collaborative working and of the TEL environments used, but an inconsistent relationship between deeply learned programming skills and module performance. The paper also discusses research findings in the contexts of established and emerging teaching practices for computer programming, as well as government policies and commercial requirements for improved capacity in computer-science related industries

    Towards an Energy-Aware Framework for Application Development and Execution in Heterogeneous Parallel Architectures

    Get PDF
    The Transparent heterogeneous hardware Architecture deployment for eNergy Gain in Operation (TANGO) project’s goal is to characterise factors which affect power consumption in software development and operation for Heterogeneous Parallel Hardware (HPA) environments. Its main contribution is the combination of requirements engineering and design modelling for self-adaptive software systems, with power consumption awareness in relation to these environments. The energy efficiency and application quality factors are integrated into the application lifecycle (design, implementation and operation). To support this, the key novelty of the project is a reference architecture and its implementation. Moreover, a programming model with built-in support for various hardware architectures including heterogeneous clusters, heterogeneous chips and programmable logic devices is provided. This leads to a new cross-layer programming approach for heterogeneous parallel hardware architectures featuring software and hardware modelling. Application power consumption and performance, data location and time-criticality optimization, as well as security and dependability requirements on the target hardware architecture are supported by the architecture

    Looking for the Holy Grail of Software Development

    Get PDF
    The history of Software Engineering has been marked by many famous project failures documented in papers, articles and books. This pattern of lack of success has prompted the creation of dozens of software analysis, requirements definition, and design methods, programming languages, software development environments and software development processes all promoted as solving ?the software problem.? What we hear less about are software projects that were successful. This article reports on the findings of an extensive analysis of successful software projects that have been reported in the literature. It discusses the different interpretations of success and extracts the characteristics that successful projects have in common. These characteristics provide Software Project Managers with an agenda of topics to be addressed that will help ensure, not guarantee, that their software project will be successful
    • …
    corecore