2,134 research outputs found

    Energy-Aware Software Engineering

    Get PDF
    A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather than waiting to measure energy after deployment. Such understanding is hindered by the large conceptual gap from hardware, where energy is consumed, to high-level languages and programming abstractions. The approaches described in this chapter involve two main topics: energy modelling and energy analysis. The purpose of modelling is to attribute energy values to programming constructs, whether at the level of machine instructions, intermediate code or source code. Energy analysis involves inferring the energy consumption of a program from the program semantics along with an energy model. Finally, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code

    Chapter Energy-Aware Software Engineering

    Get PDF
    Polystyrene (PS) is a petroleum‐based plastic made from styrene (vinyl benzene) monomer. Since it was first commercially produced in 1930, it has been used for a wide range of commercial, packaging and building purposes. In 2012, approximately 32.7 million tonnes of styrene were produced globally, and polystyrene is now a ubiquitous household item worldwide. In 1986, the US Environmental Protection Agency (EPA) announced that the polystyrene manufacturing process was the fifth largest source of hazardous waste. Styrene has been linked to adverse health effects in humans, and in 2014, it was listed as a possible carcinogen. Yet, despite mounting evidence and public concern regarding the toxicity of styrene, the product of the polymerisation of styrene, PS, is not considered hazardous. This chapter draws on a series of movements called the ‘new materialisms’ to attend to the relational, unstable and contingent nature of PS, monomers and other additives in diverse environments, and thus, we highlight the complexities involved in the categorisation of PS as ‘hazardous’ and the futility of demarcating PS as ‘household waste'. While local examples are drawn from the New Zealand context, the key messages are transferrable to most policy contexts and diverse geographical locations

    Goal-Oriented Requirements Engineering: State of the Art and Research Trend

    Get PDF
    The Goal-Oriented Requirements Engineering (GORE) is one approach that is widely used for the early stages of software development. This method continues to develop in the last three decades. In this paper, a literature study is conducted to determine the GORE state of the art. The study begins with a Systematic Literature Review (SLR) was conducted to determine the research trend in the last five years. This study reviewed 126 papers published from 2016 to 2020.  The research continues with the author's search for scientific articles about GORE. There are 26 authors who actively publish GORE research results. Twenty-six authors were grouped into seven groups based on their relation or co-authoring scientific articles. An in-depth study of each group resulted in a holistic mapping of GORE research.  Based on the analysis, it is known that most research focuses on improving GORE for an automated and reliable RE process, developing new models/frameworks/methods originating from GORE, and implementing GORE for the RE process. This paper contributes to a holistic mapping of the GORE approach. Through this study, it is known the various studies that are being carried out and research opportunities to increase automation in the entire RE process

    Towards Quality-Aware Development of Big Data Applications with DICE

    No full text
    © Springer International Publishing Switzerland 2016.Model-driven engineering (MDE) has been extended in recent years to account for reliability and performance requirements since the early design stages of an application. While this quality-aware MDE exists for both enterprise and cloud applications, it does not exist yet for Big Data systems. DICE is a novel Horizon2020 project that aims at filling this gap by defining the first quality-driven MDE methodology for Big Data applications. Concrete outputs of the project will include a data-aware UML profile capable of describing Big Data technologies and architecture styles, data-aware quality prediction methods, and continuous delivery tools

    Software Engineering for Big Data Systems

    Get PDF
    Software engineering is the application of a systematic approach to designing, operating and maintaining software systems and the study of all the activities involved in achieving the same. The software engineering discipline and research into software systems flourished with the advent of computers and the technological revolution ushered in by the World Wide Web and the Internet. Software systems have grown dramatically to the point of becoming ubiquitous. They have a significant impact on the global economy and on how we interact and communicate with each other and with computers using software in our daily lives. However, there have been major changes in the type of software systems developed over the years. In the past decade owing to breakthrough advancements in cloud and mobile computing technologies, unprecedented volumes of hitherto inaccessible data, referred to as big data, has become available to technology companies and business organizations farsighted and discerning enough to use it to create new products, and services generating astounding profits. The advent of big data and software systems utilizing big data has presented a new sphere of growth for the software engineering discipline. Researchers, entrepreneurs and major corporations are all looking into big data systems to extract the maximum value from data available to them. Software engineering for big data systems is an emergent field that is starting to witness a lot of important research activity. This thesis investigates the application of software engineering knowledge areas and standard practices, established over the years by the software engineering research community, into developing big data systems by: - surveying the existing software engineering literature on applying software engineering principles into developing and supporting big data systems; - identifying the fields of application for big data systems; - investigating the software engineering knowledge areas that have seen research related to big data systems; - revealing the gaps in the knowledge areas that require more focus for big data systems development; and - determining the open research challenges in each software engineering knowledge area that need to be met. The analysis and results obtained from this thesis reveal that recent advances made in distributed computing, non-relational databases, and machine learning applications have lured the software engineering research and business communities primarily into focusing on system design and architecture of big data systems. Despite the instrumental role played by big data systems in the success of several businesses organizations and technology companies by transforming them into market leaders, developing and maintaining stable, robust, and scalable big data systems is still a distant milestone. This can be attributed to the paucity of much deserved research attention into more fundamental and equally important software engineering activities like requirements engineering, testing, and creating good quality assurance practices for big data systems

    A UML Profile for the Design, Quality Assessment and Deployment of Data-intensive Applications

    Get PDF
    Big Data or Data-Intensive applications (DIAs) seek to mine, manipulate, extract or otherwise exploit the potential intelligence hidden behind Big Data. However, several practitioner surveys remark that DIAs potential is still untapped because of very difficult and costly design, quality assessment and continuous refinement. To address the above shortcoming, we propose the use of a UML domain-specific modeling language or profile specifically tailored to support the design, assessment and continuous deployment of DIAs. This article illustrates our DIA-specific profile and outlines its usage in the context of DIA performance engineering and deployment. For DIA performance engineering, we rely on the Apache Hadoop technology, while for DIA deployment, we leverage the TOSCA language. We conclude that the proposed profile offers a powerful language for data-intensive software and systems modeling, quality evaluation and automated deployment of DIAs on private or public clouds

    Fundamental Approaches to Software Engineering

    Get PDF
    This open access book constitutes the proceedings of the 23rd International Conference on Fundamental Approaches to Software Engineering, FASE 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 23 full papers, 1 tool paper and 6 testing competition papers presented in this volume were carefully reviewed and selected from 81 submissions. The papers cover topics such as requirements engineering, software architectures, specification, software quality, validation, verification of functional and non-functional properties, model-driven development and model transformation, software processes, security and software evolution
    • 

    corecore