[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(FC-Devel) AFL 6: critics & ACID partitioning

architecture + feature list part 6

> 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
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.