Dublin University Crest Computer Science Department, Trinity College Trinity College Crest


Prof. William Harrison (Bill), Fellow Emeritus

Photo of Bill Harrison Having retired from the post of SFI Research Professor in the School of Computer Science and Statistics at Trinity College Dublin, I remain a Fellow Emeritus, am interested in finding better support for software development in a 21st century context.
These links will lead you to more information on what I'm doing or how to reach me:

Contact Information

Postal Address:Department of Computer Science, Trinity College, Dublin 2
e-mail:image of e-mail address

Current Research / Background

New environments for computing have emerged since advent of “Object Oriented” programming two decades ago requiring more loosely and dynamically coupled software. Responses to these changes have included Aspect-Oriented Software Development, Service-oriented Architectures, Ubiquitous Computing, and Grid Computing. All have in common a more dynamic, late-bound relationship between clients and services than is well-supported by today's programming languages.. In this world, concern with reusability at development time must give way to concern with malleability at run-time. This demands re-examination and removal of the limitations on flexibility imposed by the conventional view of programming-languages.

Prior to coming to Trinity College, I was with the IBM Thomas J. Watson Research Center where I have played a leading role in many research efforts, including:
Concern Manipulation Environment an Eclipse Open-source Technology Project intended to assist and provide a basis for common efforts of:
  • Software developers who want to use an aspect-oriented software development (AOSD) approach to simplify their existing or new software, whether or not it was originally developed using AOSD technologies, and
  • AOSD tool providers and researchers, who seek to provide novel aspect-related technologies and paradigms, and make these available to the development community in an integrated development environment.
Tengger a technology and tool for applying Hyper/J composition to UML Design and Java Code, generating the Java code implied by UML for the entities, attributes, and relationships an composing the generated material with separately developed Hyperslices that realise the UML-specified operations.
MessageCentral a technology base for assisting with component integration by automatically creating the interface and conversion glue needed when software components use mismatching definitions for the messages they interchange.
Subject-Oriented Programming and Hyper/J are among the earlest approaches for Aspect-Oriented Software Development, providing a paradigm for design and implementation of component-based software using composition of independently specified and developed concerns.
the RPDE3 Integrated Software Development Environment intended to facilitate the development of software and other applications exploiting mixed text and graphic styles and reuse through software information-retrieval to improve the human interaction with the process of industrial software development
the Experimental Compiling System (ECS) a general-purpose program analysis and optimization system and compiler structure exploiting the idea that analysis and transformation could replace special-case description and improve the reliability of optimizing compilers

Publications

