Bulletin of Applied Computing and Information Technology

Home | Issue Index | About BACIT

John Hosking
University of Auckland, New Zealand
j.hosking@auckland.ac.nz

Hosking, J. (2006, October), Setting and Maintaining an Effective Research Agenda. Bulletin of Applied Computing and Information Technology Vol. 4, Issue 2. ISSN 1176-4120. Retrieved from

ABSTRACT

I find myself regularly in the position of advising young academics on how to develop their research careers. I was therefore delighted to have been invited to address the same issue at a recent conference of AUT postgraduate students embarking on their academic careers as it allowed me the opportunity to reflect on my own research career. This viewpoint article is the end result. It is very much a personal perspective describing how my research has developed and changed over the years and, more importantly, some of the generic lessons I believe could be useful for new researchers.

Keywords

Research agenda, research planning, research platforms, collaborative research 

1. INTRODUCTION

I have a relatively eclectic range of research interests which revolve around a central theme of notations and tools, particularly visual notations and tools, which express some form of abstraction and permit modelling using it. Examples of such notations that were influential for me as I grew up include algebraic and chemical formulae, physical models and their mathematical representations (e.g. Newton’s laws) and electronic circuit diagrams. From this base I became interested in programming languages, design environments, and, for the last 15 years, platforms for specifying and implementing design environments, particularly those supporting multiple views and multiple notations. Figure 1 provides an overview of my major research directions over the latter period as a timeline. At the top is an indication of my central theme of interest. Linked from the timeline are the names of various research tools and platforms that I have had a part in developing. As indicated below the timeline, I have had an ongoing interest in developing applications using the research platforms and tools, and commercialization of the ideas and tools developed. The Evolving Platform Pattern Language is a pattern language developed by Roberts and Johnson (1997) which we have gained insight from and contributed extensions to (Hosking et al, 2001) which was only possible due to the long term perspective of our work.


Figure 1: Research interest timeline

MViews (Grundy and Hosking, 1996) and JViews (Grundy et al, 1998) represent our first attempts at design environment frameworks, building on our earlier work in  a design representation language, Kea (Mugridge et al, 1991) and a software design tool, Ispel (Grundy et al, 1991). JComposer (Grundy et al, 2000) was our first attempt at a metatool, i. e a tool for specifying tools, in this case to configure JViews to more rapidly develop JViews based design environments. Pounamu and Marama represent our more recent metatool work (Zhu et al, 2005; Grundy et al, 2006). Pounamu is a stand-alone metatool that can rapidly specify multi-view multi-notation modeling tools. It is live, in the sense that tools are generated and can be modified on the fly, while the tool itself is in use. Marama represents a redevelopment of the Pounamu modeling environment within Eclipse, ie Marama allows Pounamu tool specifications to be realized as Eclipse plugins and itself leverages other Eclipse plug-ins such as GEF and EMF. Figure 2 shows some example tools realized in Pounamu and Marama.


Figure 2. Pounamu and Marama tool examples

Abstracting from my own research group’s experiences in this ongoing programme of work, I see several lessons for emerging, and not so emerging, researchers. These lessons are primarily aimed at those embarking on an academic research career, but, with some adaptation, are applicable for industry research as well. The lessons are:

2. PLATFORMS RATHER THAN PROJECTS

Try to build your research around an ongoing research platform rather than a disconnected set of projects. In my own research group’s case, we have developed a sequence of platforms, in the form of the various frameworks and metatools, each building out of the experience of the preceding work. The platform in this case is a collection of software artefacts, but could just as easily be a set of theoretical techniques or algorithms, or some other set of complex integrated research results. Constructing a research platform gives you a competitive advantage over those who work on disconnected projects as you are eliminating considerable startup overhead and providing a lower barrier for you to engage in more complex projects. This in turn makes it easier for you to obtain research funding as you have the ability to undertake riskier and more leading edge research as your cost of failure is lower.

Having developed a research platform, it is important for you to take a long term view and evolve the platform. If your research platform is a software framework, take in the lessons from the Evolving Frameworks Pattern Language (Roberts and Johnson, 1997) and the related Software Product Line research (Bosch, 2000). You should develop a set of projects that can contribute to the platform and advertise those well to attract good collaborators and students. Be a magpie in this respect: evaluate new techniques or technologies in related areas with respect to their incorporation into or adaptation for use with your platform. The integration is typically interesting research in its own right and the sum is often more useful than the individual parts.

3. TEAMS RATHER THAN INDIVIDUALS

Don’t go it alone in undertaking your research; look to collaborate. This may be within your own university or research institution (often the most productive) or outside. Remember that significant research platforms require significant intellectual resources to develop, so the more you are able to work together with others the more rapidly your research platform will develop. I have been fortunate enough to work with a large number of highly productive colleagues (see the Acknowledgements list) with whom I’ve been able to develop a shared vision and an effective partnership. In building such a team, you may need to adapt what you are doing in order to develop a platform that has a truly shared vision. Such compromises may initially seem counterproductive but in the long term the drawbacks are heavily outweighed by the productivity benefits of working in an effective team.

