1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

13
1 G4MICE Design G4MICE Design Iteration Iteration Malcolm Ellis MICE Video Conference 21 st April 2004

Transcript of 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

Page 1: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

1

G4MICE Design IterationG4MICE Design Iteration

Malcolm Ellis

MICE Video Conference

21st April 2004

Page 2: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

2

Iteration ProcessIteration Process

Collect Use Cases Determine User Requirements Identify components (that become classes) Group components into categories (that become

domains) Test some of the design (CRC workshop) Detailed design Begin coding, testing and release procedure… Advertisement for a software course

Page 3: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

3

Use CasesUse Cases

Use Cases list the things that the users (i.e. the collaboration) would like to do with the software (e.g. fit tracks, simulate RF background, etc…)

Use Cases were solicited via email and a web interface, results available here:– http://www.mice.iit.edu/cgi-bin/usecaselist

A few more Use Cases were added during the lead up to the software meeting to try to increase the coverage of the software to include a reasonable set of tasks.

Page 4: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

4

User RequirementsUser Requirements

User Requirements list the specific functionality that the software must have in order to be able to perform all the tasks identified in the Use Cases.

These were identified in the lead-up to the Software Workshop and finalised during the start of the workshop.

Both Use Cases and User Requirements can be found on the design iteration page, which is linked from the software page:

http://www.hep.ph.ic.ac.uk/~ellis/mice_software/software_designs.html

Page 5: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

5

Component IdentificationComponent Identification

During the software workshop, everyone was assigned an area of responsibility and made a first pass at identifying the components (classes) that are needed.

Many of these are the same, or similar, to classes already existing in G4MICE, others are new.

Page 6: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

6

Domains DiagramDomains Diagram

Components that are related, and have similar relationships with other components are grouped into categories, which become domains (e.g. Reconstruction, Visualisation, etc…)

The result of this is a domains diagram, which explicitly shows for a given domain what it depends on and what depends on it.

This has implications for compilation and testing. The domains diagram can be seen on the design

iteration page in GIF and PS formats.

Page 7: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

7

Domains DiagramDomains Diagram•DetModel – model of theexperiment•EventModel – the classes that are needed to make simulation look like real data•DetRep – representations of the experiment•Analysis – classes/code to perform useful tasks•Applications – where the executables are built

Page 8: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

8

CRC WorkshopCRC Workshop

At this stage, we had a rough design for most of the software and a slightly more detailed design for some of the components.

We wanted to test the design of the particle ID related classes that we had at that point, and so conducted a CRC workshop.

This allowed us to test the interfaces between classes and the implementation of various tasks, and allowed us to improve on the original design.

I hope it also helped to give a better idea for how objects interact in an Object Oriented manner.

Page 9: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

9

Workshop ResultsWorkshop Results

By the end of the workshop, we had achieved the following:– Completed Use Cases and Requirements– Determined components and categories– Started detailed design process– Documented all work done so far

A design document can be found here:– http://www.hep.ph.ic.ac.uk/~ellis/mice_software/design_iter1/mice_architectural.v1r2.doc

Page 10: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

10

Detailed DesignDetailed Design

This process is now being carried out in parallel by the software group.

Each person is to give a report on their design for the scrutiny of the group in coming software phone meetings (SciFi related code is the first, at next week’s meeting)

As additions and modifications are approved, they will be incorporated into the design documents and diagrams available on the web

Page 11: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

11

Coding, testing and releaseCoding, testing and release

The detailed design should be completed by the summer.

Yagmur has already prepared CVS areas for the new code (so that it can grow separately from the current version) and as designs are approved, the corresponding code will be added to the repository.

In the lead-up to the change over to the new software, tests will be written to cover all Use Cases, and the correct release procedure will be used for all subsequent releases.

Page 12: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

12

Software CourseSoftware Course Simone Giani is a software engineering and project

management expert whose expertise has been invaluable to HARP and who has already helped MICE a lot.

Simone and I are currently putting together a hands-on course to cover the full software cycle from specifications and design, through implementation and testing, to delivery and operation of a product.

The idea is that there would be two 1 week courses (the first at the end of August) where the theory and execution of best-practise software engineering will be studied.

At the moment, it looks like the best time is outside of term (due to teaching commitments), but just before or after, to catch people before they go on holiday.

Page 13: 1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.

13

Software CourseSoftware Course

At the moment, we are considering several UK locations for the two weeks (e.g. Brunel and Glasgow).

Anyone (students, post-docs, professors) who can contribute to the MICE software effort and who would like to learn about software engineering as we would like to implement it in MICE is encouraged to let me know.

Although we will hold it in the UK, it will not be restricted just to UK participation.

Please let me know if you are interested, and how many people from your institute may be able to come.