Wednesday, November 4, 2009

Armstrong Thesis (Chapter 6)

Chapter six of Joe Armstrong's thesis demonstrates the implementation of supervisors in the OTP system.

Believe it or not, hierarchies are used once again. I am not sure if it is an inferred concept of using Erlang or if it is a design decision by the developer. If you think about it, hierarchies are everywhere. There is always someone higher up the management ladder as you sit in your cubicle staring at the TPS cover sheets (eg. supervisors manage workers).

As with any language where I have not had a lot of hands-on use, I am still not very comfortable with the Erlang syntax. I am sure there are benefits of using Erlang that have not been expressed in the thesis. I think it is unfortunate the class will not be reading a few more chapters or appendix of the thesis. I do not have any real direct interest in learning about programming in Erlang, but the theories behind design choices can be applied to other system designs.

When looking at functionality, the supervisor and worker concept is similar to a thread manager being the parent of spawned child threads. The manager just sits in his office while the real workers do all the labor and satisfy any incomplete tasks. The child threads report back to the manager with status and the manager can re-spawn child threads if a thread happens to die.

Being one of the few thesis I have actually read voluntarily or involuntarily, it was an experience that may drive me to read more technical papers in order to stay knowledgeable on theories of design and development.

No comments:

Post a Comment