setting and maintaining a viable research agenda john hosking department of computer science and...

25
Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland [email protected]

Upload: ralf-shepherd

Post on 29-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Setting and maintaining a viable research agenda

John HoskingDepartment of Computer Science andCentre for Software InnovationUniversity of [email protected]

Page 2: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

a = 2.b +c

NaOH + HCl -> NaCl + H2O

v = u + at

s = ut + ½ at2

Page 3: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

• 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

Page 4: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 5: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 6: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 7: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Ispel1991

MViews1993

JViews1997

JComposer1998

Pounamu2003

Marama2005/6

Page 8: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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.

Page 9: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Frameworks forconstructing multi-viewmulti-notation environments

Ispel1991

MViews1993

JViews1997

JComposer1998

Pounamu2003

Marama2005/6

Page 10: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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.

Page 11: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 12: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

JViews & JComposer/BBW

Base CPRG

View Mappings

User Interface

+ Backend code gen

Page 13: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Orion Mapper Prototype

Page 14: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Meta tools for specifying &constructing multi-viewmulti-notation environments

Ispel1991

MViews1993

JViews1997

JComposer1998

Pounamu2003

Kea1989

Marama2005/6

Page 15: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Pounamu & Marama

a b

c

d

e

f

PounamuLightweight UILive changesThin & mobile clients

MaramaEclipse tool generatorExploits GEF, EMF, etcframeworks

Page 16: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland
Page 17: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

• 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

Page 18: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 19: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 20: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 21: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 22: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 23: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Have fun• Do things that you (and your colleagues &

students) enjoy doing

• If it’s too much like hard work do something else!

Page 24: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

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

Page 25: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland

Questions