130 likes | 372 Views
abstract an event flow into records. unobtrusively validate records with principals ... Graphic design by Kate Liu. http://ideanest.com/happylemon. Piotr ...
E N D
Reefan autonomic design scribe Piotr Kaminski University of Victoria
Modeling Quandary • Models are useful • for design exploration • for understanding • UML is the de-facto standard for OO systems • good for human-to-human communication • “UML as sketch” [Fowler] • Software is malleable • models lag behind code, can’t be trusted University of Victoria
Agility & Scribes • Agile software development • A little informal up-front design • Source code is the primary artifact • Small teams, short iterations • Scribes record, abstract, and communicate … offload documentation from principals … don’t get in the way University of Victoria
Reef Usage Scenario University of Victoria
Potential Benefits • Diagrams produced in small iterations • non-invasive, more accurate • design feedback loop • Lower documentation maintenance costs • Trustworthy documentation throughout the development process • Zero-install client • viral spread, service business model University of Victoria
Diagram Editor • Refinement-oriented GUI • Action amplification • Animated evolution visualization University of Victoria
Server Process Flow • All data in an XML DB, accessed with XQuery • Coupled static and dynamic fact extractors • Compound origin analysis • Incremental global heuristic diagram layout University of Victoria
Autonomic Scribes • Scribes • abstract an event flow into records • unobtrusively validate records with principals • Autonomic in two ways: • manage records according to policies • manage human involvement • skills, availability • communication channels • bother vs. risk trade-off University of Victoria
Piotr Kaminski piotr@ideanest.com http://ideanest.com/reef Graphic design by Kate Liu http://ideanest.com/happylemon
Why Not Eclipse? • Reef is not an Eclipse plug-in because of • reach and adoptability • front-end performance requirements • code proximity unnecessary (or detrimental) University of Victoria
Reef Architecture University of Victoria
How is it different? • Autonomic doc. actively seeks validation • Action amplification instead of explicit scripting • Target audience is primary developers, not maintainers University of Victoria
Modeling Quandary • Models are useful for understanding • but only if they accurately reflect the system • One size does not fit all • keep obsolete models around (status quo) • let obsolete models die (agile modeling) • maintain model religiously (formal process) • link model tightly to system (tripless) • the model is the system (model-driven dev.) • models on demand (reverse engineering) University of Victoria