Refereed publications

    Recognized Publications

  1. At OOPSLA 2006: as one of the 3 most influential OOPSLA papers 1986-1996
    William Harrison and Harold Ossher, Subject-Oriented Programming - A Critique of Pure Objects, Proceedings of 1993 Conference on Object-Oriented Programming Systems, Languages, and Applications, September 1993
  2. At ICSE 2009: as the most influential paper of ICSE 1999
    Harold Ossher, Peri Tarr, William Harrison, Stanley Sutton, N Degrees of Separation: Multi-Dimension Separation of Concerns, Proceedings of 1999 International Conference on Software Engineering, May 1999

    Service-oriented Networks and
    Programming Language for Malleability and Concurrency

  3. William Harrison, Modularity for the Changing Meaning of Changing, Proceedings of the 10th Annnual Conference on Aspect-Oriented Software Development, Pernambuco, Brazil, March 21–25, 2011. (to appear)
  4. Dominik Dahlem, Jim Dowling, William Harrison, Cognitive Policy Learner: Biasing Winning or Losing Strategies, Proceedings of the Tenth International Conference on Autonomous Agents and Multiagent Systems, Taipei, Taiwan, May 2-6, 2011 (to appear)
  5. S. Brennan, S. Fritsch, Y. Liu, A. Sterritt, J. Fox, E. Linehan, C. Driver, R. Meier, V. Cahill, W. Harrison, and S. Clarke, A Framework for Flexible and Dependable Service-oriented Embedded Systems, Architecting Dependable Systems VII (ADS VII), vol. LNCS 6420: Springer-Verlag Berlin Heidelberg, 2010, pp. 123-145.
  6. Dominik Dahlem, William Harrison. Collaborative Function Approximation in Social Multiagent Systems, Proceedings of the 2010 International Conference on Social Networks Analysis and Mining, Toronto, Canada, Aug 31-Sep 3, 2010.
  7. William Harrison, Malleability, Obliviousness and Aspects for Broadcast Service Attachment, in Proceedings of Ninth Workshop on Aspects, Components, and Patterns for Infrastructure Software , Rennes, France, 16 March 2010, 2010
  8. Dominik Dahlem and William Harrison. Globally Optimal Multi-agent Reinforcement Learning Parameters in Distributed Task Assignment, Intl Joint Conf on Web Intelligence and Intelligent Agent Technology (WI/IAT'09), Milan, Italy, September, 2009, pp. 28-35
  9. David Lievens, Tim Walsh, Dominik Dahlem, William Harrison. Promoting Evolution Through Abstraction Over Implementation Structure, Proceedings Companion of the 31st International Conference on Software Engineering, 31st International Conference on Software Engineering, Vancouver, Canada, May 16-19, 2009.
  10. Dominik Dahlem, William Harrison. Waiting Time Sensitivities of Social and Random Graph Models, Proceedings of the 2009 International Conference on Social Networks Analysis and Mining, The 2009 International Conference on Social Networks Analysis and Mining, Athens, Greece, July 20-22, 2009.
  11. David Lievens, Willliam Harrison. Symmetric encapsulated multi-methods to abstract over application structure, Proceedings of the 24th Annual ACM Symposium on Applied Computing, Symposium on Applied Computing, Honolulu, HI, March 8-12, 2009, ACM, 2009, pp. 1873 - 1880
  12. William Harrison. De-constructing and Re-constructing Aspect-Orientation, Seventh Annual Workshop on Foundations of Aspect Languages, Brussels, Belgium, 1 April, 2008, edited by Gary T. Leavens , ACM Digital Library, 2008, pp. 43-50
  13. William Harrison, Harold Ossher, Peri Tarr. General Composition of Software Artifacts, Proceedings of Software Composition Workshop 2006, March 2006, Springer-Verlag, LNCS 4089, pages 194-210

    Software Design and Engineering

  14. Alexandre Bergel, William Harrison, Vinny Cahill, Siobhan Clarke, FlowTalk: Language Support for Long-Latency Operations in Embedded Devices, IEEE Transactions on Software Engineering, (to appear)
  15. William Harrison, David Lievens, Fabio Simeoni, Safer Typing of Complex API Usage through Java Generics, Proc. Conferences on the Principles and Practices of Programming in Java, Calgary, Alberta, Canada, August, 2009
  16. William Harrison, Charles Barton, Mukund Raghavachari, Mapping UML Designs to Java, Proceedings of 2000 Conference on Object-Oriented Programming Systems, Languages, and Applications, Minneapolis 2000
  17. William Harrison, Harold Ossher, and Peri Tarr, Software Engineering Tools and Environments: A Roadmap, in "Future of Software Engineering," Anthony Finkelstein (Ed.), ACM Press, June 2000.
  18. Craig Chambers, William Harrison, John Vlissides. A Debate on Language and Tool Support for Design Patterns, Proceedings of the Twenty-seventh ACM Symposium on Principles of Programming Languages, January 2000

    Subject-oriented programming (Aspect-oriented software development)

  19. W. Harrison, H. Ossher, S. Sutton, and P. Tarr, Supporting aspect-oriented software development with the Concern Manipulation Environment, IBM Systems Journal, Vol. 44, No. 2, June, 2005
  20. William Chung, William Harrison, Vincent Kruskal, Harold Ossher, Stanley M. Sutton, Jr. and Peri Tarr Working with Implicit Concerns in the Concern Manipulation Environment, AOSD'05 Workshop on Linking Aspect Technology and Evolution, March, 2005
  21. William Chung, William H. Harrison, Vincent J. Kruskal, Harold Ossher, Stanley M. Sutton Jr., Peri L. Tarr, Matthew Chapman, Andrew Clement, Helen Hawkins, Sian January, The concern manipulation environment. ICSE 2005: 666-667
  22. P. Tarr, H. Ossher, S. M. Sutton Jr. , and W. Harrison, N Degrees of Separation: Multi-Dimensional Separation of Concerns, as Chapter 3 of Aspect-Oriented Software Development, (R. Filman, T. Elrad, S Clarke, M. Aksit, ed.), Addison-Wesley, 2004
  23. William Harrison and Harold Ossher, Member-Group Relationships Among Objects, Proceeding of the First ACM International Conference on Aspect-Oriented Software Development Workshop on Foundations of Aspect Languages, Enschede, Netherlands, April 2002.
  24. William Harrison, Harold Ossher, Peri Tarr, Siobhán Clarke, Subject-Oriented Design: Towards Improved Alignment of Requirements, Design, and Code, Proceedings of 1999 Conference on Object-Oriented Programming Systems, Languages, and Applications, November 1999
  25. H. Ossher, M. Kaplan, A. Katz, W. Harrison, V. Kruskal, Specifying Subject-Oriented Composition, Theory and Practice of Object Systems, Wiley & Sons, Vol. 3 No. 2, 1996
  26. W. H. Harrison, H. Kilov, H. L. Ossher, I. Simmonds, From Dynamic Supertypes to Subjects: A natural way to specify and develop systems, IBM Systems Journal, June 1996
  27. Hafedh Mili, William Harrison, Harold Ossher, Supporting Subject-Oriented Programming in Smalltalk, Proceedings of TOOLS USA 96, August 1996
  28. Harold Ossher, Matthew Kaplan, William Harrison, Alexander Katz and Vincent Kruskal, Subject-Oriented Composition Rules, Proceedings of 1995 Conference on Object-Oriented Programming Systems, Languages, and Applications, October 1995
  29. Harold Ossher, William Harrison, Frank Budinsky, and Ian Simmonds, Subject-Oriented Programming: Supporting Decentralized Development of Objects, Proceedings of the 7th IBM Conference on Object-Oriented Technology, July, 1994
  30. Harold Ossher and William Harrison, Combination of Inheritance Hierarchies, Proceedings of 1992 Conference on Object-Oriented Programming Systems, Languages, and Applications, October 1992

    Infrastructure for software development and other cooperative tool environments

  31. William Harrison, Version Coherence in Fine-Grained Object Storage and Its Interoperation with the PCTE Versioning Model, Proceedings of the 1994 Conference on Portable Common Tools Environment, November 1994
  32. William Harrison, Harold Ossher, and Mansour Kavianpour, Eric Wong, PCTE SDS's for Modeling OOTIS Control Integration Proceedings of the 1993 Conference on Portable Common Tools Environment, November 1993
  33. William Harrison, Harold Ossher, and Mansour Kavianpour, Extending PCTE for Transparent Fine-Grained Object Access in OOTIS, Proceedings of the 1993 Conference on Portable Common Tools Environment, November 1993
  34. William Harrison and Harold Ossher, "Attaching Instance Variables to Method Realizations Instead of Classes", Proceedings of the 1992 International Conference on Computer Langauages, April, 1992

    Software development environments

  35. William Harrison and Harold Ossher, RPDE3 - An Environment Framework Supporting Change, Proceedings of the 1991 Conference on Object-Oriented Programming Systems, Languages, and Applications, Workshop on Object Management and Tool Integration Mechanisms in Object-Oriented Program Development Environments, October 6, 1991
  36. Harold Ossher and William Harrison, Support for Change in RPDE3, Proceedings of the Fourth Symposium on Software Development Environments, December 1990
  37. William Harrison, Harold Ossher and Sweeney P., Coordinating Concurrent Development, Proceedings of the Third Conference on Computer Supported Cooperative Work, October 1990
  38. William Harrison, Harold Ossher, Subdivided Procedures: A Language Extension Supporting Extensible Programming, Proceedings IEEE Computer Society 1990 International Conference on Computer Languages, March 1990
  39. William Harrison, John Shilling, Peter Sweeney, Good News, Bad News: Experience Building a Software Development Environment Using the Object-Oriented Paradigm, Proc. 1989 Conference on Object-Oriented Programming Systems and Languages, Oct. 1989
  40. William Harrison, The RPDE3 Environment - A Framework for Integrating Tool Fragments, IEEE Software, November 1987
  41. William Harrison, A Program Development Environment for Programming by Refinement and Reuse, Proceedings of Nineteenth Hawaii International Conference on System Sciences, January 1986

    Compilers and program analysis

  42. William Harrison, A New Strategy for Code Generation - the General Purpose Optimizing Compiler, IEEE Transactions on Software Engineering, July 1979
  43. William Harrison, Compiler Analysis of the Value Ranges of Variables, IEEE Transactions on Software Engineering, May 1977
  44. William Harrison, A New Strategy for Code Generation - the General Purpose Optimizing Compiler, Proceedings of the Fourth ACM Symposium on Principles of Programming Languages, January 1977
  45. William Harrison, Mary Harrison, The Implementation of APL on an Associative Processor, Proceedings of the Sagamore Conference on Parallel Processing, August 1974, (Springer-Verlag)

Lecture and conference activity (excluding papers)

    Programming Technology

  1. Invited Debater (vs. J. Vlissides and C. Chambers) "Language and Tool Support for Design Patterns", Twenty-seventh ACM Symposium on Principles of Programming Languages, January 2000
  2. Program Committee 1995 Conference on Object-Oriented Programming Systems, Languages, and Applications, October 1995
  3. Invited Panelist on "Meta-modelling and Tool Modelling" at TOOLS USA 95, August 1995
  4. Invited Tutorial Lecture on "Concepts and Techniques in Object-Oriented Software" at the Twenty-first ACM Symposium on Principles of Programming Languages, January 1994
  5. Invited Panelist on "Tool Integration Frameworks" at COMSAC'93 Conference, November, 1993
  6. Keynote Speaker at "Experts Meeting on Object-Oriented Computing Research & Development", on "Open Systems -> Open Objects, Fine-Grained Persistent Object Stores as the Basis for Open Environment Structures", May 21-23, 1991
  7. Chair of "Object-Oriented Database Systems" Workshop at Experts Meeting on Object-Oriented Computing Research & Development, May 21-23, 1991
  8. "Structural Development Environments and Their Impact on the Practice of Programming", Invited Paper at 1989 World Conference on Information Processing & Communication, Seoul, Korea, June 1989

    Software development environments

  9. "Structural Development Environments and Their Impact on the Practice of Programming", Invited Lecture at 1988 IEEE Symposium on Software Quality, New York, November, 1988
  10. IEEE Computer Society Distinguished Visitor 1987-1990 Lecturing on "Issues in the Construction of Development Environments" and on "Trends in Development with Development Environments",
  11. IBM Computer Science University Lecture Series Lecturer on "Issues in the Construction of Development Environments", 1987-1990
  12. Invited Presentation on "Structural Development Environments", IBM Research Computer Science Technical Symposium, November 1987-1990
  13. Invited Lecturer on "Issues in the Construction of Development Environments" and on
  14. "Trends in Development with Development Environments", International Seminar on Programming Environments, Newcastle U.K., September 1986

    Compilers and program analysis

  15. Program Committee, Tenth ACM Symposium on Principles of Programming Languages, January 1983
  16. Program Committee, Ninth ACM Symposium on Principles of Programming Languages, January 1982
  17. Invited Debater (vs. S. Johnson) "The Role of Global Optimization in Compilers of the Future", Eighth ACM Symposium on Principles of Programming Languages, January 1981
  18. Program Committee First ACM SIGPLAN Conf. on Compiler Construction, August 1979

[Personnel] [Update your entry] [Computer Science] [Trinity College Dublin]
Last modified: Tue, 2 Aug 2005 12:06

URL: https://www.cs.tcd.ie/Bill.Harrison
Bill dot Harrison at cs dot tcd dot ie