CUSEC – Dr. Grogono & Malleable Software
Posted by Skrud at Friday, January 20th 2006 at 2:22pm
Today’s first keynote speech was given by Concordia’s Dr. Peter Grogono. The topic was “Modular Concurrency.” He started with a metaphor about an air traffic control system, where a number of controllers would sit in a room looking at a blackboard in order to coordinate aircraft and schedules. However, as the airlines expanded, the room got bigger, and people would be sitting further and further back. Eventually they’d start using telescopes in order to view the blackboard. Following more expansions, the telescopes were no good anymore, and the proposed solution was: use bigger telescopes.
Object Oriented Programming has some fundamental flaws. All the languages (and there are more and more languages coming out all the time) are simply bigger telescopes trying to address a similar problem. Dr. Grogono began describing a new programming paradigm and language that he has been working on in collaboration with Brian Shearing (who gave a seminar at Concordia on a similar topic during the summer). Their paradigm is called Malleable Software.
Their idea is to organize code in cells that have certain capabilities which may or may not be concurrent. (A lot of the talk involved concurrency issues in modern programming languages such as Java and C++ and how they are – by default or by design – insecure. However I have not had the opportunity to deal with the concurrency headache, so I’ve not fallen victim to those insecurities yet). Cells can only exchange data, instead of calling operations on each other. This avoids the problem of having ugly coupling problems, where one method in one class may call another method in another class which modifies the data in the first class …. and ugliness continues.
Another problem the duo intend to solve involves the use of import, include, etc. statements that so often muck up modern programs. Imagine a huge project where one class may need a number of different functionalities and has to import every single dependent class or header file whether or not you actually use them … In Malleable Software, a Cell would be given the capabilities to do certain functions (such as the ability to generate random numbers) although I have no idea who or what gives the Cell these abilities. (I remember asking this question to Brian Shearing when he mentioned a similar concept, but I can’t remember the answer).
Once the audio recordings are out on the CUSEC website, you should listen to this keynote and see what you can get out of it. I think a lot of the malleable software concept is still being played with in its creators heads, so some stuff probably hasn’t been figured out yet.





