Imperial College London

Professor Jeff Magee

Faculty of EngineeringDepartment of Computing

Emeritus Professor of Computing
 
 
 
//

Contact

 

+44 (0)20 7594 8601j.magee Website

 
 
//

Assistant

 

Mrs Clare Pearson +44 (0)20 7594 8601

 
//

Location

 

2.06Faculty BuildingSouth Kensington Campus

//

Summary

 

Publications

Publication Type
Year
to

202 results found

Magee JN, Eisenbach S, Kramer J, 1994, Modelling Darwin in the ?-calculus, International Workshop, International Workshop on Theory and Practice in Distributed Systems, Publisher: Springer Verlag, Pages: 133-152

Conference paper

Eisenbach S, Kramer J, Magee J, 1994, Specifying the Concurrent Programming System\r\nRegis in the Pi-Calculus\r\n, Proceedings IEEE 2nd Int. Workshop on Configurable Distributed Systems (IWCDS-2), Pages: 1-4

Conference paper

Magee JN, Dulay N, Kramer J, 1994, Regis: A Constructive Development Environment for Distributed Programs, Distributed Systems Engineering Journal, Vol: 1, Pages: 304-312

Journal article

Magee JN, Eisenbach S, Kramer J, 1994, Modelling Darwin in the Pi-calculus, International Workshop on Theory and Practice in Distributed Systems, Publisher: Springer-Verlag

Conference paper

Magee JN, 1994, Configuration of Distributed Systems, Network and Distributed Systems Management, Editors: Sloman, Publisher: Addison Wesley

Book chapter

Magee JN, Dulay N, Kramer J, 1994, A Constructive Development Environment for Parallel and Distributed Programs, Proceedings 2nd IEEE International Workshop on Configurable Distributed Systems (IWCDS-2), Publisher: IEEE Computer Society Press, Pages: 4-14

Conference paper

Magee JN, Dulay N, Kramer J, 1994, A Constructive Development Environment for Parallel and Distributed Programs, Proceedings 2nd IEEE International Workshop on Configurable Distributed Systems (IWCDS-2), Publisher: IEEE Computer Society Press, Pages: 4-14

Conference paper

Magee JN, Dulay N, Kramer J, 1994, Regis: A Constructive Development Environment for Distributed Programs, Distributed Systems Engineering Journal, Vol: 1, Pages: 304-312

Journal article

Magee J, Kramer J, Sloman M, Dulay Net al., 1994, Configuring Object Based Distributed Programs in REX, Distributed Computing Systems, Publisher: IEEE Computer Society Press, Pages: 187-205

Book chapter

Eisenbach S, Kramer J, Magee JN, 1994, Regis-Darwin specified in the p-Calculus, Proceedings IEEE 2nd Int. Workshop on Configurable Distributed Systems (IWCDS-2), Pittsburgh

Conference paper

MAGEE J, DULAY N, KRAMER J, 1993, STRUCTURING PARALLEL AND DISTRIBUTED PROGRAMS, SOFTWARE ENGINEERING JOURNAL, Vol: 8, Pages: 73-82, ISSN: 0268-6961

Journal article

Kremien O, Kramer J, Magee J, 1993, Scalable, Adaptive Load Sharing for Distributed Systems, IEEE Parallel and Distributed Technology, Vol: 1, Pages: 62-70, ISSN: 1063-6552

This flexible load-sharing algorithm achieves scalability by partitioning a system into domains. Each node dynamically and adaptively selects other nodes to be included in its domain. © 1993, IEEE. All rights reserved.

Journal article

KRAMER J, MAGEE J, SLOMAN M, DULAY Net al., 1992, CONFIGURING OBJECT-BASED DISTRIBUTED PROGRAMS IN REX, SOFTWARE ENG J, Vol: 7, Pages: 139-149, ISSN: 0268-6961

The popularity of the object-oriented programming paradigm has stimulated research into its use for parallel and distributed programming. The major issues that affect such use are concurrency control, object interfaces, binding and inheritance. In this paper, we discuss the relative merits of current solutions to these issues and describe an approach based on the use of active objects with essentially explicit interfaces and bindings, and composition as a pragmatic alternative to inheritance. The key feature of our approach is the use of a configuration language to define program structure as a set of objects and their bindings. The configuration language includes facilities for hierarchic definition of composite objects, parameterisation of objects, conditional configurations and recursive definition of objects. This separate and explicit description of program structure complements object-oriented programming. The approach is illustrated by examples from the REX environment for the development of parallel and distributed software.

