[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(FC-Devel) AFL 6: critics & ACID partitioning
architecture + feature list part 6
Jason:
> Luckily memory and CPU time are cheap
> and plentiful. Some of the best features of Argo come from its
> relatively tight integration of model with analysis, model with code
> generation, and model with reverse engineering. Design critics are
> active all the time and constantly interacting with the model and user
I've read Jason's (e.a.) paper "Software Architecture Critics in
Argo".
I can't wait to try.
> interface. Code generation is (intended to be) done in a very
> incremental and interactive way so that the user can see how each
> model change affects the code immediately. Likewise, reverse
> engineering (little more than parsing) should be integrated tightly
> enough that users can modify the code fragments shown in the "Source"
> tab and see the affects in the diagram or property tab immediately.
> Relying on IPC or launching external programs for analysis and code
> generation would almost certainly make Argo's current features too
> slow.
That's why we will have to be able to communicate
workable parts between stations.
It is also a reason to isolate the
'model'/'language feature' mapping.
> You can tell which current CASE tools do things all in one process or
> in different processes just by looking at their features. Tools that
> provide code views have CG & RE in the same process and focus on one
> language, e.g., StructureBuilder or TogetherJ (I think). Tools that
> do not provide views of code and instead have batch commands for CG &
> RE in multiple languages use different processes, e.g., Rational Rose.
> http://www.tendril.com
> http://www.togetherj.com
> http://www.rational.com
> The implementation might be changed a little to break things apart,
> but not too much because the main features all need direct and
> immediate access to the UML model and the user interface. For
> example, critics and code generation need to be running on the user's
> desktop to give good interactive response times. I have just added a
> module dependency diagram to the web site.