Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Dynamic self-assembly of hierarchical software structures/systems.

Conference ·
OSTI ID:915178

We present initial results on achieving synthesis of complex software systems via a biophysics-emulating, dynamic self-assembly scheme. This approach offers novel constructs for constructing large hierarchical software systems and reusing parts of them. Sets of software building blocks actively participate in the construction and subsequent modification of the larger-scale programs of which they are a part. The building blocks interact through a software analog of selective protein-protein bonding. Self-assembly generates hierarchical modules (including both data and executables); creates software execution pathways; and concurrently executes code via the formation and release of activity triggering bonds. Hierarchical structuring is enabled through encapsulants that isolate populations of building block binding sites. The encapsulated populations act as larger-scale building blocks for the next hierarchy level. Encapsulant populations are dynamic, as their contents can move in and out. Such movement changes the populations of interacting sites and also modifies the software execution. ''External overrides'', analogous to protein phosphorylation, temporarily switch off undesired subsets of behaviors (code execution, data access/modification) of other structures. This provides a novel abstraction mechanism for code reuse. We present an implemented example of dynamic self-assembly and present several alternative strategies for specifying goals and guiding the self-assembly process.

Research Organization:
Sandia National Laboratories
Sponsoring Organization:
USDOE
DOE Contract Number:
AC04-94AL85000
OSTI ID:
915178
Report Number(s):
SAND2003-0403C
Country of Publication:
United States
Language:
English

Similar Records

Dynamic self-assembly and computation : from biological to information systems.
Conference · Fri Aug 01 00:00:00 EDT 2003 · OSTI ID:1005393

Methods For Self-Organizing Software
Patent · Tue Oct 18 00:00:00 EDT 2005 · OSTI ID:880058

Self-assembled software and method of overriding software execution
Patent · Mon Jan 07 23:00:00 EST 2013 · OSTI ID:1082907