Prof. Jeff Kramer
Email: <j.kramer AT SPAMFREE imperial DOT ac DOT uk>
| /AllPapers /SelectedPublications |
Professor of Distributed Computing |
|
Distributed Software Engineering Section |
Page Contents
Research Interests
Distributed computing: architecture description languages and support environments; distributed algorithms; dynamic configuration and self-organising systems.
Software architectures: Architectural Description Languages (ADL): structural concepts; underlying theory; application to the specification, analysis and construction of concurrent and distributed software systems.
Specification and design methods: structural specifications, design techniques and tools for the development of distributed software.
Behaviour analysis: compositional techniques for modelling and analysis of concurrent and distributed systems: Labelled Transition Systems (LTS) and Compositional Reachability Analysis (CRA); probabilistic models.
Requirements analysis: multiple perspectives (ViewPoints): inconsistency; requirements evolution, synthesis of behaviour models from scenarios and goals; experimental plugin version of LTSA
Full Publication List
Book and Course Material
Concurrency: State Models and Java Programs BOOK ( Wiley 2006, 2nd Edition)
- Concurrency Course: A twenty lecture course based on the book.
- The material includes slides, Java applets and the LTSA analysis tool.
Distributed Algorithms Course
- Notes 2005:
Demos: a zip file containing models for several asynchronous algorithms
- Notes 2005:
Awards
Fellow of The Royal Academy of Engineering (FREng) in 2008.
Fellow of The City and Guilds of London Institute (FCGI) in 2007.
Fellow of the ACM, (FACM) 2001 Association for Computing Machinery, New York.
Fellow of The Institution of Engineering and Technology, (FIET) in 1992.
Chartered Fellow of The British Computer Society, (FBCS) in 2005.
ACM SIGSOFT Outstanding Research Award (award) in 2005 for significant and lasting research contributions to software engineering (joint with Jeff Magee).
Most Influential Paper Award (award) at International Conference on Software Engineering (ICSE 2003) for the paper from the ICSE meeting of 10 years previously judged to have had the most influence on the theory or practice of software engineering during the 10 years since its original publication. The award-winning paper is entitled "Expressing the Relationships Between Multiple Views in Requirements Specifications", and was co-authored by B. Nuseibeh and A. Finkelstein and published in the IEEE Proceedings of ICSE-93 held in Baltimore, USA, in May 1993.
Best Paper awards:
Kramer, J., and Cunningham, R.J., "Towards a Notation for the Functional Design of Distributed Processing Systems", (IEEE Int. Conf. on Parallel Processing, 1978), 69-76. Award for the Most Original Paper.
Russo, A. Miller, R., Nuseibeh, B. and Kramer, J., “An abductive approach for analysing event-based requirements specifications”, (International Conference on Logic Programming Copenhagen, Denmark, July 29th - August 1st, 2002). Best Applications Paper Award.
Conference Involvement (2008 ...)
Workshop Co-Chair for ICSE 2008 Workshop on The Role of Abstraction in Software Engineering (ROA '08), Leipzig, May 2008.
RE Member of the Program Board of the 16th IEEE International Requirements Engineering Conference ('08), Barcelona, September 2008.
MODELS Invited Keynote at ACM/IEEE 11th International Conference on Model Driven Engineering Languages and Systems (MODELS 2008), Toulouse, October 2008.
ICSE Member of the Program Committee of 31st ACM/IEEE International Conference on Software Engineering (ICSE 2009), Vancouver, May 2009.
ICSE General Co-Chair for ACM/IEEE International Conference on Software Engineering (ICSE-2010), Cape Town, May, 2010.
Projects
Impact Project: ACM SIGSOFT study of the impact of software engineering research on software engineering practice.
Publications Editor
Editor in Chief of Transactions on Software Engineering (IEEE TSE) (2006 - )
Associate Editor of ACM Transactions on Software Engineering and Methodology (TOSEM) (1995-2001)
Inaugural Lecture as Professor of Distributed Computing
One of the ways in which traditional engineers cope with the design of large and complex systems is to build models, simplified representations of aspects of the real world. These models are used to check particular properties of the system and its environment. Software engineers have also adopted this approach, but tend to disagree about the role of modelling, the form of the models, and the means of relating different models to the software system. For many distributed systems, software architecture can provide a unifying framework for these concerns.
Software architecture is the overall structure of a system in terms of its constituent components and their interconnections. It can be used to provide the "skeleton" upon which to flesh out the particular details of concern. For analysis, we can associate behavioural descriptions with the components and reason about the behaviour of systems composed from these components according to the architecture. For system construction, we can associate implementations with the components of the architecture. Systems developed in this way have an explicit structural skeleton which, being shared, helps to maintain consistency between the system and the various elaborated models.
16th December 1997, Department of Computing, Imperial College.
Vote of Thanks: Prof. Carlo Ghezzi, Dipartimento di Elettronica e Informazione, Politecnico di Milano.

