Methods For Self-Organizing Software
Abstract
A method for dynamically self-assembling and executing software is provided, containing machines that self-assemble execution sequences and data structures. In addition to ordered functions calls (found commonly in other software methods), mutual selective bonding between bonding sites of machines actuates one or more of the bonding machines. Two or more machines can be virtually isolated by a construct, called an encapsulant, containing a population of machines and potentially other encapsulants that can only bond with each other. A hierarchical software structure can be created using nested encapsulants. Multi-threading is implemented by populations of machines in different encapsulants that are interacting concurrently. Machines and encapsulants can move in and out of other encapsulants, thereby changing the functionality. Bonding between machines' sites can be deterministic or stochastic with bonding triggering a sequence of actions that can be implemented by each machine. A self-assembled execution sequence occurs as a sequence of stochastic binding between machines followed by their deterministic actuation. It is the sequence of bonding of machines that determines the execution sequence, so that the sequence of instructions need not be contiguous in memory.
- Inventors:
-
- Albuquerque, NM
- Issue Date:
- Research Org.:
- Sandia National Laboratories (SNL), Albuquerque, NM, and Livermore, CA (United States)
- OSTI Identifier:
- 880058
- Patent Number(s):
- 6957415
- Application Number:
- 10/456382
- Assignee:
- Sandia Corporation (Albuquerque, NM)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- AC04-94AL85000
- Resource Type:
- Patent
- Country of Publication:
- United States
- Language:
- English
Citation Formats
Bouchard, Ann M, and Osbourn, Gordon C. Methods For Self-Organizing Software. United States: N. p., 2005.
Web.
Bouchard, Ann M, & Osbourn, Gordon C. Methods For Self-Organizing Software. United States.
Bouchard, Ann M, and Osbourn, Gordon C. Tue .
"Methods For Self-Organizing Software". United States. https://www.osti.gov/servlets/purl/880058.
@article{osti_880058,
title = {Methods For Self-Organizing Software},
author = {Bouchard, Ann M and Osbourn, Gordon C},
abstractNote = {A method for dynamically self-assembling and executing software is provided, containing machines that self-assemble execution sequences and data structures. In addition to ordered functions calls (found commonly in other software methods), mutual selective bonding between bonding sites of machines actuates one or more of the bonding machines. Two or more machines can be virtually isolated by a construct, called an encapsulant, containing a population of machines and potentially other encapsulants that can only bond with each other. A hierarchical software structure can be created using nested encapsulants. Multi-threading is implemented by populations of machines in different encapsulants that are interacting concurrently. Machines and encapsulants can move in and out of other encapsulants, thereby changing the functionality. Bonding between machines' sites can be deterministic or stochastic with bonding triggering a sequence of actions that can be implemented by each machine. A self-assembled execution sequence occurs as a sequence of stochastic binding between machines followed by their deterministic actuation. It is the sequence of bonding of machines that determines the execution sequence, so that the sequence of instructions need not be contiguous in memory.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2005},
month = {10}
}
Works referenced in this record:
Language concepts using dynamic and distributed objects
conference, January 1991
- Jo, Chang-Hyun; George, K. M.
- Proceedings of the 19th annual conference on Computer Science - CSC '91
The design and implementation of hierarchical software systems with reusable components
journal, October 1992
- Batory, Don; O'Malley, Sean
- ACM Transactions on Software Engineering and Methodology (TOSEM), Vol. 1, Issue 4