Journal article

Magee J, Dulay N, Kramer J, 1992, Structuring parallel and distributed programs, Pages: 102-117

Darwin is a configuration language which allows distributed and parallel programs to be structured interns of groups of process instances which communicate by message passing. In addition to expressing static structure, Darwin can be used to express structures which change dynamically as execution progresses. The paper presents a set of examples illustrating the use of Darwin in constructing parallel programs. Since processes can be considered to be an abstraction of physical processors, Darwin can also be used to describe the hardware structure of distributed memory multicomputers in terms of processors and their interconnection. The paper illustrates this for a multicomputer constructed from transputers and shows its use in the process of mapping the logical structure of a parallel program to the physical hardware.

Conference paper

Magee J, Dulay N, 1992, A configuration approach to parallel programming, Future Generation Computer Systems, Vol: 8, Pages: 337-347, ISSN: 0167-739X

This paper advocates a configuration approach to parallel programming for distributed memory multicomputers, in particular, arrays of transputers. The configuration approach prescribes the rigorous separation of the logical structure of a program from its component parts. In the context of parallel programs, components are processes which communicate by exchanging messages. The configuration defines the instances of these processes which exist in the program and the paths by which they are interconnected. The approach is demonstrated by a toolset (Tonic) which embodies the configuration paradigm. A separate configuration language is used to describe both the logical structure of the parallel program and the physical structure of the target multicomputer. Different logical to physical mappings can be obtained by applying different physical configurations to the same logical configuration. The toolset has been developed from the Conic system for distributed programming. The use of the toolset is illustrated through its application to the development of a parallel program to compute Mandelbrot sets. © 1992.

Journal article

Magee J, Dulay N, 1992, MP: A Programming Environment for Multicomputers., Publisher: North-Holland, Pages: 1-16

Conference paper

Kramer J, Magee J, Sloman M, 1992, Configuring distributed systems., Publisher: ACM

Conference paper

MAGEE JN, CHEUNG SC, 1991, PARALLEL ALGORITHM DESIGN FOR WORKSTATION CLUSTERS, SOFTWARE-PRACTICE & EXPERIENCE, Vol: 21, Pages: 235-250, ISSN: 0038-0644

Journal article

MAGEE J, DULAY N, 1991, A CONFIGURATION APPROACH TO PARALLEL PROGRAMMING, LECTURE NOTES IN COMPUTER SCIENCE, Vol: 506, Pages: 313-330, ISSN: 0302-9743

Journal article

MAGEE J, DULAY N, 1991, A CONFIGURATION APPROACH TO PARALLEL PROGRAMMING, BIANNUAL CONF ON PARALLEL ARCHITECTURES AND LANGUAGES EUROPE ( PARLE 91 ), Publisher: SPRINGER-VERLAG BERLIN, Pages: 313-330

Conference paper

Kramer J, Sloman M, Magee J, 1991, Software Configuration Techniques In Operational Systems, Control and Dynamic Systems: Advances in Theory and Applications, Publisher: Academic Press, Pages: 325-356

Book chapter

Kremien O, Kramer J, Magee J, 1990, Rapid assessment of decentralized algorithms, Pages: 329-335

The overall aim of the research described is to investigate the use of scalable, decentralized state-feedback algorithms for distributed systems resource management. These algorithms are required to be efficient and to respond to system changes in real time but have to base their decisions on incomplete and inaccurate information of the system state. A description is also given of CNCSIM, a software tool developed to support designers in distributed algorithms modeling. Specifically, CNCSIM, which is oriented towards the rapid assessment of decentralized load-sharing algorithms for distributed systems, is a distributed discrete event-driven simulator implemented in CONIC. It provides predictions of response time and other performance measures as a function of offered load, and allows tracing of the progress through the system of each message/event to facilitate model validation and analysis. An algorithm for time advancement in distributed simulation, which is part of CNSCIM, is presented.

Journal article

Kramer J, Magee J, Young A, 1990, Towards unifying fault and change management, Proceedings. Second IEEE Workshop on Future Trends of Distributed Computing Systems Proceedings. Second IEEE Workshop on Future Trends of Distributed Computing Systems, Pages: 57-63

