All Posts

The posts are listed in name order, with brief explanatory remarks.

Again More Aphorisms: Ten more short remarks
Avoiding Failure:  Checklists of failures and how to avoid them
Axiomatic Models:  Capturing basic assumptions for a behaviour
Behaviour Is the Core and Focus: Everything comes together in system behaviour
Causality: Causality explains how a system works
Cyber-Physical Systems: The essential character of a cyber-physical system
Description Span:  What extent of the subject space or time is described?
Enactment: A behaviour is enacted by executing its machine program
Engineering: Designing and programming the system behaviour
Granularity: The granularity of space and time in the governed world
Jigsaw Puzzles: Their significance in developing models and behaviours
Landscape At Distance: The universe as seen from afar by a software engineer
Landscape Close-Up: A closer view of the universe as seen by a software engineer
Literate Development: A broader view of development work and its products
Modelling: Model types and purposes in software engineering
Modelling in the Small:  Governed world model for a simple behaviour
Models: Types and purposes of models of the physical world
More than Physics: Finding and structuring axioms for the governed world behaviour
Names: Names and why they are important
NATO and Vincenti: The NATO conferences and a wonderful book
Natural Language: The unique value of natural language in software engineering
Not Just Physics: Software Engineering's unique view of the physical world
Physical Bipartite System: The nature of a bipartite system
Physical Domains: A basic structure for the governed world
Physicality:  The physical world, causality, domains, granularity
Process Understanding: Developers and participants must understand behaviours
Radical and Normal Design: From cradle to adulthood of an engineering product
Reliable Models: Reliability in a world of unreliable physical domains
Requirements and Behaviours: Requirements are consequences of behaviours
Rules of Thought: Descartes's rules of thought
Software Engineering: Engineering BY software and OF software
Specialisation: The place of specialisation in cyber-physical systems
System Behaviour Complexity: The component structure of system behaviour
Ten Aphorisms: Ten short remarks
Ten More Aphorisms: Ten more short remarks
The ABC of Modelling: Axiomatic, behavioural, and consequential aspects
The Right-Hand Side: Why the model-reality relationship is problematic
The Text Pointer: Why the program text pointer matters
Top-Down: Why top-down development is so often a mistake
Triplet Behaviour Concerns: Failures to avoid in triplet behaviour design
Triplet Enactment Concerns: Failures to avoid in triplet enactment design
Triplet Models: What models are needed of the machine and governed world?
Triplets: Triplets (Machine+World=Behaviour) are system behaviour elements
Use Cases: What are use cases for?
The Value of Formalism: The virtues and deficiencies of formalism in modelling the world
Yet More Aphorisms: Ten more short remarks

1 comment:

  1. I think I know an additional import of this on, please!

    Do you remember that Michael Jackson spent about ten years - from around 1990 to 2000 before publishing a new view of software development based on problem analysis and structuring - the problem frames approach? In between he was reviewing, clarifying, and extending the conceptual vocabulary of the field of software engineering. The result was an intermediate book, Software Requirements & Specifications (Addison-Wesley and ACM Press, 1996).
    What was the import of this book? In his own words..."a lexicon of principles, practices and prejudices. Describes some ideas relevant to the earlier stages of software development. These are chiefly ideas about problem analysis and description of the problem context. Introduces the idea of problem frames".

    This blog is the equivalent of the "lexicon of principles and ideas" that he wrote as he was developing his Problem Frames approach.

    Michael Jackson is working on a book that extends his Problem Frames thinking, and this blog expresses his thinking, and clarifies ideas during his research in software design - in programming (JSP, data model=program structure), real-time information systems (JSD, real-world objects and actions), problem analysis and structuring (problem frames)... and, there is more! System behaviour as a first-class object - "the core object of software development" - in the design of Cyber-Physical Systems (CPS).

    Let's wish Michael the very best!
    Michael, I taught a course in which your 1996 book played a significant role; your blog looks equally inviting as a tool ... to encourage ...thinking.

    [1] His new book in progress has the draft title, "A Behaviour Manifesto for Cyber-Physical Systems" for which he has written a chapter, entitled "Behaviours as Design Components of Cyber-Physical Systems"