Setting and maintaining a viable research agenda
John HoskingDepartment of Computer Science andCentre for Software InnovationUniversity of [email protected]
a = 2.b +c
NaOH + HCl -> NaCl + H2O
v = u + at
s = ut + ½ at2
• Visual languages• Design environments• Meta tools• Software engineering• Service oriented
architecture• Aspect oriented
design• Early aspects• Thin client interfaces• Mobile interfaces• Construction Eng• 3D Modelling
• Design patterns• Pattern languages• Process modelling• Data mapping• CSCW• Sketch and pen
based interfaces• Software visualisation• Knowledge mmt• Component based
systems• Cloud Physics• Medical Informatics
Notations + models• maths• chemistry• physics• electronics
Computer science• executable specns• simulation• languages & notations
Design support environments• engineering• software• design notations• expert systems
Platforms for specifying& building design environments• multiple views• multiple notations• consistency & constraints• code generation• notations for end users
Visual knowledge management• visual wikis• KM system spec and generation
Frameworks & meta tools forconstructing multi-viewmulti-notation environments
Design ToolsEngineering,Software
Ispel1991
MViews1993
JViews1997
JComposer/BuildByWire1998
Pounamu2003
Kea1991
Marama2005/6
ClassLanguage1988
VML/VPE1995
VBKE2007
ThinkBase2008
ThinkPedia2008
Visual knowledgemanagement &visual wikis
Frameworks forconstructing multi-viewmulti-notation environments
Meta tools for specifying &constructing multi-viewmulti-notation environments
Evolving Frameworks Pattern Language
Prolog Java Java + Web Services
Eclipse +Java
Applications developed using the frameworks & meta tools
Commercialisation/industry transfer
Ispel1991
MViews1993
JViews1997
JComposer1998
Pounamu2003
Marama2005/6
Ispel1991
MViews1993
JViews1997
JComposer1998
Pounamu2003
Marama2005/6
Which diagonal brace? Steel angle brace Let-in timber Pairs of flat steel strip Pairs of cut-in timber
Is the sheet material on: One Face Both sides
m. Plan Length of Brace m. Length Covered by Full-Height Sheet Material
m. Minimum Length of Brace
B.U.'s of Bracing Provided
Bracing element 3 of Bracing Line A
Help
1.7
external class DiagonalBracesInterface. determinant braceNo : integer. determinant braceLine : text. output minimumLength : metres. output bracingProvided : bu. output lengthError : text. procedure help. input diagonalBrace: [steelAngle, letinTimber,
pairsFlatSteel, pairsCutinTimber]. input sheetMaterial : [oneFace, bothFaces]. input planLength : metres. input sheetLength : metres. external procedure show. external procedure hide.end DiagonalBracesInterface.
class Bracing. generalisation DiagonalBracesInterface. parameter minimumLength, braceNo, braceLine. bracingProvided
:= planLength * sheetLength * buPerMetre. buPerMetre : integer
:= bu(diagonalBrace, sheetMaterial). lengthError
:= ‘The brace must be at least the minimum length.’if diagonal^planLength < minLength
| ‘‘. procedure help.
...end help.
...end Bracing.
Frameworks forconstructing multi-viewmulti-notation environments
Ispel1991
MViews1993
JViews1997
JComposer1998
Pounamu2003
Marama2005/6
MViews• Framework supporting construction of multiple view -
multiple representation design environments• 3-layer architecture
– Base– View– Display
• Changes 1st class• Used to implement
many example visualtools & environments
Display/ExternalLayers
ViewLayers
BaseLayer
class
class
generalisations
window
drawing_window text
text forms
features
class_icon
class_icon
gen_glueclass_text feature_text
text
drawing_window
window
external_class
External Interface(Data/Event interchange)
ExternalTool
...
feature
text forms
view rel. view rel.view rel. view rel. view rel.
Frameworks forconstructing multi-viewmulti-notation environments
Meta tools for specifying &constructing multi-viewmulti-notation environments
Ispel1991
MViews1993
JViews1997
JComposer1998
Pounamu2003
Marama2005/6
JViews:Reimplementation of MViews in JavaJComposer:
Visual tool for specifying the bottom two layers of the three layer JViews model – base (shared model) and view layers plus mappings between
BuildByWireVisual tool for constructing visual components of JViews toolsConstraint based
JViews & JComposer/BBW
Base CPRG
View Mappings
User Interface
+ Backend code gen
Orion Mapper Prototype
Meta tools for specifying &constructing multi-viewmulti-notation environments
Ispel1991
MViews1993
JViews1997
JComposer1998
Pounamu2003
Kea1989
Marama2005/6
Pounamu & Marama
a b
c
d
e
f
PounamuLightweight UILive changesThin & mobile clients
MaramaEclipse tool generatorExploits GEF, EMF, etcframeworks
• Platform versus project• Teams versus individuals• Weave in – spin out• Aim to be the best• Gain influence• Have fun
• Aimed at academiccareer, but applicablein industry research too
Some lessons learnt
Platform versus project• Build your research around a research platform
rather than a disconnected set of projects• Competitive advantage
– lower barrier for more complex projects
• Easier to get funding• Have a set of projects available that can
contribute to the platform• Be a magpie• Take a long term view & evolve the platform –
Evolving Frameworks Pattern Language
Time
3 Examples
White-box Framework Black-box Framework
Component Library
Hot Spots
Pluggable Objects
Fine-grained Objects
Visual Builder
Language Tools
Platform Migration
Application Integration
Reflective Framework
Original Evolving Frameworks Pattern
Language Design Patterns
Our Proposed Extensions to the
EFPL
Self-Extending Framework
Teams versus individuals• Don’t go it alone – look to collaborate
– Within your University– Outside
• You may need to adapt what you are doing to develop a shared platform
• Meet together• Co-supervise• Cross mentor
within the team– PhDs mentoring MScs– MScs mentoring project
students
Weave in – spin out• Weave new themes into your platform and
spin them out into new threads
Ispel1991
MViews1993
JViews1997
JComposer1998
Pounamu2003
Marama2005/6
IntegratedBuilding Design
ViewMappingLanguage
OrionSymphoniaMapper
VMLPlus
MaramaVMLPlus
FormBasedMapper
SoftArch
SoftArchMTE
ArgoMTE
MaramaMTE
PerformanceModelling
ArgoUML
FormCharts
LIDSSketch
SUMLOW
MaramaSketch
Aim to be the best• Don’t set out to be mediocre
• Strategies:– Learn from the best– Work with others who want to be the best– Pick a few things and focus on them rather
than spreading resources
Gain influence• You must get your message out
– Chase high ranked publication avenues– Look for PC memberships -> editorial boards– Get to know people – visit, collaborate
• Look for industrial impact (if appropriate)– Additional funding avenue– Good attraction for students– Typically need to adapt what
you are doing– Typically win-win
Have fun• Do things that you (and your colleagues &
students) enjoy doing
• If it’s too much like hard work do something else!
Acknowledgements• The many members of my research team &
external collaborators, but particularly:
John Grundy Santokh Singh
Rick Mugridge Hermann Stoeckle
Robert Amor Karen Liu
John Hamer Xiaosong Li
Richard Li Rainbow Cai
Nianping Zhu Jun Huh
Christian Hirsch Norhiyati Mohd Ali
Questions