13
A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of Cambridge

A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

Embed Size (px)

Citation preview

Page 1: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

A PPARC funded project

Review of architecture document

Consortium meeting

Edinburgh

December 2004

Guy RixonAstroGrid Technical

ArchitectUniversity of Cambridge

Page 2: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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.

Page 3: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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

Page 4: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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”

Page 5: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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

Page 6: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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.

Page 7: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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.

Page 8: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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.

Page 9: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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

Page 10: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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.

Page 11: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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!

Page 12: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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?

Page 13: A PPARC funded project Review of architecture document Consortium meeting Edinburgh December 2004 Guy Rixon AstroGrid Technical Architect University of

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]