506,766 research outputs found

    The General Data Protection Regulation: Requirements, Architectures, and Constraints

    Full text link
    The General Data Protection Regulation (GDPR) in the European Union is the most famous recently enacted privacy regulation. Despite of the regulation's legal, political, and technological ramifications, relatively little research has been carried out for better understanding the GDPR's practical implications for requirements engineering and software architectures. Building on a grounded theory approach with close ties to the Finnish software industry, this paper contributes to the sealing of this gap in previous research. Three questions are asked and answered in the context of software development organizations. First, the paper elaborates nine practical constraints under which many small and medium-sized enterprises (SMEs) often operate when implementing solutions that address the new regulatory demands. Second, the paper elicits nine regulatory requirements from the GDPR for software architectures. Third, the paper presents an implementation for a software architecture that complies both with the requirements elicited and the constraints elaborated.Comment: Forthcoming in the 27th IEEE International Requirements Engineering Conference (RE'19), Jeju Island, IEE

    Approach to Include Sustainability and Creativity in Requirements Engineering

    Get PDF
    Silveira, C., Santos, V., Reis, L., & Mamede, H. (2022). CRESustain: Approach to Include Sustainability and Creativity in Requirements Engineering. Journal of Engineering Research and Sciences, 1(8), 27-34. https://doi.org/10.55708/js0108004, https://doi.org/10.55708/js0108Requirements Engineering is an evolving field facing new challenges. One of the central conundrums is sustainability in software. The possibility of using known creativity techniques while introducing the dimensions of sustainability to help provide unexpected, original, practical, and sustainable answers in software development is challenging and motivating. This paper proposes an approach, CRESustain, incorporating sustainability dimensions when introducing creativity techniques in the Requirements Engineering process. CRESustain uses various creativity techniques considered appropriate for the different stages of the RE process. It is inspired by the Sustainable Development Goals, creative problem-solving methods, and the Karlskrona Manifesto. The methodology applied to give materiality to the outcome of this work was Design Science Research, a research paradigm that uses knowledge to solve problems, generate new knowledge and insights, and results in an artefact. The main results indicate that the approach stimulates discussion about sustainability in technical, economic, social, human, and environmental dimensions focusing on the Sustainable Development Goals and people's needs.publishersversionpublishe

    Spectrum-based feature localization: A case study using ArgoUML

    Get PDF
    Feature localization (FL) is a basic activity in re-engineering legacy systems into software product lines. In this work, we explore the use of the Spectrum-based localization technique for this task. This technique is traditionally used for fault localization but with practical applications in other tasks like the dynamic FL approach that we propose. The ArgoUML SPL benchmark is used as a case study and we compare it with a previous hybrid (static and dynamic) approach from which we reuse the manual and testing execution traces of the features. We conclude that it is feasible and sound to use the Spectrum-based approach providing promising results in the benchmark metrics

    Multidimensional catalogs for systematic exploration of component-based design spaces

    Get PDF
    Most component-based approaches to elaborate software require complete and consistent descriptions of components, but in practical settings components information is incomplete, imprecise and changing, and requirements may be likewise. More realistically deployable are approaches that combine exploration of candidate architectures with their evaluation vis-a-vis requirements, and deal with the fuzzyness of available component information. This article presents an approach to systematic generation, evaluation and re-generation of component assemblies, using potentially incomplete, imprecise, unreliable and changing descriptions of requirements and components. The key ideas are representation of NFRs using architectural policies, systematic reification of policies into mechanisms and components that implement them, multi-dimensional characterizations of these three levels, and catalogs of them. The Azimut framework embodies these ideas and enables traceability of architecture by supporting architecture-level reasoning, and allows architects to engage into systematic exploration of design spaces. A detailed illustrative example illustrates the approach.1st International Workshop on Advanced Software Engineering: Expanding the Frontiers of Software Technology - Session 1: Software ArchitectureRed de Universidades con Carreras en Informática (RedUNCI

    Development of a concurrent engineering tutorial as part of the “ESA_Lab@” initiative

    Get PDF
    As part of the “ESA_Lab@" initiative, a Concurrent Engineering facility has been constructed at the Mechanical Engineering department of Technical University Darmstadt. Concurrent Engineering is a well-proven concept for designing complex space systems and missions in the pre-phase 0/A mission phase. The Concurrent Engineering methodology and processes are enabled by a multidisciplinary team and specific infrastructure in terms of both hardware and software, which generate an effective and time efficient design management system. The university’s “Concurrent Engineering Lab” provides an environment for both researchers and students to explore and apply the Concurrent Engineering approach in areas such as (model-based) systems engineering, Industry 4.0/ Space 4.0, and space traffic management. Furthermore, collaboration with the European Space Operations Centre – also located in Darmstadt – regarding the application of Concurrent Engineering for Ground Segment & Operations has been started. The first addition to the university’s curriculum centered around the Concurrent Engineering Lab will be a “Concurrent Engineering Tutorial”, an opportunity to introduce the Concurrent Engineering methods and tools via hands-on experience to students of the newly established master’s degree program “Aerospace Engineering”. “Tutorials” are elective block courses of the degree program which offer practical learning experiences in many different fields, awarding 4 credit points upon successful completion. Building on the lectures "Fundamentals of Space Systems" and "Space Systems and Space Operations", the week-long “Concurrent Engineering Tutorial” will challenge students to use their acquired knowledge to develop a preliminary design for a predefined CubeSat mission. This Tutorial will not only provide a closer understanding of the individual subsystems of the space segment of a mission, the Concurrent Engineering process and the relevant software “COMET” by RHEA Group but will also create a synergy with a student association of the university, as one of their projects is the development of a CubeSat. This paper describes the background and approach to the development of the Tutorial, in particular the structure of the re-usable model architecture in “COMET”, which was specifically derived and implemented for this purpose and validated via a pilot stud

    Multidimensional catalogs for systematic exploration of component-based design spaces

    Get PDF
    Most component-based approaches to elaborate software require complete and consistent descriptions of components, but in practical settings components information is incomplete, imprecise and changing, and requirements may be likewise. More realistically deployable are approaches that combine exploration of candidate architectures with their evaluation vis-a-vis requirements, and deal with the fuzzyness of available component information. This article presents an approach to systematic generation, evaluation and re-generation of component assemblies, using potentially incomplete, imprecise, unreliable and changing descriptions of requirements and components. The key ideas are representation of NFRs using architectural policies, systematic reification of policies into mechanisms and components that implement them, multi-dimensional characterizations of these three levels, and catalogs of them. The Azimut framework embodies these ideas and enables traceability of architecture by supporting architecture-level reasoning, and allows architects to engage into systematic exploration of design spaces. A detailed illustrative example illustrates the approach.1st International Workshop on Advanced Software Engineering: Expanding the Frontiers of Software Technology - Session 1: Software ArchitectureRed de Universidades con Carreras en Informática (RedUNCI

    A Framework for the intergration of system engineering and functional analysis techniques to the goal and scope of life cycle assessment

    Get PDF
    With the increased concern over the impact that products and processes have on the environment, tools such as Life Cycle Assessment (LCA) have been developed to assess environmental impacts. However, several issues are present in this tool; chief among them is the difficulty of comparing LCA studies. The attributed reasons for this issue are the lack of standardized assumptions and practices, the definition of the functional unit and the identification of reference flows. In this work, it is hypothesized that system engineering and functional analysis concepts are a promising approach to provide guidelines for system definition, system boundary definition, and reference flows identification. Based on this premise, this work delineates a framework to address some of the issues present in the early stages of LCA, and to ultimately help enable comparisons between different LCA studies. This framework was initially exercised with some simple examples to demonstrate the initial feasibility of the model. With the insights gained from these simple test cases, the proposed process was applied to a practical case study to assess the utility of the framework through the use of the SimaPro® software. The application of this framework through the case study demonstrated that the proposed approach holds promise. In particular, the case demonstrated that application of system engineering methods was a useful construct. Furthermore, the importance of decoupling consumer use from the reference flows and functional unit definition processes proved to be very useful. The implication of these two results is that the possibility of re-using already existing data, models, and projects becomes feasible since the framework creates an easy to adapt structure

    Formal methods to aid the evolution of software.

    Get PDF
    Paper dated January 6, 1995There is a vast collection of operational software systems which are vitally important to their users, yet are becoming increasingly difficult to maintain, enhance and keep up to date with rapidly changing requirements. For many these so called legacy systems the option of throwing the system away and re-writing it from scratch is not economically viable. Methods are therefore urgently required which enable these systems to evolve in a controlled manner. The approach described in this paper uses formal proven program transformations, which preserve or refine the semantics of a program while changing its form. These transformations are applied to restructure and simplify the legacy systems and to extract higher-level representations. By using an appropriate sequence of transformation, the extracted representation is guaranteed to be equivalent to the code. The method is based on a formal wide spectrum language, called WSL, with accompanying formal method. Over the last ten years we have developed a large catalogue of proven transformations, together with mechanically verifiable applicability conditions. These have been applied to many software development, reverse engineering and maintenance problems. In this paper, we focus on the results of using this approach in reverse engineering of medium scale, industrial software, written mostly in languages such as assembler and JOVIAL. Results from both benchmark algorithms and heavily modified, geriatric software are summarised. We conclude that formal methods have an important practical role in software evolution.Partly funded bu Alvey project SE-088, partly through a DTI/SERC and IBM UK Ltd. funded IEATP grant "From assembler to Z using formal transformations" and partly by SERC (Science and Engineering Research Council) project "A proof theory for program refinement and equivalence: extensions"

    On Evidence-based Risk Management in Requirements Engineering

    Full text link
    Background: The sensitivity of Requirements Engineering (RE) to the context makes it difficult to efficiently control problems therein, thus, hampering an effective risk management devoted to allow for early corrective or even preventive measures. Problem: There is still little empirical knowledge about context-specific RE phenomena which would be necessary for an effective context- sensitive risk management in RE. Goal: We propose and validate an evidence-based approach to assess risks in RE using cross-company data about problems, causes and effects. Research Method: We use survey data from 228 companies and build a probabilistic network that supports the forecast of context-specific RE phenomena. We implement this approach using spreadsheets to support a light-weight risk assessment. Results: Our results from an initial validation in 6 companies strengthen our confidence that the approach increases the awareness for individual risk factors in RE, and the feedback further allows for disseminating our approach into practice.Comment: 20 pages, submitted to 10th Software Quality Days conference, 201
    • …
    corecore