Papers by Michael Jackson

Proceedings of the 17th international conference on Software engineering - ICSE '95, 1995
As software developers we are engineers because we make useful machines. We are concerned both wi... more As software developers we are engineers because we make useful machines. We are concerned both with the world, in which the machine serves a useful purpose, and with the machine itself. The competing demands and attractions of these two concerns must be appropriately balanced. Failure to balance them harms our work. Certainly it must take some of the blame for the gulf between researchers and practitioners in software development. To achieve proper balance we must sometimes fight against tendencies and inclinations that are deeply ingrained in our customary practices and attitudes in software development. In this paper some aspects of the relationship between the world and the machine are explored; some sources of distortion are identified; and some suggestions are put forward for maintaining a proper balance.
Cartographic Science, 2006
Lecture Notes in Computer Science, 2004
We show how principles of separation of Coordination from Computation can be used to endow the Pr... more We show how principles of separation of Coordination from Computation can be used to endow the Problem Frames approach to problem analysis with representation schemes. These representation schemes facilitate the way evolution of requirements or of the application domain can be reflected in the decomposition structure, making it easier to change.
Proceedings. 12th IEEE International Requirements Engineering Conference, 2004.
Using abuse frames to bound the scope of security problems. In: Not Set ed. 12th IEEE Internation... more Using abuse frames to bound the scope of security problems. In: Not Set ed. 12th IEEE International Requirements Engineering Conference (RE'04). IEEE Computer Society, pp. 354-355. For guidance on citations see FAQs.
ACM SIGSOFT Software Engineering Notes, 1982
The authors were among the participants at an invitational conference held in September of 1980 a... more The authors were among the participants at an invitational conference held in September of 1980 at the Georgia State Umiversity to study the topic "Systems Analysis
11th International Conference on Software Engineering
The turn of the century is just over a decade away, but that decade is a significant percentage o... more The turn of the century is just over a decade away, but that decade is a significant percentage of the history of Software Engineering (and just slightly less than the history of this conference). The question is how much change will we see in the next twelve years. Will it be greater than what we've experienced in the last twelve years? Is the rate of technologic change accelerating or not? Fred Brooks thinks not. He has argued that we've already handled the easy problems and that there are no Silver Bullets remaining. Others however have argued that we are just beginning to understand our field and have yet to make it into anything approaching a science or engineering discipline. The panel will address this question by focusing on three "Grand Challengesp4 to overcome the major problems facing the field today:

Lecture Notes in Computer Science, 1998
In this paper we illustrate the use of formal methods in the development of a benchmark applicati... more In this paper we illustrate the use of formal methods in the development of a benchmark application we call the Village Telephone System which is characteristic of a class of network and telecommunication protocols. The aim is to show an effective integration of methodology and tools in a software engineering task that proceeds from user-level requirements to an implementation. In particular, we employ a general methodology which we advocate for requirements capture and refinement based on a treatment of designated terminology, domain knowledge, requirements, specifications, and implementation. We show how a general-purpose theorem prover (HOL) can provide formal support for all of these components and how a model checker (Mocha) can provide formal support for the specifications and implementation. We develop a new HOL theory of inductive sequences that is suited to modelling reactive systems and provides a common basis for interoperability between HOL and Mocha.
Proceedings. 12th IEEE International Requirements Engineering Conference, 2004.
Problem Frames are a systematic approach to the decomposition of problems that allows us to relat... more Problem Frames are a systematic approach to the decomposition of problems that allows us to relate requirements, domain properties, and machine specifications. Having decomposed a problem, one approach to solving it is through a process of composing solutions to sub-problems. In this paper, we contribute to supporting such a process by providing a way to compose multiple Problem Frames. We develop a systematic approach to composing inconsistent requirements. We introduce Composition Frames, a requirements construct that models relevant aspects of composition and thus deals with unwanted effects, such as interference of overlapping reactions to events. Throughout the paper we use a simple case study to illustrate and validate our ideas.
Journal of Lightwave Technology
We are developing an approach using Jackson's Problem Frames to analyse security problems in orde... more We are developing an approach using Jackson's Problem Frames to analyse security problems in order to determine security vulnerabilities. We introduce the notion of an anti-requirement as the requirement of a malicious user that can subvert an existing requirement. We incorporate anti-requirements into so-called abuse frames to represent the notion of a security threat imposed by malicious users in a particular problem context. We suggest how abuse frames can provide a means for bounding the scope of security problems in order to analyse security threats and derive security requirements.
2009 17th IEEE International Requirements Engineering Conference, 2009
Are your lights off? Using problem frames to diagnose system failures.
Encyclopedia of Software Engineering, 2002

Proceedings of the IEEE International Conference on Requirements Engineering, 2004
Jackson's Problem Frames provide a means of analysing and decomposing problems. They emphasise th... more Jackson's Problem Frames provide a means of analysing and decomposing problems. They emphasise the world outside of the computer helping the developer to focus on the problem domain instead of drifting into inventing solutions. The intention is to delay consideration of the solution space until a good understanding of the problem is gained. In contrast, early consideration of a solution architecture is common practice in software development. Software is usually developed by including existing components and/or reusing existing frameworks and architectures. This has the advantage of shortening development time though reuse, and increasing the robustness of a system through the application of tried and tested solutions. In this paper, we show how these two views can be reconciled and demonstrate how a choice of architecture can facilitate problem analysis and decomposition within the Problem Frames framework. In particular, we introduce Architectural Frames-combinations of architectural styles and Problem Frames-and illustrate their use in problem decomposition by applying them to a well-known problem from the literature.

Proceedings - 5th IEEE International Conference on Software Engineering and Formal Methods, SEFM 2007, 2007
Various research prototypes and a well-founded theory of model based testing (MBT) suggests the a... more Various research prototypes and a well-founded theory of model based testing (MBT) suggests the application of MBT to real-world problems. In this article we report on applying the well-known TGV tool for protocol conformance testing of a Session Initiation Protocol (SIP) server. Particularly, we discuss the performed abstractions along with corresponding rationales. Furthermore, we show how to use structural and fault-based techniques for test purpose design. We present first empirical results obtained from applying our test cases to a commercial implementation and to a popular open source implementation of a SIP Registrar. Notably, in both implementations our input output labeled transition system model proved successful in revealing severe violations of the protocol. * The research herein is partially conducted within the competence network Softnet Austria (www.soft-net.at) and funded by the Austrian Federal Ministry of Economics (bm:wa), the province of Styria, the Steirische Wirtschaftsfrderungsgesellschaft mbH. (SFG), and the city of Vienna in terms of the center for innovation and technology (ZIT). † Authors are listed in alphabetical order.
11th International Conference on Software Engineering
Lecture Notes in Computer Science
Modern computer based systems are complex multi-systems consisting of many connected individual s... more Modern computer based systems are complex multi-systems consisting of many connected individual subsystems; each one of them is typically also a multicomputer system. The subsystems in a multi-system can be either geographically distributed or locally connected systems. ...

Foreword by Jon Bentley. Preface. Acknowledgements. Introduction. A. Ambiguity. The Application D... more Foreword by Jon Bentley. Preface. Acknowledgements. Introduction. A. Ambiguity. The Application Domain. Arboricide. Aspects of Software Development. B. The Bridges of Konigsberg. Brilliance. C. The Calendar. Classification. Composition. Connection Domains. Connection Frames. Context Diagrams. Critical Reading. D. Dataflow Diagrams--1. Dataflow Diagrams--2. Definitions. Dekker. Descriptions. Designations. Deskilling. Domain Characteristics. Domain Interactions. Domains. E. Entity-Relation Span. Events and Intervals. Existence. F. Frame Diagrams. The Fudge Factor. G. Graphic Notations. H. Hierarchical Structure. I. Identity. Implementation Bias. Individuals. Informal Domains. Is. J. JSP Frame. L. Logical Positivism. M. Machines. Mathematics. Method. Misfits. Models. Mood. A Multi-Frame Problem--1. A Multi-Frame Problem--2. N. The Narrow Bridge. O. Object-Oriented Analysis. P. The Package Router Problem. Partial Descriptions. Phenomena. Poetry. Polya. Predicate Logic. Problem Complexity. The Problem Context. Problem Frames. Problem Sensitivity. Procrustes. R. Raw Materials. Refutable Descriptions. Reification. Requirements. Restaurants. Rough Sketches. S. Scope of Description. Shared Phenomena. Simple Control Frame. Simple IS Frame. Software. Software Engineering. Span of Description. Specifications. T. Top-Down. Tree Diagrams. Trip-lets. W. What and How. Bibliography. Index.

Inevitably, aspect-oriented programming has focused on solutions; 'early aspects' aims ... more Inevitably, aspect-oriented programming has focused on solutions; 'early aspects' aims to focus on problems. This position paper sketches how problems may be understood from a perspective based on problem frames. Problem analysis from this perspective reveals structural issues in a clearer light. It leads to a need for composition, both in the problem world and in the solution world. The goals of aspect technology would be clarified by such analysis, and the aspect technology may in turn offer some power in understanding and implementing the compositions. 1. The Machine and the Problem World The goal of a software development is to produce a system to satisfy some requirement. The system may be regarded as having two fundamentally distinct parts. The machine consists of the software to be built, executed by one or more general-purpose computers. The problem world is where the problem is located: it is here that the machine's behaviour will take effect and the success ...
Uploads
Papers by Michael Jackson