A basic model for dynamic change management is proposed which permits changes to be specified declaratively at the configuration level in terms of structure only. Component nodes can be created and deleted and interconnections made and broken. Rules are provided which permit configuration management to identify the affected part of the system and to generate the required operational changes. These operations change the state of the selected component nodes to that suitable for reconfiguration, perform the particular structural changes, and provide the sequencing of the actions. A node responds by performing node-level actions to maintain local and intermode consistency. This model also provides a sound basis for the management of faults where failure of a component node is modeled as arbitrary deletion. The first steps toward unifying the management of dynamic change and fault recovery are described.

Journal article

Magee J, Kramer J, Sloman M, Dulay Net al., 1990, An overview of the REX software architecture, Pages: 396-402

The authors describe the software architecture currently under development for the REX (Reconfigurable and Extensible Parallel and Distributed Systems) project, supported by the European Economic Community under the ESPRIT II initiative. The architecture is aimed at supporting the construction of reconfigurable and extensible parallel and distributed systems. The main principle underlying this architecture is that systems should be described, constructed, and modified as a structural configuration of interconnected component instances. The structure should be described by a separate explicit configuration language allowing components to be programmed in a range of heterogeneous programming languages. The authors give an informal description of the three elements of the architecture, namely, an interface specification language, a set of communication primitives, and a language for describing overall system structure, called Darwin. Examples of the use of these are given, together with an overview of how they integrate to support construction and reconfiguration of distributed systems.

Conference paper

KRAMER J, MAGEE J, 1990, THE EVOLVING PHILOSOPHERS PROBLEM - DYNAMIC CHANGE MANAGEMENT, IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, Vol: 16, Pages: 1293-1306, ISSN: 0098-5589

Journal article

Kramer J, Magee J, Finkelstein A, 1990, A constructive approach to the design of distributed systems, Pages: 580-587

A constructive design approach to distributed systems is described. The approach is illustrated by a model airport shuttle system, which is implemented in an environment for distributed programming called Conic. The main principles on which the constructive approach is based are those of explicit system structure and context-independent components. Structure is explicitly described and preserved during the software development process, from initial design to actual system construction and evolution. Thus the main structural design information is retained in the constructed system itself. The second principle, that of context independence of components, reduces the design and implementation effort by facilitating early identification of component types and component interface specifications.

Conference paper

Sloman M, Kramer J, Magee J, 1990, Configuration Support for System Description, Construction and Evolution, Managing Complexity in Software Engineering, Publisher: Peter Peregrinus, Pages: 247-260

Book chapter

Kramer J, Magee J, Ng K, 1989, Graphical support for configuration programming, Proceedings of the Hawaii International Conference on System Science, Vol: 2, Pages: 860-870, ISSN: 0073-1129

Most systems and programs are constructed and managed in terms of their software configuration, that is, the set of constituent software components together with their control and communication interconnections. A graphical system that integrates the textual and graphical information required for configuration programming called Conic is described. It provides stand-alone editing and online configuration monitoring and management tools. The issues raised by graphical configuration programming and management are discussed. The graphical workstation, Conicdraw, is described. Examples and experience using the approach in the Conic environment for distributed and concurrent systems are presented.

Journal article

KRAMER J, MAGEE J, SLOMAN M, 1989, MANAGING EVOLUTION IN DISTRIBUTED SYSTEMS, Software Engineering Journal, Vol: 4, Pages: 321-329, ISSN: 0268-6961

Journal article

KRAMER J, MAGEE J, NG K, 1989, GRAPHICAL CONFIGURATION PROGRAMMING - THE STRUCTURAL DESCRIPTION, CONSTRUCTION AND EVOLUTION OF SOFTWARE SYSTEMS USING GRAPHICS, COMPUTER, Vol: 22, Pages: 53-65, ISSN: 0018-9162

Journal article

This data is extracted from the Web of Science and reproduced under a licence from Thomson Reuters. You may not copy or re-distribute this data in whole or in part without the written consent of the Science business of Thomson Reuters.

Request URL: http://wlsprd.imperial.ac.uk:80/respub/WEB-INF/jsp/search-html.jsp Request URI: /respub/WEB-INF/jsp/search-html.jsp Query String: id=00003694&limit=30&person=true&page=6&respub-action=search.html