a pparc funded project review of architecture document consortium meeting edinburgh december 2004...
TRANSCRIPT
A PPARC funded project
Review of architecture document
Consortium meeting
Edinburgh
December 2004
Guy RixonAstroGrid Technical
ArchitectUniversity of Cambridge
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 2
Before or after?
Architecture before implementation:PrescriptiveWe didn’t record this centrallyContracts
Architecture after implementation:DescriptiveCurrent document.
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 3
What is “architecture”
“Parts” catalogueCompile time (e.g. classes, source-files)Time of deployment (e.g.WARs, properties file)Run time
InterfacesSyntatic (e.g. WSDL)Semantic
Parts + interfaces = relationshipsRelationships + change control = contracts
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 4
Uses of descriptive architecture
“What does this bit do?”“Where are the classes that do x?”“How does it do y?”“Z doesn’t work; what parts could be at fault?”“What services does this sub-system provide?”“If I change this, what does it affect?”“Which bits do I install on my site?”“You installed this on my site; what for?”“How can I attach my s/w to AstroGrid”
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 5
Prescriptive architecture:Contracts
One contract per major interfaceContracts have version controlSubsystems document their contractsDevelopers may not merge code that breaks contracts
Need to record a new contract version first.
Intelligibility of contract tracks cohesion, coupling
<<subsystem>>Client
<<subsystem>>Supplier
Contract
ICD Behaviour
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 6
Architecture: for whom?
Mainly for engineersAstroGrid developersExternal partners
Some use to service providers“Why am I deploying this part?”“What other parts support this part?”
Passing interest to end usersBecause open source.
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 7
What the architecture doc. is not
The user manualThe science requirementsThe analysis of requirements
Could be stored as appendix to architecture
The project historyLists of technical decisions could be part of the architecture. Q.v Brooks, MM-M.
Therefore, not the best document for some readers.
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 8
Current architecture document (1)
Represents the system at the end of Itn6.As-built description
No prescriptive role……therefore no contracts
Reverse engineeredFrom AstroGrid’s Maven-project structure + live testsTherefore not necessarily accurate……therefore this review.
Preparing to do a major revision for end Itn7.
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 9
Current architecture document (2)
Technical!Based on UML model of system
Built in Together Control Centre
Published on the web:http://astrogrid.ast.cam.ac.uk/architecture-itn6/Most pages generated by TCC from modelA few hand-written essaysGeneral introduction
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 10
Current architecture document (3)
Known problems:Missing essaysNo description of the portalTCC-generated pages unwholesomeSome broken links to external pages (ex Maven)Incomplete mapping of classes in model to Maven projects.Incomplete list of use casesDoesn’t refer back to use cases ex AstroGrid science casesNot well integrated with CVS control.
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 11
Challenges in documenting
The architecture is not simple.Coupling is quite highCohesion is quite low (in some areas)False “information scent”
Javadocs:Good to acceptable at class levelNot much at package level
Portal:Code documentation lacking
Understanding by experiment only possible when the system worksTogether Control Centre
It bites!
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 12
Goals for review groups
Is the overall form of the architecture description acceptable?
If not, would it be acceptable if more complete?
Is the description accurate?Where does it misrepresent the Itn6 system?What has changed since Itn6?
Is the architecture itself “wrong”?What can most usefully be added to the description?
2004-12-14 AstroGrid consortium meeting 2004, Edinburgh Slide 13
Break-out groups
AG “presentation” teamAG “data” teamVisitors and partnersRooms:
Newhaven room (here)Deane room (reception floor)Open area (floor below reception)
Report back after lunch10 – 15 minute summary from each group, please. Further notes welcome by email to [email protected]