Monday, August 11, 2003
Interesting project. I'm glad to see this project. It sort of gives me a thrill that my own thoughts and intuition are right not too far off.
A while back I sent an email to two webloggers who discuss Aspect Oriented Programming to tell them about Basset frames and stuff, which are sort of precursors or parallel to the latest public AOP stuff.
The reason I looked at Basset Frames and other things is because, in my spare moments, I contemplate software engineering. Thats all I can do, I'm a 'practical' software engineer, and all that. Who has time to write code and really read research? Anyway, my drift now is that OOP, needs a new kind of core conceptualization, a Service. Not sure what this is yet. Does Java's Interface already cover this? Does aspects obviate this. Do Inversion of Control frameworks already do this? Web Services hype? Hmmm, what is 'this'?
To distinguish a Service from existing OOP concepts, you have to look at the pre OOP concepts, vis, OOA. To cut to the chase, in Object-Process Methodoloy developed by Dov Dori, there are two fundamental concepts, Objects and Processes. For an example of this see
Specifying Reactive Systems through the Object-Process Methodology
In the existing UML, OOA, etc., there are just objects and services are provided by objects or are 'facades'. There are no true 'services'. Consequently, there are no unified views, just a jumble of views that offer no synthesis.
I'm not sure where and how in OPM one gets from an analysis to OOP, where and how are the Processes incarnated? So, my question is then, if it is correct that in a correct OOA there are fundamental things called processes, can and should there be a corresponding thing in OOP, a Service thing. If there is I don't think a Component is it. Perhaps, a component is how a Service is delivered; a component is a container for a Service.
One thing I am concluding is that a Service does not have data. In that sense it is a 'pure' object, no data encapsulation. BTW, does the original OOP concept really allow data encapsulation or was it really encapsulation of state?
Oh, by the way, this is the link that caused the above. Now to find time to read what is at that link. :)
XVCL-Technology for Reuse
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment