Agile Development and Rapid Prototyping in a Flying Mission with Open Source Software Reuse On-Board the OPS-SAT Spacecraft

2022 ◽  
Author(s):  
Georges Labrèche ◽  
David Evans ◽  
Dominik Marszk ◽  
Tom Mladenov ◽  
Vasundhara Shiradhonkar ◽  
...  
Author(s):  
Alexander Lampropoulos ◽  
Apostolos Ampatzoglou ◽  
Stamatia Bibi ◽  
Alexander Chatzigeorgiou ◽  
Ioannis Stamelos

Author(s):  
Sofiane Sahraoui

Open source software (OSS) development has been a trend parallel to that of agile software development, which is the highly iterative development model following conventional software engineering principles. Striking similarities exist between the two development processes as they seem to follow the same generic phases of software development. Both modes of development have less emphasis on planning and design and a more prominent role for implementation during the software engineering process. This chapter expounds on this connection by adopting an agile perspective on OSS development to emphasize the similarities and dissimilarities between the two models. An attempt is first made to show how OSS development fits into the generic agile development framework. Then, the chapter demonstrates how the development process of Mozilla and Apache as two of the most famous OSS projects can be recast within this framework. The similarity discussed and illustrated between agile and OSS development modes is rather limited to the mechanics of the development processes and do not include the philosophies and motivations behind development.


2011 ◽  
Vol 3 (3) ◽  
pp. 10-35 ◽  
Author(s):  
Andrea Capiluppi ◽  
Klaas-Jan Stol ◽  
Cornelia Boldyreff

A promising way to support software reuse is based on Component-Based Software Development (CBSD). Open Source Software (OSS) products are increasingly available that can be freely used in product development. However, OSS communities still face several challenges before taking full advantage of the “reuse mechanism”: many OSS projects duplicate effort, for instance when many projects implement a similar system in the same application domain and in the same topic. One successful counter-example is the FFmpeg multimedia project; several of its components are widely and consistently reused in other OSS projects. Documented is the evolutionary history of the various libraries of components within the FFmpeg project, which presently are reused in more than 140 OSS projects. Most use them as black-box components; although a number of OSS projects keep a localized copy in their repositories, eventually modifying them as needed (white-box reuse). In both cases, the authors argue that FFmpeg is a successful project that provides an excellent exemplar of a reusable library of OSS components.


2018 ◽  
Vol 6 (1) ◽  
pp. e1646 ◽  
Author(s):  
Marco A. Rendón-Medina ◽  
Laura Andrade-Delgado ◽  
Jose E. Telich-Tarriba ◽  
Antonio Fuente-del-Campo ◽  
Carlos A. Altamirano-Arcos

Author(s):  
Falko Glöckler ◽  
James Macklin ◽  
David Shorthouse ◽  
Christian Bölling ◽  
Satpal Bilkhu ◽  
...  

The DINA Consortium (DINA = “DIgital information system for NAtural history data”, https://dina-project.net) is a framework for like-minded practitioners of natural history collections to collaborate on the development of distributed, open source software that empowers and sustains collections management. Target collections include zoology, botany, mycology, geology, paleontology, and living collections. The DINA software will also permit the compilation of biodiversity inventories and will robustly support both observation and molecular data. The DINA Consortium focuses on an open source software philosophy and on community-driven open development. Contributors share their development resources and expertise for the benefit of all participants. The DINA System is explicitly designed as a loosely coupled set of web-enabled modules. At its core, this modular ecosystem includes strict guidelines for the structure of Web application programming interfaces (APIs), which guarantees the interoperability of all components (https://github.com/DINA-Web). Important to the DINA philosophy is that users (e.g., collection managers, curators) be actively engaged in an agile development process. This ensures that the product is pleasing for everyday use, includes efficient yet flexible workflows, and implements best practices in specimen data capture and management. There are three options for developing a DINA module: create a new module compliant with the specifications (Fig. 1), modify an existing code-base to attain compliance (Fig. 2), or wrap a compliant API around existing code that cannot be or may not be modified (e.g., infeasible, dependencies on other systems, closed code) (Fig. 3). create a new module compliant with the specifications (Fig. 1), modify an existing code-base to attain compliance (Fig. 2), or wrap a compliant API around existing code that cannot be or may not be modified (e.g., infeasible, dependencies on other systems, closed code) (Fig. 3). All three of these scenarios have been applied in the modules recently developed: a module for molecular data (SeqDB), modules for multimedia, documents and agents data and a service module for printing labels and reports: The SeqDB collection management and molecular tracking system (Bilkhu et al. 2017) has evolved through two of these scenarios. Originally, the required architectural changes were going to be added into the codebase, but after some time, the development team recognised that the technical debt inherent in the project wasn’t worth the effort of modification and refactoring. Instead a new codebase was created bringing forward the best parts of the system oriented around the molecular data model for Sanger Sequencing and Next Generation Sequencing (NGS) workflows. In the case of the Multimedia and Document Store module and the Agents module, a brand new codebase was established whose technology choices were aligned with the DINA vision. These two modules have been created from fundamental use cases for collection management and digitization workflows and will continue to evolve as more modules come online and broaden their scope. The DINA Labels & Reporting module is a generic service for transforming data in arbitrary printable layouts based on customizable templates. In order to use the module in combination with data managed in collection management software Specify (http://specifysoftware.org) for printing labels of collection objects, we wrapped the Specify 7 API with a DINA-compliant API layer called the “DINA Specify Broker”. This allows for using the easy-to-use web-based template engine within the DINA Labels & Reports module without changing Specify’s codebase. In our presentation we will explain the DINA development philosophy and will outline benefits for different stakeholders who directly or indirectly use collections data and related research data in their daily workflows. We will also highlight opportunities for joining the DINA Consortium and how to best engage with members of DINA who share their expertise in natural science, biodiversity informatics and geoinformatics.


2017 ◽  
Vol 16 (3) ◽  
pp. 243-267
Author(s):  
Neil Gandal ◽  
Peter Naftaliev ◽  
Uriel Stettner

Abstract Knowledge spillovers in Open Source Software (OSS) can occur via two channels: In the first channel, programmers take knowledge and experience gained from one OSS project they work on and employ it in another OSS project they work on. In the second channel, programmers reuse software code by taking code from an OSS project and employing it in another. We develop a methodology to measure software reuse in a large OSS network at the micro level and show that projects that reuse code from other projects have higher success. We also demonstrate knowledge spillovers from projects connected via common programmers.


Author(s):  
Fotios Kokkoras ◽  
Konstantinos Ntonas ◽  
Apostolos Kritikos ◽  
George Kakarontzas ◽  
Ioannis Stamelos

Author(s):  
Jason Snyder ◽  
Deepan Seeralan ◽  
Shereef Sayed ◽  
Jeffery Wilson ◽  
Carl B. Dietrich ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document