Model-Based Development of Engine Control Systems: Experiences and Lessons Learnt

Total Page:16

File Type:pdf, Size:1020Kb

Model-Based Development of Engine Control Systems: Experiences and Lessons Learnt This is a repository copy of Model-Based Development of Engine Control Systems : Experiences and Lessons Learnt. White Rose Research Online URL for this paper: https://eprints.whiterose.ac.uk/177763/ Version: Accepted Version Proceedings Paper: Cooper, Justin, De La Vega, Alfonso, Paige, Richard Freeman orcid.org/0000-0002-1978- 9852 et al. (5 more authors) (Accepted: 2021) Model-Based Development of Engine Control Systems : Experiences and Lessons Learnt. In: ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems. (In Press) Reuse Items deposited in White Rose Research Online are protected by copyright, with all rights reserved unless indicated otherwise. They may be downloaded and/or printed for private study, or other acts as permitted by national copyright laws. The publisher or other rights holders may allow further reproduction and re-use of the full text version. This is indicated by the licence information on the White Rose Research Online record for the item. Takedown If you consider content in White Rose Research Online to be in breach of UK law, please notify us by emailing [email protected] including the URL of the record and the reason for the withdrawal request. [email protected] https://eprints.whiterose.ac.uk/ Model-Based Development of Engine Control Systems: Experiences and Lessons Learnt Justin Cooper, Alfonso de la Vega, Michael Bennett, Caroline Brown, Richard Paige, Dimitris Kolovos Beatriz Sanchez Pina,˜ Horacio Hoyos Rodriguez Department of Computer Science Rolls-Royce, Birmingham/Derby, UK University of York, York, UK {mike.bennett, caroline.brown2, {justin.cooper, alfonso.delavega, beatriz.angelica.sanchez.pina, horacio.hoyos} richard.paige, dimitris.kolovos}@york.ac.uk @rolls-royce.com Abstract—Rolls-Royce Control Systems supplies engine control • ECOA [2] – the European Component Oriented Architec- and monitoring systems for aviation applications, and is required ture is intended to create a market for standard defence to design, certify, and deliver these to the highest level of safety mission system software components. assurance. To allow Rolls-Royce to develop safe and robust • systems, which continue to increase in complexity, model-based SAVOIR [3] - the Space AVionics Open Interface aR- techniques are now a critical part of the software development chitecture has similar goals to ECOA but is targeted at process. In this paper, we discuss the experiences, challenges space applications. This has resulted in the definition of a and lessons learnt when developing a bespoke domain-specific standardised On-Board Software Reference Architecture modelling workbench based on open-source modelling technolo- (OSRA) with supporting toolset. gies including the Eclipse Modelling Framework (EMF), Xtext, Sirius and Epsilon. This modelling workbench will be used to architect and integrate the software for all future Rolls-Royce engine control and monitoring systems. Index Terms—Domain Specific Language, Component Ori- ented Architecture, Graphical Modelling Workbench, Xtext, Sirius, EMF I. INTRODUCTION CaMCOA (Controls and Monitoring Component Oriented Architecture) is a new software architecture designed to sup- port future generations of Rolls-Royce’s Controls and Moni- toring systems. Component-Oriented Architectures (COAs) allow function- ality to be encapsulated within a component that has a clearly- Fig. 1. CaMCOA Architecture defined interface and conforms to a prescribed behaviour (e.g., scheduling, communication) common to all components within the architecture. This highly standardised approach is intended One of the main motivational points for CaMCOA is to improve productivity and quality. The resultant system support for Model-Based Application Development. Appli- is intended to be highly cohesive with well-defined system cation development for Controls and Monitoring systems is behaviour, yet be loosely coupled, allowing components to be increasingly undertaken using model-based approaches. Tools upgraded, replaced or moved. such as Simulink [4] allow algorithms to be designed and Examples of the use of COAs in related industries include: simulated graphically and then the implementation to be produced automatically using code generation technologies. • AUTOSAR [1] – The AUTomotive Open Software AR- These environments are increasingly supporting qualifiable chitecture is a multi-partner standard intended to provide toolchains that provide evidence to support the required cer- a standardised platform (supporting specification of basic tification objectives, according to relevant standards such as software, middleware for engine control unit information DO-178C, automatically. interchange, and application software) for automotive The CaMCOA architecture, whose main components are software. shown in Figure 1, is defined as follows: The work in this paper has been partially funded through an InnovateUK co- • Application Partitions provide a container to execute funded Knowledge Transfer Partnership between the University of York and Application Services. Application Services can be im- Rolls-Royce plc (contract no. KTP011043), the HICLASS InnovateUK project (contract no.113213) and the Engineering and Physical Sciences Research plemented in multiple programming languages, including Council (EPSRC) under Grant No.: EP/R512230/1 Simulink Models. Fig. 2. Components of CaMCOA Studio • The Runtime Configuration Layer (RCL) contains all the tion, querying and maintenance of tracebility links, e.g., specific configuration data for activities such as schedul- to enable impact analysis; ing, initialisation, and network messages. • The desire to support model management (e.g., vali- • The Platform Abstraction Layer (PAL) contains all the dation, transformation, comparison, querying), including OS services that are required for the system (e.g. a Real- both known model management scenarios, and future Time Operating System (RTOS), Debug and Network). innovative scenarios; • The Node Abstraction Layer (NAL) contains hardware • The desire to exploit advanced open-source technologies specific services (e.g. device drivers) which are defined while reducing the chance of vendor lock-in; in Simulink and auto-generated to C code. • The necessity to eventually support qualification of the • The Microcontroller Abstraction Layer (MCAL) abstracts toolchain, e.g., against DO-330 [6]. low-level microcontroller functionality from the higher The selection of the individual technologies atop which layers. CaMCOA Studio has been built has been broadly driven by In this paper, we present the experiences of creating the combined team’s expertise and prior knowledge, and by a domain-specific modelling workbench, CaMCOA Studio, common open-source software health indicators such as the whose main components are shown in Figure 2. CaMCOA size and activity of the community around each technology, Studio is being used on all new engine control and monitoring its development and maintenance activity, and the availability projects at Rolls-Royce to deploy instances of the CaMCOA of up-to-date documentation. With this in mind, it is entirely architecture. possible that other technologies (e.g. Graphiti [7] instead of CaMCOA Studio has been under development since 2017, Sirius [8] for graphical model editing, or Acceleo [9] instead of and from 2018 its development has been partially supported EGL [10] for model-to-text transformation) would have been by a Knowledge Transfer Partnership (KTP) between Rolls- as – or even more – effective for the respective tasks. On Royce and the University of York. Motivation for building a a similar note, we make no direct or indirect claims on the new domain-specific workbench came from many sources: relative fitness of the Eclipse Modelling ecosystem compared • The desire to support a bespoke DSML acceptable to to alternatives such as JetBrains MPS [11] or MetaEdit+ [12], Rolls-Royce engineers, instead of a general-purpose mod- which we have not explored for CaMCOA Studio. elling language. The use of a DSML is expected to have The paper is structured as follows. Section II discusses the substantial adoption benefits, e.g., easier validation [5]; approach and challenges that we encountered when defining • The need to support integration with MATLAB/Simulink; the abstract syntax of the core domain-specific language of • The need to support traceability between CaMCOA mod- CaMCOA Studio using the Eclipse Modelling Framework and els and MATLAB Simulink models, including specifica- Ecore. Section III discusses the concrete syntax of the lan- guage, noting our experiences with tools such as Sirius, Picto When defining the abstract syntax of the CaMCOA DSL, and Xtext. Section IV introduces our approach to automated we used the Ecore language, part of the Eclipse Modelling model management using the Epsilon family of languages to Framework (EMF) [13]. In general, we found that Ecore validate and migrate models and to generate code, Simulink allowed us to express the domain accurately, however we models, Excel spreadsheets and XML documents. Section V encountered challenges when attempting to instantiate and re- discusses the tooling facilitating collaborative model devel- use modelled components. opment. Section VI discusses how we are testing CaMCOA In initial modelling attempts, we created a shared library Studio. Section VII introduces and motivates a custom work- model containing re-usable components (such as processors flow UI tooling that can guide engineers through the supported
Recommended publications
  • Modisco: a Model Driven Reverse Engineering Framework Hugo Bruneliere, Jordi Cabot, Grégoire Dupé, Frédéric Madiot
    MoDisco: a Model Driven Reverse Engineering Framework Hugo Bruneliere, Jordi Cabot, Grégoire Dupé, Frédéric Madiot To cite this version: Hugo Bruneliere, Jordi Cabot, Grégoire Dupé, Frédéric Madiot. MoDisco: a Model Driven Reverse Engineering Framework. Information and Software Technology, Elsevier, 2014, 56 (8), pp.1012-1032. 10.1016/j.infsof.2014.04.007. hal-00972632 HAL Id: hal-00972632 https://hal.inria.fr/hal-00972632 Submitted on 7 Apr 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. MoDisco: a Model Driven Reverse Engineering Framework Hugo Bruneli`erea,1,∗, Jordi Cabota, Gr´egoire Dup´eb, Fr´ed´eric Madiotc aAtlanMod (Inria & LINA), Ecole des Mines de Nantes, 4 rue Alfred Kastler, 44307 Nantes, France bMia-Software, 4 rue du Chateau de l’Eraudi`ere, 44324 Nantes, France cObeo, 7 boulevard Amp`ere, Espace Performance La Fleuriaye, 44481 Carquefou, France Abstract Context: Most companies, independently of their size and activity type, are facing the problem of managing, maintaining and/or replacing (part of) their existing software systems. These legacy systems are often large applications playing a critical role in the company’s information system and with a non-negligible impact on its daily operations.
    [Show full text]
  • Rugby - a Process Model for Continuous Software Engineering
    INSTITUT FUR¨ INFORMATIK DER TECHNISCHEN UNIVERSITAT¨ MUNCHEN¨ Forschungs- und Lehreinheit I Angewandte Softwaretechnik Rugby - A Process Model for Continuous Software Engineering Stephan Tobias Krusche Vollstandiger¨ Abdruck der von der Fakultat¨ fur¨ Informatik der Technischen Universitat¨ Munchen¨ zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Helmut Seidl Prufer¨ der Dissertation: 1. Univ.-Prof. Bernd Brugge,¨ Ph.D. 2. Prof. Dr. Jurgen¨ Borstler,¨ Blekinge Institute of Technology, Karlskrona, Schweden Die Dissertation wurde am 28.01.2016 bei der Technischen Universitat¨ Munchen¨ eingereicht und durch die Fakultat¨ fur¨ Informatik am 29.02.2016 angenommen. Abstract Software is developed in increasingly dynamic environments. Organizations need the capability to deal with uncertainty and to react to unexpected changes in require- ments and technologies. Agile methods already improve the flexibility towards changes and with the emergence of continuous delivery, regular feedback loops have become possible. The abilities to maintain high code quality through reviews, to regularly re- lease software, and to collect and prioritize user feedback, are necessary for con- tinuous software engineering. However, there exists no uniform process model that handles the increasing number of reviews, releases and feedback reports. In this dissertation, we describe Rugby, a process model for continuous software en- gineering that is based on a meta model, which treats development activities as parallel workflows and which allows tailoring, customization and extension. Rugby includes a change model and treats changes as events that activate workflows. It integrates re- view management, release management, and feedback management as workflows. As a consequence, Rugby handles the increasing number of reviews, releases and feedback and at the same time decreases their size and effort.
    [Show full text]
  • Enterprise Architecture
    Enterprise Architecture Dr. Adnan Albar Faculty of Computing & Information Technology King AbdulAziz University - Jeddah 1 Enterprise Architecture Methods Lecture 5 Week 5 Slides King AbdulAziz University - FCIT 2 Overview . Description Languages for Business & IT Domains . IDEF . BPMN . Testbed . ARIS . Unified Modeling Language . Service-Oriented Architecture (SOA) Slide 3 Description Languages . In domains such as business process design and software development, we find established description languages for modeling these domains. For software modeling, UML is of course, the single dominant language. In organization and process modeling, on the other hand, a multitude of languages are in use: there is no standard for models in this domain. We will focus on languages that either find widespread use or have properties that are interesting from the perspective of our goals in developing an enterprise architecture language. Slide 4 IDEF – Integrated DEFinition Methods .IDEF is a family of languages .Used to perform enterprise modeling and analysis .Currently, there are 16 IDEF methods. Of these methods, IDEF0, IDEF3, and IDEF1X (‘the core’) are the most commonly used. Slide 5 IDEF – The Scope it Covers .Functional modeling, IDEF0: The idea behind IDEF0 is to model the elements controlling the execution of a function, the actors performing the function, the objects or data consumed and produced by the function, and the relationships between business functions (shared resources and dependencies). .Process modeling, IDEF3: IDEF3 captures the workflow of a business process via process flow diagrams. These show the task sequence for processes performed by the organization, the decision logic, describe different scenarios for performing the same business functions, and enable the analysis and improvement of the workflow.
    [Show full text]
  • D1.1.1 Public State of the Art Document
    D1.1.1 Public state of the art document Programme ITEA3 Challenge Smart Engineering Project number 17038 Project name Visual diagnosis for DevOps software development Project duration 1st October 2018 – 30st June 2022 Project website Project WP WP1 - Pre-studies and requirements Project Task Task 1.1 – Update of state-of-art and state-of-the practice analysis for visualization in software projects in DevOps context Deliverable type X Doc Textual deliverable SW Software deliverable Version V17 Delivered 18/11/2019 Access x Public Abstracts are public Confidential D1.1.1 Public state of the art document Document Contributors Partber Author Role EXPERIS Ester Sancho editor EXPERIS Miriam Moreno writer GRO Paris Avgeriou writer INVENCO Mika Koivuluoma writer OCE Lou Somers writer/reviewer OULU Markus Kelanti writer TAU Kari Systä writer/reviewer TAU Outi Sievi-Korte writer/reviewer TIOBE Paul Jansen writer TIOBE Marvin Wener writer UPC Lidia López writer UPC Xavier Franch writer VINCIT Veli-Pekka Eloranta writer Document History Date Version Editors Status 18/06/2019 ToC EXPERIS Table of Content 10/07/2019 V01 TAU Draft 30/09/2019 V02 OCE/GRO Draft 17/10/2019 V06 TIOBE Draft 22/10/2019 V08 OULU Draft 12/11/2019 V09 VINCIT 1ST Final Draft 20/11/2019 V10 OCE Reviewed version 26/11/2019 V12 UPC/EXPERIS/TAU 2nd Final Draft 10/12/2019 V16 EXPERIS Final Version 16/12/2019 V16.01 TAU Peer Review 18/12/2019 V17 EXPERIS Submission 2 D1.1.1 Public state of the art document Table of Contents Executive Summary ............................................................................................................................. 6 1.
    [Show full text]
  • Customizing Eclipse RCP Applications Techniques to Use with SWT and Jface
    Customizing Eclipse RCP applications Techniques to use with SWT and JFace Skill Level: Intermediate Scott Delap ([email protected]) Desktop/Enterprise Java Consultant Annas Andy Maleh ([email protected]) Consultant 27 Feb 2007 Most developers think that an Eclipse Rich Client Platform (RCP) application must look similar in nature to the Eclipse integrated development environment (IDE). This isn't the case, however. This tutorial will explain a number of simple techniques you can use with the Standard Widget Toolkit (SWT) and JFace to create applications that have much more personality than the Eclipse IDE. Section 1. Before you start About this tutorial This tutorial will explain a number of UI elements that can be changed in Eclipse RCP, JFace, and SWT. Along the way, you will learn about basic changes you can make, such as fonts and colors. You will also learn advanced techniques, including how to create custom wizards and section headers. Using these in conjunction should provide you the ability to go from a typical-looking Eclipse RCP application to a distinctive but visually appealing one. Prerequisites Customizing Eclipse RCP applications © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 40 developerWorks® ibm.com/developerWorks You should have a basic familiarity with SWT, JFace, and Eclipse RCP. System requirements To run the examples, you need a computer capable of adequately running Eclipse V3.2 and 50 MB of free disk space. Section 2. Heavyweight and lightweight widgets Before diving into techniques that can be used to modify SWT, JFace, and Eclipse RCP in general, it's important to cover the fundamental characteristics of SWT and how they apply to the appearance of the widget set.
    [Show full text]
  • Recoder with Eclipse
    School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI Recoder with Eclipse Saúl Díaz González Álvaro Pariente Alonso June MSI Report 09031 2009 Växjö University ISSN 1650-2647 SE-351 95 VÄXJÖ ISRN VXU/MSI/DA/E/--09031/--SE Abstract RECODER is a Java framework aimed at source code analysis and metaprogramming. It works on several layers to offer a set of semi-automatic transformations and tools, ranging from a source code parser and unparser, offering a highly detailed syntactical model, analysis tools which are able to infer types of expressions, evaluate compile-time constants and keep cross-reference information, to transformations of the very Java sources, containing a library of common transformations and incremental analysis capabilities. These make up an useful set of tools which can be extended to provide the basis for more advanced refactoring and metacompiler applications, in very different fields, from code beautification and simple preprocessors, stepping to software visualization and design problem detection tools to adaptive programming environments and invasive software composition. The core system development of RECODER started in the academic field and as such, it was confined into a small platform of users. Although a powerful tool, RECODER framework lacks usability and requires extensive and careful configuration to work properly. In order to overcome such limitations, we have taken advantage of the Eclipse Integrated Development Environment (Eclipse IDE) developed by IBM, specifically its Plugin Framework Architecture to build a tool and a vehicle where to integrate RECODER functionalities into a wide-used, well-known platform to provide a semi- automated and user-friendly interface.
    [Show full text]
  • Eclipse (Software) 1 Eclipse (Software)
    Eclipse (software) 1 Eclipse (software) Eclipse Screenshot of Eclipse 3.6 Developer(s) Free and open source software community Stable release 3.6.2 Helios / 25 February 2011 Preview release 3.7M6 / 10 March 2011 Development status Active Written in Java Operating system Cross-platform: Linux, Mac OS X, Solaris, Windows Platform Java SE, Standard Widget Toolkit Available in Multilingual Type Software development License Eclipse Public License Website [1] Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, Ruby (including Ruby on Rails framework), Scala, Clojure, and Scheme. The IDE is often called Eclipse ADT for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP. The initial codebase originated from VisualAge.[2] In its default form it is meant for Java developers, consisting of the Java Development Tools (JDT). Users can extend its abilities by installing plug-ins written for the Eclipse software framework, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Released under the terms of the Eclipse Public License, Eclipse is free and open source software. It was one of the first IDEs to run under GNU Classpath and it runs without issues under IcedTea. Eclipse (software) 2 Architecture Eclipse employs plug-ins in order to provide all of its functionality on top of (and including) the runtime system, in contrast to some other applications where functionality is typically hard coded.
    [Show full text]
  • Virgo White Paper Introduction the Eclipse Virgo Project Provides a Modular Java Server Runtime and Is Part of the Eclipse Runtime (Eclipsert) Umbrella Project
    Eclipse Virgo A Technical Overview White Paper Version 1.2 June 2012 Table of Contents Introduction.......................................................................................................................................... 3 OSGi Introduction................................................................................................................................ 3 History.................................................................................................................................................. 4 Virgo Feature Summary........................................................................................................................4 Benefits.................................................................................................................................................5 Why Choose Virgo?..............................................................................................................................9 Success Stories................................................................................................................................... 10 A Warning........................................................................................................................................... 11 Technology......................................................................................................................................... 11 Virgo Runtime Deliverables..............................................................................................................
    [Show full text]
  • Development and Deployment at Facebook
    Development and Deployment at Facebook Dror G. Feitelson Eitan Frachtenberg Kent L. Beck Hebrew University Facebook Facebook Abstract More than one billion users log in to Facebook at least once a month to connect and share content with each other. Among other activities, these users upload over 2.5 billion content items every day. In this article we describe the development and deployment of the software that supports all this activity, focusing on the site’s primary codebase for the Web front-end. Information on Facebook’s architecture and other software components is available elsewhere. Keywords D.2.10.i Rapid prototyping; D.2.18 Software Engineering Process; D.2.19 Software Quality/SQA; D.2.2.c Distributed/Internet based software engineering tools and techniques; D.2.5.r Testing tools; D.2.7.e Evolving Internet applications. Facebook’s main development characteristics are speed and growth. The front-end is under continuous development by hundreds of software engineers. These engineers commit code to the version control system up to 500 times a day, recording changes in some 3,000 files. Naturally, codebase size unique developers by week commits per month 14 800 10 700 12 600 10 8 500 8 6 400 6 300 4 4 200 LoC [millions] 2 100 2 active developers 0 0 0 ’05 ’06 ’07 ’08 ’09 ’10 ’11 ’12 ’05 ’06 ’07 ’08 ’09 ’10 ’11 ’12 number of commits [1000s] ’05 ’06 ’07 ’08 ’09 ’10 ’11 ’12 Figure 1: Different aspects of Facebook growth: growth of the number of engineers working on the code, growth in the total activity of these engineers, and growth of the codebase itself.
    [Show full text]
  • Release Engineering Processes, Models, and Metrics
    Release Engineering Processes, Models, and Metrics Hyrum K. Wright Empirical Software Engineering Laboratory Department of Electrical and Computer Engineering The University of Texas at Austin Austin, Texas 78712 [email protected] ABSTRACT The primary goal of this research is to develop techniques, No matter the development process or methodology, a soft- methods, metrics and processes whereby the release engi- ware product must ultimately be released to a user in a neering process can be quantitatively measured, reasoned readily consumable form. Different software products, from about, and improved. Such techniques will benefit the soft- desktop applications to web services, may require different ware industry by reducing release process overhead, and im- release processes, but each process must produce an arti- proving the quality of the release artifact. This paper gives fact which meets an expected level of quality, and is rela- a brief background of release engineering as a practice, the tively bug-free. We describe current research to model and existing research in this area, and how we intend to proceed quantify existing release processes, and an effort to prescribe toward our goals. improvements to those processes. 2. BACKGROUND Categories and Subject Descriptors Release engineering is the part of the software engineer- ing process during which the release artifact, usually an ex- D.2.9 [Software Engineering]: Management|software pro- ecutable, installer, library or source code package, is pro- cess models; D.2.7 [Software Engineering]: Distribution, duced. In traditional software development methodologies, Maintenance, Enhancement|release creation and distribu- such as the spiral or waterfall models, release engineering tion comes as part of the deployment and maintenance phases [1, 8].
    [Show full text]
  • An Empirical Evaluation of Osgi Dependencies Best Practices in the Eclipse IDE Lina Ochoa, Thomas Degueule, Jurgen Vinju
    An Empirical Evaluation of OSGi Dependencies Best Practices in the Eclipse IDE Lina Ochoa, Thomas Degueule, Jurgen Vinju To cite this version: Lina Ochoa, Thomas Degueule, Jurgen Vinju. An Empirical Evaluation of OSGi Dependencies Best Practices in the Eclipse IDE. 15th International Conference on Mining Software Repositories, May 2018, Gothenburg, Sweden. 10.1145/3196398.3196416. hal-01740131 HAL Id: hal-01740131 https://hal.archives-ouvertes.fr/hal-01740131 Submitted on 27 Mar 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. An Empirical Evaluation of OSGi Dependencies Best Practices in the Eclipse IDE Lina Ochoa Thomas Degueule Jurgen Vinju Centrum Wiskunde & Informatica Centrum Wiskunde & Informatica Centrum Wiskunde & Informatica Amsterdam, Netherlands Amsterdam, Netherlands Amsterdam, Netherlands [email protected] [email protected] Eindhoven University of Technology Eindhoven, Netherlands [email protected] ABSTRACT that can be implemented and tested independently. This also fos- OSGi is a module system and service framework that aims to fill ters reuse by allowing software components to be reused from one Java’s lack of support for modular development. Using OSGi, devel- system to the other, or even to be substituted by one another pro- opers divide software into multiple bundles that declare constrained vided that they satisfy the appropriate interface expected by a client.
    [Show full text]
  • Who Needs Release and Devops Engineers, and Why?
    Who Needs Release and DevOps Engineers, and Why? Noureddine Kerzazi Bram Adams ENSIAS, Mohammed V University in Rabat MCIS, Polytechnique Montreal [email protected] [email protected] ABSTRACT role overseeing and planning the transfer of deliverables to- The recent surge in interest in continuous delivery has opened wards the production environment? Penners et al. [7] found up the job market for release and DevOps engineers. How- that the experts consulted by them did not share a unique ever, despite an increasing number of conferences and publi- interpretation of the DevOps and release engineering roles, cations on continuous delivery, smaller companies and start- while Bass et al. [4] even define DevOps in terms of release ups still have a hard time determining the core tasks their engineering, i.e., \DevOps is a set of practices intended to future release and DevOps engineers should be responsible reduce the time between committing a change to a system for (and what the differences between those two roles are), and the change being placed into normal production, while while universities are not sure what essential techniques and ensuring high quality." skills they should teach to their students. This paper per- The Capability Maturity Model Integration (CMMI) de- forms an empirical analysis of online job postings to deter- scribes Release Management as emphasizing the Product In- mine and compare the main tasks of release and DevOps tegration (PI) process area [12]. The purpose of PI is to as- engineers, globally and across countries. Our qualitative semble the product from product components, to ensure that analysis shows that automation is the most important ac- the integrated product works properly, then to deliver it.
    [Show full text]