Jeff Magee

dblp:m/JeffMagee · also Jeff N. Magee · DBLP profile ↗
← Back
59ranked-venue papers
10as first author
1since 2021 · last 2025
0000-0003-3597-6065ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 46 · 8 first-author · 1 since 2021Systems, architecture and hardware · 3 · 1 first-authorComputer networks · 2Theory of computation · 2Security and privacy · 1Graphics, computer vision, multimedia, augmented reality and games · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
22 papers
Requirements engineering and software design · 68% Program verification · 11% Services computing and microservices · 8%
Computer architecture, parallel and distributed computing, and storage systems
8 papers
Distributed systems · 97% Parallel and multicore computing · 2% Reconfigurable computing and FPGAs · 1%
Theoretical computer science
5 papers
Automated reasoning and model checking · 60% Logic in computer science · 40%

Topics — the 30 heaviest of 46, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems › distributed management
dynamic change management
0.922025
Dynamic Change Management: Quiescence Revisited · IEEE Trans. Software Eng. 2025
The Evolving Philosophers Problem: Dynamic Change Management · IEEE Trans. Software Eng. 1990
Requirements engineering and software design
software architecture
0.472014
Hope for the best, prepare for the worst: multi-tier control for adaptive systems · ICSE 2014
Evolve: tool support for architecture evolution · ICSE 2011
Engineering distributed software: a structural discipline · ESEC/SIGSOFT FSE 2005
Requirements engineering and software design › software architecture
self-adaptive systems
0.222010
Fifth Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2010) · ICSE (2) 2010
Software engineering for adaptive and self-managing systems · ICSE 2006
Requirements engineering and software design › specification
scenario-based specification
0.252004
Incremental elaboration of scenario-based specifications and behavior models using implied scenarios · ACM Trans. Softw. Eng. Methodol. 2004
Synthesis of Behavioral Models from Scenarios · IEEE Trans. Software Eng. 2003
Negative scenarios for implied scenario elicitation · SIGSOFT FSE 2002
Requirements engineering and software design › model-driven engineering › model synthesis
behavior model synthesis
0.132004
Incremental elaboration of scenario-based specifications and behavior models using implied scenarios · ACM Trans. Softw. Eng. Methodol. 2004
System architecture: the context for scenario-based model synthesis · SIGSOFT FSE 2004
Synthesis of Behavioral Models from Scenarios · IEEE Trans. Software Eng. 2003
Program verification
model checking
0.132007
Model checking service compositions under resource constraints · ESEC/SIGSOFT FSE 2007
Model-based Verification of Web Service Compositions · ASE 2003
Incremental elaboration of scenario-based specifications and behavior models using implied scenarios · ACM Trans. Softw. Eng. Methodol. 2004
Automated reasoning and model checking
model checking
0.132005
Fluent temporal logic for discrete-time event-based models · ESEC/SIGSOFT FSE 2005
Fluent model checking for event-based systems · ESEC / SIGSOFT FSE 2003
Detecting implied scenarios in message sequence chart specifications · ESEC / SIGSOFT FSE 2001
Requirements engineering and software design › software architecture
software architecture evolution
0.112011
Evolve: tool support for architecture evolution · ICSE 2011
Programming languages and type systems › language semantics
formal semantics
0.112010
An Integrated Workbench for Model-Based Engineering of Service Compositions · IEEE Trans. Serv. Comput. 2010
Requirements engineering and software design
requirements validation
0.122005
Monitoring and control in scenario-based requirements analysis · ICSE 2005
Fluent-based web animation: exploring goals for requirements validation · ICSE 2005
Services computing and microservices
service composition
0.112010
An Integrated Workbench for Model-Based Engineering of Service Compositions · IEEE Trans. Serv. Comput. 2010
Logic in computer science
temporal logic
0.122005
Fluent temporal logic for discrete-time event-based models · ESEC/SIGSOFT FSE 2005
Fluent model checking for event-based systems · ESEC / SIGSOFT FSE 2003
Requirements engineering and software design
scenario-based synthesis
0.122004
System architecture: the context for scenario-based model synthesis · SIGSOFT FSE 2004
Synthesis of Behavioral Models from Scenarios · IEEE Trans. Software Eng. 2003
Program verification
model-based verification
0.112006
LTSA-WS: a tool for model-based verification of web service compositions and choreography · ICSE 2006
Services computing and microservices › service composition
web service composition
0.122006
Model-based Verification of Web Service Compositions · ASE 2003
LTSA-WS: a tool for model-based verification of web service compositions and choreography · ICSE 2006
Program synthesis and code generation
controller synthesis
0.112014
Hope for the best, prepare for the worst: multi-tier control for adaptive systems · ICSE 2014
Empirical software engineering › collaborative software development
distributed software engineering
0.112005
Engineering distributed software: a structural discipline · ESEC/SIGSOFT FSE 2005
Requirements engineering and software design › requirements analysis
scenario-based requirements analysis
0.112005
Monitoring and control in scenario-based requirements analysis · ICSE 2005
Automated reasoning and model checking › model checking
real-time model checking
0.112005
Fluent temporal logic for discrete-time event-based models · ESEC/SIGSOFT FSE 2005
Software maintenance and evolution
autonomic computing
0.122010
Fifth Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2010) · ICSE (2) 2010
Software engineering for adaptive and self-managing systems · ICSE 2006
Requirements engineering and software design › software modeling
behavior modeling
0.012004
Incremental elaboration of scenario-based specifications and behavior models using implied scenarios · ACM Trans. Softw. Eng. Methodol. 2004
Program verification
modular verification
0.012003
Model-based Verification of Web Service Compositions · ASE 2003
Requirements engineering and software design
requirements specification
0.012003
Synthesis of Behavioral Models from Scenarios · IEEE Trans. Software Eng. 2003
Logic in computer science › temporal logic
linear temporal logic
0.012003
Fluent model checking for event-based systems · ESEC / SIGSOFT FSE 2003
Requirements engineering and software design
model-driven engineering
0.012011
Evolve: tool support for architecture evolution · ICSE 2011
Requirements engineering and software design
requirements elicitation
0.012002
Negative scenarios for implied scenario elicitation · SIGSOFT FSE 2002
Requirements engineering and software design › software architecture › architecture description
architecture description language
0.022004
Dynamic Structure in Software Architectures · SIGSOFT FSE 1996
System architecture: the context for scenario-based model synthesis · SIGSOFT FSE 2004
Empirical software engineering › developer studies
behavioral analysis
0.011999
Behavioral Analysis of Software Architectures Using LTSA · ICSE 1999
Distributed systems
replication
0.011999
Client Access Protocols for Replicated Services · IEEE Trans. Software Eng. 1999
Services computing and microservices
service orchestration
0.012007
Model checking service compositions under resource constraints · ESEC/SIGSOFT FSE 2007

