649,173 research outputs found

    Variability and Evolution in Systems of Systems

    Full text link
    In this position paper (1) we discuss two particular aspects of Systems of Systems, i.e., variability and evolution. (2) We argue that concepts from Product Line Engineering and Software Evolution are relevant to Systems of Systems Engineering. (3) Conversely, concepts from Systems of Systems Engineering can be helpful in Product Line Engineering and Software Evolution. Hence, we argue that an exchange of concepts between the disciplines would be beneficial.Comment: In Proceedings AiSoS 2013, arXiv:1311.319

    Architectural reflection for software evolution

    Get PDF
    Software evolution is expensive. Lehman identifies several problems associated with it: Continuous adaptation, increasing complexity, continuing growth, and declining quality. This paper proposes that a reflective software engineering environment will address these problems by employing languages and techniques from the software architecture community. Creating a software system will involve manipulating a collection of views, including low-level code views and high-level architectural views which will be tied together using reflection. This coupling will allow the development environment to automatically identify inconsistencies between the views, and support software engineers in managing architectures during evolution. This paper proposes a research programme which will result in a software engineering environment which addresses problems of software evolution and the maintenance of consistency between architectural views of a software system

    A Taxonomy for a Constructive Approach to Software Evolution

    Get PDF
    In many software design and evaluation techniques, either the software evolution problem is not systematically elaborated, or only the impact of evolution is considered. Thus, most of the time software is changed by editing the components of the software system, i.e. breaking down the software system. The software engineering discipline provides many mechanisms that allow evolution without breaking down the system; however, the contexts where these mechanisms are applicable are not taken into account. Furthermore, the software design and evaluation techniques do not support identifying these contexts. In this paper, we provide a taxonomy of software evolution that can be used to identify the context of the evolution problem. The identified contexts are used to retrieve, from the software engineering discipline, the mechanisms, which can evolve the software software without breaking it down. To build such a taxonomy, we build a model for software evolution and use this model to identify the factors that effect the selection of software evolution\ud mechanisms. Our approach is based on solution sets, however; the contents of these sets may vary at different stages of the software life-cycle. To address this problem, we introduce perspectives; that are filters to select relevant elements from a solution set. We apply our taxonomy to a parser tool to show how it coped with problematic evolution problems

    Technological Evolution in Software Engineering

    Get PDF
    In all software development processes, the software must evolve in response to its environment or user needs to maintain satisfactory performance. If software doesn’t support change, it gradually becomes useless. With many organizations today, being software-centric organizations, this has huge implications for their business: evolve your software, or risk your software becoming gradually useless, and therefore, your entire business. Technology Evolution is a highly relevant subject, Intel’s business model for the last 50 years, has been that of Moore’s Law, a hardware centric Technology Evolution model. As a Software Engineer at Intel, our business group faces a similar issue, we must continually adapt, and evolve our software, in response to our customer’s needs, and current technology trends, if we don’t evolve our software, our competitors will evolve theirs faster, and our business group, will gradually cease to exist, without competitive, and evolving software. The software evolution phenomenon was first identified in the late 60s though not termed as such till 1974. The goal of this article, is to explore the current literature on software evolution, and its impacts on software development activities, and software organizations. As a manager, and practicing Software Engineer, software evolvability, the ability, inter alia, for responsiveness and timely implementation of needed changes, will play an ever increasing more critical role in ensuring the survival of a society ever more dependent on computers

    Software systems engineering: a journey to contemporary agile and beyond, do people matter?

    Get PDF
    It is fascinating to view the evolution of software systems engineering over the decades. At the first glance, it could be perceived that the various approaches and processes are different. Are they indeed different? This paper will briefly discuss such a journey relating to findings from an empirical study in some organisations in the UK. Some of the issues described in the literature and by practitioners are common across different software system engineering approaches over the time. It can be argued that human-element of software development plays an integral part in the success of software systems development endeavour. After all, software engineering is a human-centric craft. In order to understand such issues, we crossed the discipline to other disciplines in order to adapt theories and principles that will help to better understand and tackle such matter. Other disciplines have well established human related theories and principles that can be useful. From Japanese management philosophies, we have adapted Lean and knowledge management theories. From psychology, we have adapted Emotional Intelligence (EI). With such an interdisciplinary view, some of the issues can be addressed adequately. Which bring the question: is it really the process or the people? The second author will reflect on his experience attending the first SQM conference 25 years ago. The reflection will discuss the evolution of software systems engineering, and what was changed since then, if at all changed

    Rationale Management Challenges in Requirements Engineering

    Get PDF
    Rationale and rationale management have been playing an increasingly prominent role in software system development mainly due to the knowledge demand during system evaluation, maintenance, and evolution, especially for large and complex systems. The rationale management for requirements engineering, as a commencing and critical phase in software development life cycle, is still under-exploited. In this paper, we first survey briefly the state-of-the-art on rationale employment and applications in requirements engineering. Secondly, we identify the challenges in integrating rationale management in requirements engineering activities in order to promote further investigations and define a research agenda on rationale management in requirements engineering.

    Global perspectives on legacy systems

    Get PDF
    Summarises findings of two international workshops on legacy systems, held in conjunction with an EPSRC managed programme. Issues covered include the nature and dynamics of legacy systems, the co-evolution of software and organisations, issues around software as a technology (its engineering and its management), and organisational/people issues

    Community-oriented software engineering ontology evolution

    Get PDF
    Software Engineering Ontology (SE Ontology) defines common shareable software engineering knowledge and typically provides software engineering concepts: what the concepts are, how they are related, and why they are related. These concepts facilitate common understanding of software engineering knowledge across multiple international software development sites. The SE Ontology is in machine understandable form to facilitate meaningful communication for remote social members. These social members use the SE Ontology but are not involved in the development process. Most existing ontologies including the SE Ontology are designed by individuals or small group of experts, not actual ontology users nor various groups of experts. It is effective if the ontology users can contribute in the process of creating and maintaining the ontologies they use. Social networking is becoming more prevalent enabling people to engage in remote collaboration to form goal-directed social networks. In this paper, we propose a social network based approach for ontology evolution for the SE Ontology. We analyze ontology evolution of the SE Ontology and propose the social network based approach for making ontology evolution more responsive to users? needs
    corecore