TERRAN How to walk the 2.0 roadmap…. Agenda Introduction Concept change: 1.7 versus 2.0 Analyzing...

15
TERRAN How to walk the 2.0 roadmap…

Transcript of TERRAN How to walk the 2.0 roadmap…. Agenda Introduction Concept change: 1.7 versus 2.0 Analyzing...

TERRAN

How to walk the 2.0 roadmap…

Agenda

• Introduction

• Concept change: 1.7 versus 2.0

• Analyzing TERRAN 1.7

• Proposals

Introduction

• Project done for Software Re-engineering

• Key-idea: preparing 1.7 for 2.0

Concept overview of TERRAN 1.7

Concept overview of TERRAN 2.0

Analyzing TERRAN: The good…

• It works!

• Once used to it, you can do fancy things

• Up to date end-user documentation

• Stable, well tested communication protocol

Analyzing TERRAN: …, the bad…

• Too complex for ‘non-IP address PATS-ers’

• No efficient use of available nodes

• Few documentation available about it’s

internal structure

• No tests/ testsuites are available (neither unit

tests, nor end-to-end tests)

Analyzing TERRAN: … & the ugly

• Functionality was added in a ‘Quick & dirty’

fashion

• ‘No design is also a kind of a design’

• Very high coupling grade between classes

• Classes like to play ping-pong for starting an

action

Analyzing TERRAN: Conclusion

• Ambiguous class names

• Many cross-links between classes and

packages

• Too much distributed functionality

• Interfaces may not have been needed initially,

but were never introduced later

Proposals (1)

• New Design One SuperController Many UserControllers per SuperController Many TestControllers per UserController SuperController contains TestQueue and

Scheduler Every GUI connects via the SuperController to its

UserController

Proposals (2)

• Look ahead… Smart-scheduling Webinterface New node-types … (Johan’s list)

• … and implement in a clean way Refactor if necessary Document ‘the internals’ in the TERRAN-Trac

Proposals (3)

• Make the software testable Old code: leave it Refactored code: provide a unit test New code: unit test

• Suggestion: write tests first

Automate end-to-end tests: provide a testbase of TERRAN tests

Questions

• Who would like to participate in the

development of TERRAN

• Which parts of the code do we Refactor Write from scratch

• How to improve code manageability

Design proposal

Current design: Basic class diagram