setting and maintaining a viable research agenda john hosking department of computer science and...
TRANSCRIPT
![Page 1: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/3.jpg)
• 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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/16.jpg)
![Page 17: Setting and maintaining a viable research agenda John Hosking Department of Computer Science and Centre for Software Innovation University of Auckland](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/17.jpg)
• 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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062500/56649f455503460f94c66d9e/html5/thumbnails/25.jpg)
Questions