PDA

View Full Version : planning JADE



Staz
03-09-2008, 01:12 PM
Question for Thomas Biskup: do you use any kind of planning (like UML diagrams etc) when you work on JADE, or do you just think and write code?

adom-admin
03-09-2008, 01:39 PM
Question for Thomas Biskup: do you use any kind of planning (like UML diagrams etc) when you work on JADE, or do you just think and write code?

To be honest: I hate UML and believe it to be completely unusable for any kind fo create design work except for stuff that already could be done with ER diagrams, etc. 20 years ago. Actually my Ph.D. thesis centers around the notion that UML (and related approaches) use a completely disproportional perspective for specifiying and designing software and seriously inhibit the effectivity of software development today. I'm kind of happy about seeing more and more articles that state that UML and MDA don't really solve problem.

Nonetheless I acknowledge that is a very good idea to have a common language for specifying stuff - I just don't believe in the "one size fits all" approach - especially for software design.

<end-of-personal-pet-peeve/> :D

As for JADE: I for a long time have been very very good at simply thinking about software designs and then just writing them down - preferrably in code. These days I am also a big fan of refactoring as soon as I find a better way to express a concept and love the ideas of domain driven design (DDD) and literate programming (together with OO). Thus for me the best way to work on a system is to think about the required concepts and domains specific terms, express them in objects and their relations and write the code for it. Then test and rewrite and refactor. It took me more than five years to find the optimum architecture for JADE (as far as I am concerned) but now that it is mostly in place and for me has proven to work very well for quite a number of requirements, I'm picking up speed. Note that the period of five years probably encompassed a week or five of thinking, another month or two of coding and the rest of the time I simply was distracted from doing any actual work. Thus the approach really is far less involved and tedious than one might think ;)

Staz
03-17-2008, 12:05 PM
Late reply, but nevertheless:

To be honest: I hate UML and believe it to be completely unusable for any kind fo create design work except for stuff that already could be done with ER diagrams, etc. 20 years ago. Actually my Ph.D. thesis centers around the notion that UML (and related approaches) use a completely disproportional perspective for specifiying and designing software and seriously inhibit the effectivity of software development today. I'm kind of happy about seeing more and more articles that state that UML and MDA don't really solve problem.

Nonetheless I acknowledge that is a very good idea to have a common language for specifying stuff - I just don't believe in the "one size fits all" approach - especially for software design.

<end-of-personal-pet-peeve/> :D


Aww. I don't have much practical experience of UML outside university world, but so far it has worked extremely well for me (many times it has saved a lot of work by seeing some problems which 'intuitive' planning doesn't reveal). Personally I would never start program of such scale as JADE without doing proper UML diagram for it. So my view on it is kinda totally different than yours. I wonder how UML diagram of JADE would look like :P (You are right on ER-diagrams tho - atleast visually, UML is just a prettier ER. I'm not sure about other things tho, since I never used ER diagrams.)


As for JADE: I for a long time have been very very good at simply thinking about software designs and then just writing them down - preferrably in code. These days I am also a big fan of refactoring as soon as I find a better way to express a concept and love the ideas of domain driven design (DDD) and literate programming (together with OO). Thus for me the best way to work on a system is to think about the required concepts and domains specific terms, express them in objects and their relations and write the code for it. Then test and rewrite and refactor. It took me more than five years to find the optimum architecture for JADE (as far as I am concerned) but now that it is mostly in place and for me has proven to work very well for quite a number of requirements, I'm picking up speed. Note that the period of five years probably encompassed a week or five of thinking, another month or two of coding and the rest of the time I simply was distracted from doing any actual work. Thus the approach really is far less involved and tedious than one might think ;)
I guess that is more of a personal thing. Some people just think differently than others, but both still might end up in same (correct or incorrect) result. Five years is a long time tho, I'm sure JADE won't come up with any unexpected limitations (or atleast I hope so). I'm not that familiar of DDD nor OO, but maybe could find out some info from wikipedia or something. It was interesting to learn how you design JADE tho. Would be even more interesting to make UML diagram of it ;)