Thursday, 8 January 2009

mechanism to express adaptation

How does one express adaptation in software architecture? What's the DNA? Do we use the component-connector-topology permutations? Or is there another mechanism possible?

Would add-C/C/T? and delete-C/C/T be enough?

The more that I think about it, the natural way of adaptation where multiple organisms evolve in different ways and the fittest survive doesn't seem feasible. No practical application will have the luxury of trying out multiple solutions till the best one emerges. Each particular adaptation that the application makes will have to be incrementally better or rolled back immediately.

What does this mean for the monitoring mechanism? Will it necessarily have to be like the one described in [1]? Without layers, would it be impossible to have something sensible and workable?


[1] @inproceedings{citeulike:1840134,
address = {Washington, DC, USA},
author = {Kramer, Jeff and Magee, Jeff },
booktitle = {FOSE '07: 2007 Future of Software Engineering},
doi = {http://dx.doi.org/10.1109/FOSE.2007.19},
isbn = {0769528295},
keywords = {architecture, self-organising},
pages = {259--268},
publisher = {IEEE Computer Society},
title = {Self-Managed Systems: an Architectural Challenge},
url = {http://dx.doi.org/10.1109/FOSE.2007.19},
year = {2007}
}

No comments:

Post a Comment