skip to main content


Title: An empirical investigation of organic software product lines
Abstract Software product line engineering is a best practice for managing reuse in families of software systems that is increasingly being applied to novel and emerging domains. In this work we investigate the use of software product line engineering in one of these new domains, synthetic biology. In synthetic biology living organisms are programmed to perform new functions or improve existing functions. These programs are designed and constructed using small building blocks made out of DNA. We conjecture that there are families of products that consist of common and variable DNA parts, and we can leverage product line engineering to help synthetic biologists build, evolve, and reuse DNA parts. In this paper we perform an investigation of domain engineering that leverages an open-source repository of more than 45,000 reusable DNA parts. We show the feasibility of these new types of product line models by identifying features and related artifacts in up to 93.5% of products, and that there is indeed both commonality and variability. We then construct feature models for four commonly engineered functions leading to product lines ranging from 10 to 7.5 × 10 20 products. In a case study we demonstrate how we can use the feature models to help guide new experimentation in aspects of application engineering. Finally, in an empirical study we demonstrate the effectiveness and efficiency of automated reverse engineering on both complete and incomplete sets of products. In the process of these studies, we highlight key challenges and uncovered limitations of existing SPL techniques and tools which provide a roadmap for making SPL engineering applicable to new and emerging domains.  more » « less
Award ID(s):
1901543 1805528
PAR ID:
10274933
Author(s) / Creator(s):
; ; ; ;
Date Published:
Journal Name:
Empirical Software Engineering
Volume:
26
Issue:
3
ISSN:
1382-3256
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Software product line engineering is a best practice for managing reuse in families of software systems. In this work, we explore the use of product line engineering in the emerging programming domain of synthetic biology. In synthetic biology, living organisms are programmed to perform new functions or improve existing functions. These programs are designed and constructed using small building blocks made out of DNA. We conjecture that there are families of products that consist of common and variable DNA parts, and we can leverage product line engineering to help synthetic biologists build, evolve, and reuse these programs. As a first step towards this goal, we perform a domain engineering case study that leverages an open-source repository of more than 45,000 reusable DNA parts. We are able to identify features and their related artifacts, all of which can be composed to make different programs. We demonstrate that we can successfully build feature models representing families for two commonly engineered functions. We then analyze an existing synthetic biology case study and demonstrate how product line engineering can be beneficial in this domain. 
    more » « less
  2. null (Ed.)
    Unmanned Aerial Vehicles (UAVs) are increasingly used by emergency responders to support search-and-rescue operations, medical supplies delivery, fire surveillance, and many other scenarios. At the same time, researchers are investigating usage scenarios in which UAVs are imbued with a greater level of autonomy to provide automated search, surveillance, and delivery capabilities that far exceed current adoption practices. To address this emergent opportunity, we are developing a configurable, multi-user, multi-UAV system for supporting the use of semi-autonomous UAVs in diverse emergency response missions. We present a requirements-driven approach for creating a software product line (SPL) of highly configurable scenarios based on different missions. We focus on the process for eliciting and modeling a family of related use cases, constructing individual feature models, and activity diagrams for each scenario, and then merging them into an SPL. We show how the SPL will be implemented through leveraging and augmenting existing features in our DroneResponse system. We further present a configuration tool, and demonstrate its ability to generate mission-specific configurations for 20 different use case scenarios. 
    more » « less
  3. null (Ed.)
    Allosteric function is a critical component of many of the parts used to construct gene networks throughout synthetic biology. In this review, we discuss an emerging field of research and education, biomolecular systems engineering, that expands on the synthetic biology edifice—integrating workflows and strategies from protein engineering, chemical engineering, electrical engineering, and computer science principles. We focus on the role of engineered allosteric communication as it relates to transcriptional gene regulators—i.e., transcription factors and corresponding unit operations. In this review, we ( a) explore allosteric communication in the lactose repressor LacI topology, ( b) demonstrate how to leverage this understanding of allostery in the LacI system to engineer non-natural BUFFER and NOT logical operations, ( c) illustrate how engineering workflows can be used to confer alternate allosteric functions in disparate systems that share the LacI topology, and ( d) demonstrate how fundamental unit operations can be directed to form combinational logical operations. 
    more » « less
  4. Cells execute remarkable functions using biopolymers synthesized from natural building blocks. Engineering cells to leverage the vast array of synthesizable abiotic polymers could provide enhanced or entirely new cellular functions. Here we discuss the applications of in situ-synthesized abiotic polymers in three distinct domains: intracellular polymerization, cell-surface polymerization and extracellular polymerization. These advances have led to novel applications in various areas, such as cancer therapy, cell imaging, cellular activity manipulation, cell protection and electrode assembly. Examples of these synthetic approaches can be applied across all domains of life, ranging from microbes and cultured mammalian cells to plants and animals. Finally, we discuss challenges and future opportunities in this emerging field, which could enable new synthetic approaches to influence biological processes and functions. 
    more » « less
  5. Abstract DNA polymerases play a central role in biology by transferring genetic information from one generation to the next during cell division. Harnessing the power of these enzymes in the laboratory has fueled an increase in biomedical applications that involve the synthesis, amplification, and sequencing of DNA. However, the high substrate specificity exhibited by most naturally occurring DNA polymerases often precludes their use in practical applications that require modified substrates. Moving beyond natural genetic polymers requires sophisticated enzyme-engineering technologies that can be used to direct the evolution of engineered polymerases that function with tailor-made activities. Such efforts are expected to uniquely drive emerging applications in synthetic biology by enabling the synthesis, replication, and evolution of synthetic genetic polymers with new physicochemical properties. 
    more » « less