Methods — techniques the papers use, named apart from their topics

model checking · 0.2controller synthesis · 0.2probabilistic rule learning · 0.2inductive logic programming · 0.2abduction · 0.2verification and validation · 0.1formal semantics · 0.1fluent-based animation · 0.1message sequence charts · 0.1inconsistency detection · 0.1hierarchical location model · 0.1fusion algorithm · 0.1temporal logic translation · 0.1scenario analysis · 0.1synthesis · 0.0automated analysis · 0.0fluent propositions · 0.0finite state process · 0.0
YearPublicationVenuePosition
2025 Dynamic Change Management: Quiescence Revisited
abstract
By invitation, we revisit our 1990 paper -The Evolving Philosophers: Dynamic Change Management.The paper addressed the problem of safely updating large complex distributed systems while permitting the system to continue running to provide at least a partial service. We outline the context in which we addressed this problem, the key ideas behind the proposed solution and then focus on the development and influence of these ideas in both our own subsequent research and that of others.
Jeff Kramer, Jeff Magee
IEEE Trans. Software Eng.2
2014 Hope for the best, prepare for the worst: multi-tier control for adaptive systems
abstract
Most approaches for adaptive systems rely on models, particularly behaviour or architecture models, which describe the system and the environment in which it operates. One of the difficulties in creating such models is uncertainty about the accuracy and completeness of the models. Engineers therefore make assumptions which may prove to be invalid at runtime. In this paper we introduce a rigorous, tiered framework for combining behaviour models, each with different associated assumptions and risks. These models are used to generate operational strategies, through techniques such controller synthesis, which are then executed concurrently at runtime. We show that our framework can be used to adapt the functional behaviour of the system: through graceful degradation when the assumptions of a higher level model are broken, and through progressive enhancement when those assumptions are satisfied or restored.
Nicolás D'Ippolito, Víctor A. Braberman, Jeff Kramer, Jeff Magee, Daniel Sykes, Sebastián Uchitel
ICSE4
2013 Learning revised models for planning in adaptive systems
abstract
Environment domain models are a key part of the information used by adaptive systems to determine their behaviour. These models can be incomplete or inaccurate. In addition, since adaptive systems generally operate in environments which are subject to change, these models are often also out of date. To update and correct these models, the system should observe how the environment responds to its actions, and compare these responses to those predicted by the model. In this paper, we use a probabilistic rule learning approach, NoMPRoL, to update models using feedback from the running system in the form of execution traces. NoMPRoL is a technique for nonmonotonic probabilistic rule learning based on a transformation of an inductive logic programming task into an equivalent abductive one. In essence, it exploits consistent observations by finding general rules which explain observations in terms of the conditions under which they occur. The updated models are then used to generate new behaviour with a greater chance of success in the actual environment encountered.
Daniel Sykes, Domenico Corapi, Jeff Magee, Jeff Kramer, Alessandra Russo, Katsumi Inoue
ICSE3
2011 Evolve: tool support for architecture evolution
abstract
Incremental change is intrinsic to both the initial development and subsequent evolution of large complex software systems. Evolve is a graphical design tool that captures this incremental change in the definition of software architecture. It supports a principled and manageable way of dealing with unplanned change and extension. In addition, Evolve supports decentralized evolution in which software is extended and evolved by multiple independent developers. Evolve supports a model-driven approach in that architecture definition is used to directly construct both initial implementations and extensions to these implementations. The tool implements Backbone - an architectural description language (ADL), which has both a textual and a UML2, based graphical representation. The demonstration focuses on the graphical representation.
Andrew McVeigh, Jeff Kramer, Jeff Magee
ICSE3
2010 Fifth Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2010)
abstract
The Software Engineering for Adaptive and Self-managing Systems (SEAMS) workshop has consolidated the interest in the software engineering community on self-adaptive and self-managing systems. SEAMS provides a forum for researchers and practitioners to share new results, discuss challenging issues, raise awareness, and promote collaboration within the community. The SEAMS 2010 workshop aims to continue the success of previous ICSE SEAMS workshops: in Shanghai in 2006, in Minneapolis in 2007, in Leipzig in 2008, and in Vancouver in 2009.
Betty H. C. Cheng, Rogério de Lemos, David Garlan, Holger Giese, Marin Litoiu, Jeff Magee, Hausi A. Müller, Mauro Pezzè, Richard N. Taylor
ICSE (2)6
2010 Translating FSP into LOTOS and networks of automata
abstract
Abstract Many process calculi have been proposed since Robin Milner and Tony Hoare opened the way more than 25 years ago. Although they are based on the same kernel of operators, most of them are incompatible in practice. We aim at reducing the gap between process calculi, and especially making possible the joint use of underlying tool support. Finite state processes (FSP) is a widely used calculus equipped with L tsa , a graphical and user-friendly tool. Language of temporal ordering specification (L otos ) is the only process calculus that has led to an international standard, and is supported by the C adp verification toolbox. We propose a translation of FSP sequential processes into L otos . Since FSP composite processes (i.e., parallel compositions of processes) are hard to encode directly in L otos , they are translated into networks of automata which are another input language accepted by C adp . Hence, it is possible to use jointly L tsa and C adp to validate FSP specifications. Our approach is completely automated by a translator tool.
Frédéric Lang, Gwen Salaün, Rémi Hérilier, Jeff Kramer, Jeff Magee
Formal Aspects Comput.5
2010 An Integrated Workbench for Model-Based Engineering of Service Compositions
abstract
The Service-Oriented Architecture (SOA) approach to building systems of application and middleware components promotes the use of reusable services with a core focus of service interactions, obligations, and context. Although services technically relieve the difficulties of specific technology dependency, the difficulties in building reusable components is still prominent and a challenge to service engineers. Engineering the behavior of these services means ensuring that the interactions and obligations are correct and consistent with policies set out to guide partners in building the correct sequences of interactions to support the functions of one or more services. Hence, checking the suitability of service behavior is complex, particularly when dealing with a composition of services and concurrent interactions. How can we rigorously check implementations of service compositions? What are the semantics of service compositions? How does deployment configuration affect service composition behavior safety? To facilitate service engineers designing and implementing suitable and safe service compositions, we present in this paper an approach to consider different viewpoints of service composition behavior analysis. The contribution of the paper is threefold. First, we model service orchestration, choreography behavior, and service orchestration deployment through formal semantics applied to service behavior and configuration descriptions. Second, we define types of analysis and properties of interest for checking service models of orchestrations, choreography, and deployment. Third, we describe mechanical support by providing a comprehensive integrated workbench for the verification and validation of service compositions.
Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer
IEEE Trans. Serv. Comput.3
2009 A Rigorous Architectural Approach to Adaptive Software Engineering
Jeff Kramer, Jeff Magee
J. Comput. Sci. Technol.2
2008 Deriving event-based transition systems from goal-oriented requirements models
Emmanuel Letier, Jeff Kramer, Jeff Magee, Sebastián Uchitel
Autom. Softw. Eng.3
2007 Translating FSP into LOTOS and Networks of Automata
Gwen Salaün, Jeff Kramer, Frédéric Lang, Jeff Magee
IFM4
2007 Model checking service compositions under resource constraints
abstract
When enacting a web service orchestration defined using the Business Process Execution Language (BPEL) we observed various safety property violations. This surprised us considerably as we had previously established that the orchestration was free of such property violations using existing BPEL model checking techniques. In this paper, we describe the origins of these violations. They result from a combination of design and deployment decisions, which include the distribution of services across hosts, the choice of synchronisation primitives in the process and the threading configuration of the servlet container that hosts the orchestrated web services. This leads us to conclude that model checking approaches that ignore resource constraints of the deployment environment are insufficient to establish safety and liveness properties of service orchestrations specifically, and distributed systems more generally. We show how model checking can take execution resource constraints into account. We evaluate the approach by applying it to the above application and are able to demonstrate that a change in allocation of services to hosts is indeed safe, a result that we are able to confirm experimentally in the deployed system. The approach is supported by a tool suite, known as WS-Engineer, providing automated process translation, architecture and model-checking views.
Howard Foster, Wolfgang Emmerich, Jeff Kramer, Jeff Magee, David S. Rosenblum, Sebastián Uchitel
ESEC/SIGSOFT FSE4
2006 Synthesizing Concurrency Control Components from Process Algebraic Specifications
Edoardo Bontà, Marco Bernardo 0001, Jeff Magee, Jeff Kramer
COORDINATION3
2006 Software engineering for adaptive and self-managing systems
abstract
The objective of this workshop is to consolidate the interest in the software engineering community on autonomic, self-managing, self-healing, self-optimizing, self-configuring, and self-adaptive systems. The workshop will provide a forum for researchers to share new results, raise awareness of new adaptive concerns, and promote collaboration among the community. This workshop will be the first of several to assess progress and identify challenges in this important area.
Betty H. C. Cheng, David Garlan, Rogério de Lemos, Jeff Magee, Richard N. Taylor, Stephen Fickas, Hausi A. Müller
ICSE4
2006 LTSA-WS: a tool for model-based verification of web service compositions and choreography
abstract
In this paper we describe a tool for a model-based approach to verifying compositions of web service implementations. The tool supports verification of properties created from design specifications and implementation models to confirm expected results from the viewpoints of both the designer and implementer. Scenarios are modeled in UML, in the form of Message Sequence Charts (MSCs), and then compiled into the Finite State Process (FSP) process algebra to concisely model the required behavior. BPEL4WS implementations are mechanically translated to FSP to allow an equivalence trace verification process to be performed. By providing early design verification and validation, the implementation, testing and deployment of web service compositions can be eased through the understanding of the behavior exhibited by the composition. The approach is implemented as a plug-in for the Eclipse development environment providing cooperating tools for specification, formal modeling, verification and validation of the composition process.
Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer
ICSE3
2006 Goal and scenario validation: a fluent combination
Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee
Requir. Eng.4
2005 Fluent-based web animation: exploring goals for requirements validation
abstract
We present a tool that provides effective graphical animations as a means of validating both goals and software designs. Goals are objectives that a system is expected to meet. They are decomposed until they can be represented as fluents. Animations are specified in terms of fluents and driven by behaviour models.
Robert Chatley, Sebastián Uchitel, Jeff Kramer, Jeff Magee
ICSE4
2005 Monitoring and control in scenario-based requirements analysis
abstract
Scenarios are an effective means for eliciting, validating and documenting requirements. At the requirements level, scenarios describe sequences of interactions between the software-to-be and agents in the environment. Interactions correspond to the occurrence of an event that is controlled by one agent and monitored by another.This paper presents a technique to analyse requirements-level scenarios for unforeseen, potentially harmful, consequences. Our aim is to perform analysis early in system development, where it is highly cost-effective. The approach recognises the importance of monitoring and control issues and extends existing work on implied scenarios accordingly. These so-called input-output implied scenarios expose problematic behaviours in scenario descriptions that cannot be detected using standard implied scenarios. Validation of these implied scenarios supports requirements elaboration. We demonstrate the relevance of input-output implied scenarios using a number of examples.
Emmanuel Letier, Jeff Kramer, Jeff Magee, Sebastián Uchitel
ICSE3
2005 Science of design
abstract
In this plenary panel session, three distinguished scholars of design will provide a range of perspectives on a science of design for software and software-intensive systems. The session will include brief presentations by the panelists as well as dialog among the panelists and with members of the audience.
Kevin J. Sullivan, Jeff Magee
ICSE2
2005 Tool Support for Model-Based Engineering of Web Service Compositions
abstract
In this paper we describe tool support for a model-based approach to verifying compositions of Web service implementations. The tool supports verification of properties created from design specifications and implementation models to confirm expected results from the viewpoints of both the designer and implementer. Scenarios are modeled in UML, in the form of message sequence charts (MSCs), and then compiled into the finite state process (FSP) algebra to concisely model the required behavior. BPEL4WS implementations are mechanically translated to FSP to allow an equivalence trace verification process to be performed. By providing early design verification and validation, the implementation, testing and deployment of Web service compositions can be eased through the understanding of the behavior exhibited by the composition. The tool is implemented as a plug-in for the Eclipse development environment providing cooperating tools for specification, formal modeling and trace animation of the composition process.
Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer
ICWS3
2005 Engineering distributed software: a structural discipline
abstract
The role of structure in specifying, designing, analysing, constructing and evolving software has been the central theme of our research in Distributed Software Engineering. This structural discipline dictates formalisms and techniques that are compositional, components that are context independent and systems that can be constructed and evolved incrementally. This extended abstract overviews our development of a structural approach to engineering distributed software and gives indications of our future work which moves from explicit to implicit structural specification. With the benefit of hindsight we attempt to give a "rational history" to our research.
Jeff Kramer, Jeff Magee
ESEC/SIGSOFT FSE2
2005 Fluent temporal logic for discrete-time event-based models
abstract
Fluent model checking is an automated technique for verifying that an event-based operational model satisfies some state-based declarative properties. The link between the event-based and state-based formalisms is defined through "fluents" which are state predicates whose value are determined by the occurrences of initiating and terminating events that make the fluents values become true or false, respectively.The existing fluent temporal logic is convenient for reasoning about untimed event-based models but difficult to use for timed models. The paper extends fluent temporal logic with temporal operators for modelling timed properties of discrete-time event-based models. It presents two approaches that differ on whether the properties model the system state after the occurrence of each event or at a fixed time rate. Model checking of timed properties is made possible by translating them into the existing untimed framework.
Emmanuel Letier, Jeff Kramer, Jeff Magee, Sebastián Uchitel
ESEC/SIGSOFT FSE3
2004 Predictable Dynamic Plugin Systems
Robert Chatley, Susan Eisenbach, Jeff Kramer, Jeff Magee, Sebastián Uchitel
FASE4
2004 Compatibility Verification for Web Service Choreography
abstract
In this paper we discuss a model-based approach to verifying process interactions for coordinated Web service compositions. The approach uses finite state machine representations of Web service orchestrations and assigns semantics to the distributed process interactions. The move towards implementing Web service compositions by multiple interested parties as a form of distributed system architecture motivates the need for supporting compatibility verification of activities and transactions in all the processes. The described approach is supported by a suite of cooperating tools for specification, formal modeling and providing verification results from orchestrated Web service interactions.
Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer
ICWS3
2004 Fluent-Based Animation: Exploiting the Relation between Goals and Scenarios for Requirements Validation
Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee
RE4
2004 System architecture: the context for scenario-based model synthesis
abstract
Constructing rigorous models for analysing the behaviour of concurrent and distributed systems is a complex task. Our aim is to facilitate model construction. Scenarios provide simple, intuitive, example based descriptions of the behaviour of component instances in the context of a simplified architecture instance. The specific architecture instance is generally chosen to provide sufficient context to indicate the expected behaviour of particular instances of component types to be used in the real system. Existing synthesis techniques provide mechanisms for building behaviour models for these simplified and specific architectural settings. However, the behaviour models required are those for the full generality of the system architecture, and not the simplified architecture used for scenarios. In this paper we exploit architectural information in the context of behaviour model synthesis from scenarios. Software architecture descriptions give the necessary contextual information so that component instance behaviour can be generalised to component type behaviour. Furthermore, architecture description languages can be used to describe the complex architectures in which the generalised behaviours need to be instantiated. Thus, architectural information used in conjunction with scenario-based model synthesis can support both model construction and elaboration, where the behaviour derived from simple architecture fragments can be instantiated in more complex ones.
Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee
SIGSOFT FSE4
2004 Incremental elaboration of scenario-based specifications and behavior models using implied scenarios
abstract
Behavior modeling has proved to be successful in helping uncover design flaws of concurrent and distributed systems. Nevertheless, it has not had a widespread impact on practitioners because model construction remains a difficult task and because the benefits of behavior analysis appear at the end of the model construction effort. In contrast, scenario-based specifications have a wide acceptance in industry and are well suited for developing first approximations of intended behavior; however, they are still maturing with respect to rigorous semantics and analysis tools.This article proposes a process for elaborating system behavior that exploits the potential benefits of behavior modeling and scenario-based specifications yet ameliorates their shortcomings. The concept that drives the elaboration process is that of implied scenarios . Implied scenarios identify gaps in scenario-based specifications that arise from specifying the global behavior of a system that will be implemented component-wise. They are the result of a mismatch between the behavioral and architectural aspects of scenario-based specifications. Due to the partial nature of scenario-based specifications, implied scenarios need to be validated as desired or undesired behavior. The scenario specifications are then updated accordingly with new positive or negative scenarios. By iteratively detecting and validating implied scenarios, it is possible to incrementally elaborate the behavior described both in the scenario-based specification and models. The proposed elaboration process starts with a message sequence chart (MSC) specification that includes basic, high-level and negative MSCs. Implied scenario detection is performed by synthesis and automated analysis of behavior models. The final outcome consists of four artifacts: (1) an MSC specification that has been evolved from its original form to cover important aspects of the concurrent nature of the system that were under-specified or absent in the original specification, (2) a behavior model that captures the component structure of the system that, combined with (3) a constraint model and (4) a property model that provides the basis for modeling and reasoning about system design.
Sebastián Uchitel, Jeff Kramer, Jeff Magee
ACM Trans. Softw. Eng. Methodol.3
2003 Model-based Verification of Web Service Compositions
abstract
In this paper, we discuss a model-based approach to verifying Web service compositions for Web service implementations. The approach supports verification against specification models and assigns semantics to the behavior of implementation model so as to confirm expected results for both the designer and implementer. Specifications of the design are modeled in UML (Unified Modeling Language), in the form of message sequence charts (MSC), and mechanically compiled into the finite state process notation (FSP) to concisely describe and reason about the concurrent programs. Implementations are mechanically translated to FSP to allow a trace equivalence verification process to be performed. By providing early design verification, the implementation, testing, and deployment of Web service compositions can be eased through the understanding of the differences, limitations and undesirable traces allowed by the composition. The approach is supported by a suite of cooperating tools for specification, formal modeling and trace animation of the composition workflow.
Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer
ASE3
2003 Fluent model checking for event-based systems
abstract
Model checking is an automated technique for verifying that a system satisfies a set of required properties. Such properties are typically expressed as temporal logic formulas, in which atomic propositions are predicates over state variables of the system. In event-based system descriptions, states are not characterized by state variables, but rather by the behavior that originates in these states in terms of actions. In this context, it is natural for temporal formulas to be built from atomic propositions that are predicates on the occurrence of actions. The paper identifies limitations in this approach and introduces "fluent" propositions that permit formulas to naturally express properties that combine state and action. A fluent is a property of the world that holds after it is initiated by an action and ceases to hold when terminated by another action. The paper describes an approach to model checking fluent-based linear-temporal logic properties, with its implementation and application in the LTSA tool.
Dimitra Giannakopoulou, Jeff Magee
ESEC / SIGSOFT FSE2
2003 Behaviour model elaboration using partial labelled transition systems
abstract
State machine based formalisms such as labelled transition systems (LTS) are generally assumed to be complete descriptions of system behaviour at some level of abstraction: if a labelled transition system cannot exhibit a certain sequence of actions, it is assumed that the system or component it models cannot or should not exhibit that sequence. This assumption is a valid one at the end of the modelling effort when reasoning about properties of the completed model. However, it is not a valid assumption when behaviour models are in the process of being developed. In this setting, the distinction between proscribed behaviour and behaviour that has not yet been defined is an important one. Knowing where the gaps are in a behaviour model permits the presentation of meaningful questions to stakeholders, which in turn can lead to model exploration and thus more comprehensive descriptions of the system behaviour. In this paper we propose using partial labelled transition systems (PLTS) to capture what remains to be defined of the system behaviour. In the context of scenario synthesis, we show that PLTSs can be used to support the iterative incremental elaboration of behaviour models.
Sebastián Uchitel, Jeff Kramer, Jeff Magee
ESEC / SIGSOFT FSE3
2003 LTSA-MSC: Tool Support for Behaviour Model Elaboration Using Implied Scenarios
Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee
TACAS4
2003 Editorial
abstract
No abstract available.
Carlo Ghezzi, Jeff Magee, H. Dieter Rombach, Mary Lou Soffa
ACM Trans. Softw. Eng. Methodol.2
2003 Synthesis of Behavioral Models from Scenarios
abstract
Scenario-based specifications such as Message Sequence Charts (MSCs) are useful as part of a requirements specification. A scenario is a partial story, describing how system components, the environment, and users work concurrently and interact in order to provide system level functionality. Scenarios need to be combined to provide a more complete description of system behavior. Consequently, scenario synthesis is central to the effective use of scenario descriptions. How should a set of scenarios be interpreted? How do they relate to one another? What is the underlying semantics? What assumptions are made when synthesizing behavior models from multiple scenarios? In this paper, we present an approach to scenario synthesis based on a clear sound semantics, which can support and integrate many of the existing approaches to scenario synthesis. The contributions of the paper are threefold. We first define an MSC language with sound abstract semantics in terms of labeled transition systems and parallel composition. The language integrates existing approaches based on scenario composition by using high-level MSCs (hMSCs) and those based on state identification by introducing explicit component state labeling. This combination allows stakeholders to break up scenario specifications into manageable parts and reuse scenarios using hMCSs; it also allows them to introduce additional domain-specific information and general assumptions explicitly into the scenario specification using state labels. Second, we provide a sound synthesis algorithm which translates scenarios into a behavioral specification in the form of Finite Sequential Processes. This specification can be analyzed with the Labeled Transition System Analyzer using model checking and animation. Finally, we demonstrate how many of the assumptions embedded in existing synthesis approaches can be made explicit and modeled in our approach. Thus, we provide the basis for a common approach to scenario-based specification, synthesis, and analysis.
Sebastián Uchitel, Jeff Kramer, Jeff Magee
IEEE Trans. Software Eng.3
2002 Negative scenarios for implied scenario elicitation
abstract
Scenario-based specifications such as Message Sequence Charts (MSCs) are popular for requirement elicitation and specification. MSCs describe two distinct aspects of a system: on the one hand they provide examples of intended system behaviour and on the other they outline the system architecture. A mismatch between architecture and behaviour may give rise to implied scenarios. Implied scenarios occur because a component's local view of the system state is insufficient to enforce specified system behaviour. An implied scenario indicates a gap in the MSC specification that needs to be clarified. It may simply mean that an acceptable scenario has been overlooked and should be added to the scenario specification. Alternatively, it may represent an unacceptable behaviour which should be documented and avoided in the final implementation. Thus implied scenarios can be used to iteratively drive requirements elicitation. However, in order to do so, tools for coping with rejected implied scenarios are needed. The contributions of this paper are twofold. Firstly, we define a language for describing negative scenarios. Secondly, we complement existing implied scenario detection methods with techniques for accommodating negative scenarios.
Sebastián Uchitel, Jeff Kramer, Jeff Magee
SIGSOFT FSE3
2001 Detecting implied scenarios in message sequence chart specifications
abstract
Scenario-based specifications such as Message Sequence Charts (MSCs) are becoming increasingly popular as part of a requirements specification. Scenario describe how system components, the environment and users work concurrently and interact in order to provide system level functionality. Each scenario is a partial story which, when combined with other scenarios, should conform to provide a complete system description. However, although it is possible to build a set of components such that each component behaves in accordance with the set of scenarios, their composition may not provide the required system behaviour. Implied scenarios may appear as a result of unexpected component interaction. In this paper, we present an algorithm that builds a labelled transition system (LTS) behaviour model that describes the closest possible implementation for a specification based on basic and high-level MSCs. We also present a technique for detecting and providing feedback on the existence of implied scenarios. We have integrated these procedures into the Labelled Transition System Analyser (LTSA), which allows for model checking and animation of the behaviour model.
Sebastián Uchitel, Jeff Kramer, Jeff Magee
ESEC / SIGSOFT FSE3
2000 Model Checking of Workflow Schemas
abstract
Practical experience indicates that the definition of realworld workflow applications is a complex and error-prone process. Existing workflow management systems provide the means, in the best case, for very primitive syntactic verification, which is not enough to guarantee the overall correctness and robustness of workflow applications. The paper presents an approach for formal verification of workflow schemas (definitions). Workflow behaviour is modelled by means of an automata-based method, which facilitates exhaustive compositional reachability analysis. The workflow behaviour can then be analysed and checked for safety and liveness properties. The model generation and the analysis procedure are governed by well-defined rules that can be fully automated. Therefore, the approach is accessible by designers who are not experts in formal methods. 1.
Christos T. Karamanolis, Dimitra Giannakopoulou, Jeff Magee, Stuart M. Wheater
EDOC3
2000 Who needs doctors? (abstract of panel session)
abstract
No abstract available.
Jeff Magee
ICSE1
2000 The ICSE2000 doctoral workshop
abstract
Doctoral research in software engineering is a major source of new ideas and of key importance in training scientists for the information technology community. The rapid evolution of information technology is challenging the relevance of doctoral programs in software engineering. These are facing the risk of losing their leading role in training scientists and engineers. Many Universities are threaten by a decreasing number of applications and an increasing number of drop outs. A major goal of the ICSE doctoral workshop, at the turn of the millennium, is to promote doctoral study and provide help and encouragement to those engaged in it. Consequently, the ICSE2000 Doctoral Workshop not only provides a forum for graduate students to present and discuss their dissertation research, it also provides (together with a panel session in the main conference) an opportunity to discuss the role of doctoral research in the new information society. An opening talk by Lee Osterweil is intended to give participants a clear view of both the goal of doctoral research and the methodology with which it is carried out. The presentation of doctoral plans and the open discussion between the committee and the invited students is a unique opportunity to compare PhD programs in different institutions and in different countries. The summary panel scheduled as part of the conference program is designed to open the discussion between the academic and the industrial communities on the role that doctoral research plays in the development and evolution of software engineering.
Jeff Magee, Mauro Pezzè
ICSE1
2000 Graphical animation of behavior models
abstract
Graphical animation is a way of visualizing the behavior of design models. This visualization is of use in validating a design model against informally specified requirements and in interpreting the meaning and significance of analysis results in relation to the problem domain. In this paper we describe how behavior models specified by Labeled Transition Systems (LTS) can drive graphical animations. The semantic framework for the approach is based on Timed Automata. Animations are described by an XML document that is used to generate a set of JavaBeans. The elaborated JavaBeans perform the animation actions as directed by the LTS model.
Jeff Magee, Nat Pryce, Dimitra Giannakopoulou, Jeff Kramer
ICSE1
1999 Behavioral Analysis of Software Architectures Using LTSA
abstract
The LTSA (Labeled Transition System Analyzer) is a tool for modeling and analyzing the behavior of concurrent systems.The demonstration will focus on the use of architectural descriptions in developing behavioral models and on the analysis that can be performed on these models.Three concurrent architecture examples; filter pipeline, supervisor-worker and announcer-listener which each use a different type of connector are used to illustrate the capabilities of the tool.
Jeff Magee
ICSE1
1999 Modelling for Mere Mortals
Jeff Kramer, Jeff Magee
TACAS2
1999 Behaviour Analysis of Software Architectures
Jeff Magee, Jeff Kramer, Dimitra Giannakopoulou
WICSA1
1999 Client Access Protocols for Replicated Services
abstract
Addresses the problem of replicated service provision in distributed systems. Existing systems that follow the state machine approach concentrate on the synchronization of the server replicas and do not consider the problem of client interaction with the server group. This paper analyzes client interaction and identifies a number of access protocols to meet a range of client requirements and system models. The paper demonstrates that protocols for the "open" group model-clients external to the group of servers-satisfy the requirements of the state machine approach, even when replication is transparent to the clients. Experimental performance results indicate that the "open" model is clearly desirable when the service is used by a large, dynamically changing set of clients, a situation which pertains to Internet service provision.
Christos T. Karamanolis, Jeff Magee
IEEE Trans. Software Eng.2
1998 Multi-Sensor Location Tracking
abstract
In order to support location-aware apphcations it is necessary to locate people and equipment in near rerd-time.To avoid unnecessary exposure of details of the underlying tracking and positioning systems.researchers have proposed an additiond layer of indirection between sensors and app~lcations: a location service.In this paper, we examine how such a service should acquire and integrate location data from multiple heterogeneous location subsystem.We propose a fusion algorithm based on a formrdly defined, hierarchicrd location model.The algorithm can identify and exploit overlaps among location sightings to improve accuracy.Moreover, inconsistencies can be detected and dedt with either by finding the least common denominator, or the most ~iely rdternative.1.1
Ulf Leonhardt, Jeff Magee
MobiCom2
1997 Exposing the Skeleton in the Coordination Closet
Jeff Kramer, Jeff Magee
COORDINATION2
1997 Client--Access Protocols for Replicated Services
abstract
The paper addresses the problem of client-service interaction in the case of replicated service provision. Existing systems that follow the State Machine approach concentrate on the synchronisation of the server replicas and do not consider the problem of client interaction with the sewer group. Client interaction is analysed and a number of access protocols are proposed to meet a range of client requirements. The paper demonstrates that protocols for the "open" group model-clients external to the group of servers-satisfy the requirements of the State Machine approach, even when replication is transparent to the clients. Experimental performance results indicate that the "open" model is clearly desirable when the service is used by a large, dynamic set of clients.
Christos T. Karamanolis, Jeff Magee
ICECCS2
1997 Distributed Software Architectures (Tutorial)
abstract
No abstract available.
Jeff Kramer, Jeff Magee
ICSE2
1997 Composing distributed objects in CORBA
abstract
The paper addresses the problem of structuring and managing large distributed systems constructed from many distributed objects. Specifically, the paper proposes a component model which can be used to compose objects into manageable entities. Components are specified using Darwin, an architecture description language developed by the authors. A mapping of distributed objects into Darwin components is described together with an outline of how Darwin and its associated tools are implemented in a CORBA compliant environment.
Jeff Magee, Andrew Tseng, Jeff Kramer
ISADS1
1996 Dynamic Structure in Software Architectures
abstract
Much of the recent work on Architecture Description Languages (ADL) has concentrated on specifying organisations of components and connectors which are static. When the ADL specification is used to drive system construction, then the structure of the resulting system in terms of its component instances and their interconnection is fixed. This paper examines ADL features which permit the description of dynamic software architectures in which the organisation of components and connectors may change during system execution.The paper outlines examples of language features which support dynamic structure. These examples are taken from Darwin, a language used to describe distributed system structure. An operational semantics for these features is presented in the π-calculus, together with a discussion of their advantages and limitations. The paper discusses some general approaches to dynamic architecture description suggested by these examples.
Jeff Magee, Jeff Kramer
SIGSOFT FSE1
1996 A CASE Tool for Software Architecture Design
Keng Ng, Jeff Kramer, Jeff Magee
Autom. Softw. Eng.3
1996 Location service in mobile computing environments
Ulf Leonhardt, Jeff Magee, Paul Dias
Comput. Graph.2
1995 Configuration management for distributed software services
Steve Crane, Naranker Dulay, Halldor Fosså, Jeff Kramer, Jeff Magee, Morris Sloman, Kevin P. Twidle
Integrated Network Management5
1995 Configurable Highly Availbale Distributed Services
abstract
The paper addresses the problem of providing highly available services in distributed systems. In particular, we examine the situation where a service may be used by a large continuously changing set of clients. The requirements for providing services in this environment are analysed and an architecture and partial implementation for a replicated server group meeting a range of client requirements is presented. The architecture facilitates the dynamic configuration management of the replicated server group, while maintaining the service. Dynamic configuration management is required in order to replace failed replicas, upgrade the server implementation, or change the availability characteristics of the service. The paper reports on initial implementation results.
Christos T. Karamanolis, Jeff Magee
SRDS2
1992 A configuration approach to parallel programming
Jeff Magee, Naranker Dulay
Future Gener. Comput. Syst.1
1991 Parallel Algorithm Design for Workstation Clusters
abstract
Abstract Clusters of workstations connected by local area networks are in common use in many organizations. The combined processing power of these clusters is rarely exploited owing to the lack of suitable parallel algorithms. The paper describes a parallel programming paradigm calledsupervisor‐worker, suitable for the workstation environment, which can be used to speed up the execution of a large class of existing sequential programs. Simple formulae are developed to predict the speed‐up of a parallel algorithm developed in this way. The predictions depend on two easily‐determined parameters of the sequential program and the characteristic communication cost of the workstation cluster. Consequently, it is possible to estimate the benefits of the parallel program before proceeding with detailed implementation. As an example, the parallel version of a travelling salesman program is developed and the measured speed‐up compared with the predicted speed‐up.
Jeff Magee, Shing-Chi Cheung
Softw. Pract. Exp.1
1990 A Constructive Approach to the Design of Distributed Systems
abstract
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.>
Jeff Kramer, Jeff Magee, Anthony Finkelstein
ICDCS2
1990 The Evolving Philosophers Problem: Dynamic Change Management
abstract
A model for dynamic change management which separates structural concerns from component application concerns is presented. This separation of concerns permits the formulation of general structural rules for change at the configuration level without the need to consider application state, and the specification of application component actions without prior knowledge of the actual structural changes which may be introduced. In addition, the changes can be applied in such a way so as to leave the modified system in a consistent state, and cause no disturbance to the unaffected part of the operational system. The model is applied to an example problem, 'evolving philosophers'. The principles of this model have been implemented and tested in the Conic environment for distributed systems.>
Jeff Kramer, Jeff Magee
IEEE Trans. Software Eng.2
1989 Constructing Distributed Systems in Conic
abstract
The Conic environment provides a language-based approach to the building of distributed systems which combines the simplicity and safety of a language approach with the flexibility and accessibility of an operating systems approach. It provides a comprehensive set of tools for program compilation, configuration, debugging, and execution in a distributed environment. A separate configuration language is used to specify the configuration of software components into logical nodes. This provides a concise configuration description and facilitates the reuse of program components in different configurations. Applications are constructed as sets of one or more interconnected logical nodes. Arbitrary, incremental change is supported by dynamic configuration. In addition, the system provides user-transparent datatype transformation between heterogeneous processors. Applications may be run on a mixed set of interconnected computers running the Unix operating system and on base target machines with no resident operating system. The basic principles adopted in the construction of the Conic environment are outlined and the configuration and run-time facilities provided are described.>
Jeff Magee, Jeff Kramer, Morris Sloman
IEEE Trans. Software Eng.1
1985 Dynamic Configuration for Distributed Systems
abstract
Dynamic system configuration is the ability to modify and extend a system while it is running. The facility is a requirement in large distributed systems where it may not be possible or economic to stop the entire system to allow modification to part of its hardware or software. It is also useful during production of the system to aid incremental integration of component parts, and during operation to aid system evolution. The paper introduces a model of the configuration process which permits dynamic incremental modification and extension. Using this model we determine the properties required by languages and their execution environments to support dynamic configuration. CONIC, the distributed system which has been developed at Imperial College with the specific objective of supporting dynamic configuration, is described to illustrate the feasibility of the model.
Jeff Kramer, Jeff Magee
IEEE Trans. Software Eng.2
1981 Intertask Communication Primitives for Distributed Computer Control Systems
Jeff Kramer, Jeff Magee, Morris Sloman
ICDCS2