Building such partnerships with busy colleagues can, however, be difficult. Approaches I have found to be effective are to:

  • Schedule a regular uninterruptible time to meet together as a team to brainstorm research ideas and a research vision, and to catch up on progress each week.
  • Cross mentor within the team: academics mentoring other academics; academics mentoring students; PhD students mentoring Master’s students; and Master’s students mentoring project students. This builds a common culture within the group and gives everyone a shared stake.
  • Co-supervise graduate students together on projects that can be used to initiate a linking of individual research agendas and invite the co-supervisors and students to your group meetings
  • Arrange a one-day workshop/symposium of researchers you want to collaborate with. Include a shared meal and make time for brainstorming collaborative research ideas.

4. WEAVE IN - SPIN OUT

Look to weave new themes into your platform and spin them out into new research threads. This is an elaboration of the magpie concept noted above. Its aim is to leverage your research platform to develop parallel threads, which can sometimes become dominant in your research agenda.

Figure 3 provides two examples from my own research group’s work. The first thread is one revolving around languages and tools for specifying and implementing mappings between schema of various sorts. Our work with Kea, a language for representing building designs and checking them for code of practice compliance, spun out an interest in integrated building design tools. From this interest we developed a demonstration integration toolset using our MViews platform. A key element of this was VML (View Mapping Language) a tool and environment for specifying and implementing complex mappings between design tool schema (Amor et al, 1999). This thread then developed in parallel with and drawing from our metatool work, and included: commercial work with Orion Health designing and prototyping their Symphonia Mapper (Grundy et al, 2001); a system using a form based metaphor for mapping specification (Li et al, 2002), a redevelopment of VML using our Pounamu metatool; a system for automatically inferring mappings between two schema (Bossung et al, 2004); and MaramaVMLPlus, a tool we have on a commercialization path that incorporates many of these ideas and is realized using our Marama metatool.


Figure 3. Weaving in and spinning out parallel research threads

The second example in Figure 3 involves use of sketch based interfaces for expressing designs. Our early work in this area was independent of our metatool platforms and involved development of a stand-alone sketch interface based UML tool, SUMLOW (Chen et al, 2003), built using the LIDS technology developed by colleagues at Waikato and AUT. This independent line has recently been spun into our metatool work by providing a sketching interface to Marama that allows any tool realized using Marama to use a sketch interface.

5. AIM TO BE THE BEST

Don’t set out to be mediocre or that is what you will be. Not everyone is going to be a stellar researcher, but you should strive to excel in all you do. Some strategies you might find useful to develop your own and your group’s potential include:

  • Learn from the best. I mentioned mentoring above. Not only should senior researchers be aiming to mentor junior researchers, but junior researchers should be seeking mentoring opportunities from those who have been successful. Look to collaborate with those whose research you admire.
  • Work with others who want to be the best. I have been extremely fortunate to work with a set of colleagues who themselves strive to excel. Their enthusiasm is infectious particularly when combined with their intellectual curiosity, critical ability and insight.
  • Pick a few things and focus on them rather than spreading resources. This may seem contradictory to the weave-in spin-out and magpie approaches advocated above, but this strategy mainly applies at the early stages where you need to build your name in an area to get yourself established and build enough capability in an area to develop a research platform.

6. GAIN INFLUENCE

This may sound Machiavellian, but the key point here is that for your research career to flourish, you must get the message of your work out, and, as a result, become respected in your research community. Strategies to effectively get your message out include:

  • Chase high ranked publication avenues. This will be dependent on your sub-discipline. The key here is that the higher ranked publications are read by more people and hence have more long term influence. Even if you are rejected, the quality of refereeing means the referees reports are invaluable as a way of improving your paper for recycling to lower ranked publication avenues.
  • Look for opportunities to referee other papers, be a member of a programme committee (particularly of a high quality conference), organize a regional or international conference, or be invited to be an editorial board member. This is more than being a “good citizen”, it’s about people seeing that you are willing to contribute and hence raising your profile in their awareness. Conversely those of us who are senior academics need to look for opportunities to involve our junior colleagues in these activities.
  • Apply for every funding opportunity you can (without spending your whole time writing grant applications - I’ve found the success of my grant applications is perversely often inversely proportional to the time spent on them!). You will be unsuccessful in many, but will typically succeed with some, and the feedback from referees is often useful. Research funding allows you to build capability, attract research students, travel to conferences, meet people and collaborate with them, and have some discretion over obtaining research resources.
  • Get to know people. Scrape together whatever funding you can to visit world class research groups and look for opportunities to collaborate with them. Get to know the PhD students in the groups you visit as they typically have more time to spend with you and often lead to spin-off research collaboration opportunities.

