579 research outputs found

    Tight polynomial worst-case bounds for loop programs

    Get PDF
    In 2008, Ben-Amram, Jones and Kristiansen showed that for a simple programming language - representing non-deterministic imperative programs with bounded loops, and arithmetics limited to addition and multiplication - it is possible to decide precisely whether a program has certain growth-rate properties, in particular whether a computed value, or the program's running time, has a polynomial growth rate. A natural and intriguing problem was to move from answering the decision problem to giving a quantitative result, namely, a tight polynomial upper bound. This paper shows how to obtain asymptotically-tight, multivariate, disjunctive polynomial bounds for this class of programs. This is a complete solution: whenever a polynomial bound exists it will be found. A pleasant surprise is that the algorithm is quite simple; but it relies on some subtle reasoning. An important ingredient in the proof is the forest factorization theorem, a strong structural result on homomorphisms into a finite monoid

    Automated Code Generation for Industrial-Strength Systems

    Get PDF
    Model-driven engineering proposes to develop software systems by first creating an executable model of the system design and then transforming this model into an implementation. This paper discusses the design of an automatic code generation system that transforms such models into product implementations for highly reliable, industrial-strength systems. It provides insights, practical considerations, and lessons learned when developing code generators for applications that must conform to the constraints imposed by real-world, high-performance systems. Automatic code generation has played a large part in dramatically increasing both the quality and the reliability of software for these systems

    Placeable and localizable elements in translation memory systems

    Get PDF
    Translation memory systems (TM systems) are software packages used in computer-assisted translation (CAT) to support human translators. As an example of successful natural language processing (NLP), these applications have been discussed in monographic works, conferences, articles in specialized journals, newsletters, forums, mailing lists, etc. This thesis focuses on how TM systems deal with placeable and localizable elements, as defined in 2.1.1.1. Although these elements are mentioned in the cited sources, there is no systematic work discussing them. This thesis is aimed at filling this gap and at suggesting improvements that could be implemented in order to tackle current shortcomings. The thesis is divided into the following chapters. Chapter 1 is a general introduction to the field of TM technology. Chapter 2 presents the conducted research in detail. The chapters 3 to 12 each discuss a specific category of placeable and localizable elements. Finally, chapter 13 provides a conclusion summarizing the major findings of this research project

    The Scalability-Efficiency/Maintainability-Portability Trade-off in Simulation Software Engineering: Examples and a Preliminary Systematic Literature Review

    Full text link
    Large-scale simulations play a central role in science and the industry. Several challenges occur when building simulation software, because simulations require complex software developed in a dynamic construction process. That is why simulation software engineering (SSE) is emerging lately as a research focus. The dichotomous trade-off between scalability and efficiency (SE) on the one hand and maintainability and portability (MP) on the other hand is one of the core challenges. We report on the SE/MP trade-off in the context of an ongoing systematic literature review (SLR). After characterizing the issue of the SE/MP trade-off using two examples from our own research, we (1) review the 33 identified articles that assess the trade-off, (2) summarize the proposed solutions for the trade-off, and (3) discuss the findings for SSE and future work. Overall, we see evidence for the SE/MP trade-off and first solution approaches. However, a strong empirical foundation has yet to be established; general quantitative metrics and methods supporting software developers in addressing the trade-off have to be developed. We foresee considerable future work in SSE across scientific communities.Comment: 9 pages, 2 figures. Accepted for presentation at the Fourth International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering (SEHPCCSE 2016

    How to design MOOCs to facilitate student participation

    Get PDF
    Massive Open Online Courses (MOOCs) are increasingly becoming the preferred choice of students in higher education. These courses allow people to enhance or restart their professional careers. What is more, the situation we have all lived through in 2020 has habituated us to observing social distancing. As a consequence, MOOCs have become even more necessary and enrolments have grown exponentially. Universities and institutions focus their teaching and learning strategies on strengthening their online educational offerings, and improving online learning environments has become crucial. This study was conceptualised in a bid to enhance online learning environment of MOOCs as this has a direct impact on student participation. I chose to evaluate how student participation changes during the learning experience. Research questions were adjusted as a result of the constant changes in the area of online education, and the new needs and limitations that emerged during the study process. Thus, the following five specific objectives were set. 1. To analyse MOOCs in order to define design outlines. 2. To identify and define which processes and procedures are the most suitable in the design phase of MOOCs to encourage student participation. 3. To collect, identify and define the tools necessary for the creation and the update of MOOCs that promote student participation. 4. To identify the factors that best encourage student engagement. 5. To analyse the role of student participation in the design of a MOOC curriculum. The main aim of the project was to design a methodological outline that provides instructors with a useful tool that allows them to design MOOCs with the most effective learning environments in order to foster student participation. The scientific research methodology chosen for the project was a mix of qualitative and quantitative methods. The project was developed according to a descriptive research method and document analysis of publications targeted at MOOC design. In the quantitative research approach, I analysed the data statistically, using the instrument designed specifically for this study (the CAT50 index). This is an index that measures the percentage of students who completed more than 50% of the assigned tasks in a MOOC. Therefore, the process of drawing conclusions was focused on exerting a positive effect on student participation. I obtained three types of results: (1) Those related to prevalent factors occurring in current MOOCs, such as, MOOC’s instructional design process (design phase) must be included in instructors’/supervisors’ workload time. (2) Those related to co-design. The main results revealed that, in good practices, students were involved in MOOC creation in the following ways: course design, content creation and technical scoping of interactive assets; and students participated actively according to a seventh rung of Arnstein’s ladder (1969: 216). (3) And those related to factors with a positive impact on student engagement. These included, such as, for example: course length fewer than 40 hours or around seven to eight weeks in duration, at most; and MOOCs offering peer-assessment activities

    Abstractions and Static Analysis for Verifying Reactive Systems

    Get PDF
    Fokkink, W.J. [Promotor]Sidorova, N. [Copromotor

    On Global Types and Multi-Party Session

    Get PDF
    Global types are formal specifications that describe communication protocols in terms of their global interactions. We present a new, streamlined language of global types equipped with a trace-based semantics and whose features and restrictions are semantically justified. The multi-party sessions obtained projecting our global types enjoy a liveness property in addition to the traditional progress and are shown to be sound and complete with respect to the set of traces of the originating global type. Our notion of completeness is less demanding than the classical ones, allowing a multi-party session to leave out redundant traces from an underspecified global type. In addition to the technical content, we discuss some limitations of our language of global types and provide an extensive comparison with related specification languages adopted in different communities

    Embedded System Design

    Get PDF
    A unique feature of this open access textbook is to provide a comprehensive introduction to the fundamental knowledge in embedded systems, with applications in cyber-physical systems and the Internet of things. It starts with an introduction to the field and a survey of specification models and languages for embedded and cyber-physical systems. It provides a brief overview of hardware devices used for such systems and presents the essentials of system software for embedded systems, including real-time operating systems. The author also discusses evaluation and validation techniques for embedded systems and provides an overview of techniques for mapping applications to execution platforms, including multi-core platforms. Embedded systems have to operate under tight constraints and, hence, the book also contains a selected set of optimization techniques, including software optimization techniques. The book closes with a brief survey on testing. This fourth edition has been updated and revised to reflect new trends and technologies, such as the importance of cyber-physical systems (CPS) and the Internet of things (IoT), the evolution of single-core processors to multi-core processors, and the increased importance of energy efficiency and thermal issues

    Development Life Cycle

    Get PDF
    Security in the Software Life Cycle This article emphasizes how developers need to make additional, significant increases in their processes, by adding structure and repeatability to further the security and quality of their software. by Joe Jarzombek and Karen Mercedes Goertze
    corecore