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
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
- PAR ID:
- 10274933
- 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
-
-
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
-
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
-
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
-
Abstract Synthetic biology conceptualises biological complexity as a network of biological parts, devices and systems with predetermined functionalities, and has had a revolutionary impact on fundamental and applied research. With the unprecedented ability to synthesise and transfer any DNA and RNA across organisms, the scope of synthetic biology is expanding and being recreated in previously unimaginable ways. The field has matured to a level where highly complex networks, such as artificial communities of synthetic organisms can be constructed. In parallel, computational biology became an integral part of biological studies, with computational models aiding the unravelling of the escalating complexity and emerging properties of biological phenomena. However, there is still a vast untapped potential for the complete integration of modelling into the synthetic design process, presenting exciting opportunities for scientific advancements. Here, we first highlight the most recent advances in computer-aided design of microbial communities. Next, we propose that such a design can benefit from an organism-free modular modelling approach that places its emphasis on modules of organismal function towards the design of multi-species communities. We argue for a shift in perspective from single organism-centred approaches to emphasising the functional contributions of organisms within the community. By assembling synthetic biological systems using modular computational models with mathematical descriptions of parts and circuits, we can tailor organisms to fulfil specific functional roles within the community. This approach aligns with synthetic biology strategies and presents exciting possibilities for the design of artificial communities.more » « less
An official website of the United States government