Also, look for the industrial impact of your work, if that is appropriate for your sub-discipline, via commercialization consultancy or other forms of technology transfer. This provides an additional funding avenue, is also a good attractant for prospective research students as you are seen to be doing work that is “relevant”, and provides excellent opportunity for you to build industrial partnerships that you will find useful for grant applications and the like. Typically you will need to adapt what you are doing to make a fit with industry needs. However, my experience is that this is typically win-win; I have yet to do a piece of industrial research that has not resulted in a publication of some sort; and the insights gained by getting you out of your comfort zone are enormous.

7. HAVE FUN

Do things that you, your colleagues and students enjoy doing. Research has to be enjoyable and motivational. Good researchers have a passion for what they are doing which allows them to focus their energies on it, inspire others, and be inspired themselves by other good research work. If it’s too much like hard work, do something else; either change your research topic or look for another career! Life is too short to waste it doing things you don’t like and have no passion for.

8. ACKNOWLEDGEMENTS

I acknowledge the many members of my research team and external collaborators whom I  have worked with over the years, but particularly John Grundy, Rick Mugridge, Robert Amor, John Hamer, Nianping Zhu, Xiaosong Li, Santokh Singh, Hermann Stoeckle, Karen Liu, Richard Li, Rainbow Cai, and Jun Huh. I also acknowledge the support of a variety of funding agencies, particularly FRST, TEC, and AURC, and our many industrial partners, particularly Orion Health, BRANZ, and XSol.

REFERENCES

Amor, R. W, Hosking, J.G., & Mugridge, W.B. (1999) ICAtect-II: A framework for the integration of building design tools, Automation in Construction, 8, 277-289.

Bosch, J. (2000) Design And Use of Software Architectures: Adopting and Evolving a Product-Line Approach, Addison Wesley.

Bossung S., Stoeckle H., Grundy J. C., Amor R.A., & Hosking J.G. (2004). Automated Data Mapping Specification via Schema Heuristics and User Interaction, Proceedings of the 2004 Automated Software Engineering Conference (pp. 208-217).

Chen, Q., Grundy, J.C. , &  Hosking, J.G. (2003) An E-whiteboard Application to Support Early Design-Stage Sketching of UML Diagrams, Proceedings of the 2003 IEEE Symposium on Human Centric Computing Languages and Environments (pp. 219-226).

Grundy, J.C., & Hosking, J.G. (1996). Constructing Integrated Software Development Environments with MViews, International Journal of Applied Software Technology, 2(3/4), 133-160.

Grundy, J., Hosking, J.G., , & Hamer, J. (1991). A visual programming environment for object-oriented languages, in Korson, T., Vaishnavi, V., & Meyer, B. (Eds.), Technology of Object-Oriented Languages and Systems TOOLS 5  Proc of the 5th International Conference Santa Barbara, Prentice Hall, 129-138.

Grundy, J., Hosking, J.G., Zhu, N., & Liu, N. (In press). Generating domain-specific visual language editors from high-level tool specifications.

Grundy, J.C., Hosking, J.G., & Mugridge, W.B. (1998). Inconsistency Management for Multiple-View Software Development Environments, IEEE Transactions on Software Engineering, 24(11), 960-981

Grundy, J.C., Mugridge, W. B., & Hosking, J.G. (2000). Constructing component-based software engineering environments: issues and experiences, Journal of Information and Software Technology, 42(2), 117-128.

Grundy, J.C, Mugridge, W. B., Hosking, J.G., & Kendall, P. (2001). Generating EDI Message Translations from Visual Specifications, Proceedings 2001 IEEE/ACM Automated Software Engineering Conference.

Hosking, J.G., Grundy, J.C., & Mugridge, W. B. (2001) Applying and Evolving the Evolving Frameworks Pattern Language, Proceedings of the  Second Asian Pacific Pattern Languages of Programming Conference, KoalaPLoP '2001,  Melbourne.

Li Y, Grundy J C,  Amor, R A, & Hosking, J G. (2002). A data mapping specification environment using a concrete business form-based metaphor, Proceedings of  IEEE HCC’02 (pp.158-167).

Mugridge, W.B., Hamer, J., & Hosking, J. G.(1991). Multi-methods in a statically-typed programming language. In P. America (Ed.) Lecture Notes in Computer Science 512: ECOOP '91 European Conference on Object-Oriented Programming, Springer-Verlag, pp 307-324.

Roberts, D., Johnson, R., 1997). Patterns for evolving frameworks. In R.C. Martin, D. Riehle, & F. Buschmann (Eds.) Pattern languages of program design 3, Addison-Wesley, 471-486.

Zhu, N., Grundy, J.C., Hosking, J.G.(2005) .Constructing domain-specific design tools with a visual language meta-tool.  In O.Belo, J. E. J. Falcao e Cunha, & O. Pastor (Eds.), Proceedings of the CAiSE 2005 Forum, 139-144

 

Home | Issue Index | About BACIT