More Related Content Similar to Four Valued Logic for Business and OO Analysts (20) Four Valued Logic for Business and OO Analysts2. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 2
Secrets of Analysis
• This course is based on Chapter
10 from our book, “Secrets of
Analysis”
• A full table of contents for the
book can be found on the
website below
• You can buy the book at the
website or on the Apple iBooks
Store
www.clearviewtraining.com/secrets-of-analysis.html
3. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 3
• We will look at information types in Generative Analysis
(GA) and how to process them effectively using non-
Aristotelian four-valued logic
Introduction
4. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 4
• In GA you iterate through the following four steps until you
have enough information to move on to more formal
analysis using UML models:
1. Collect information (see “Secrets of Analysis”)
2. Classify the information using GA information types
(next slide) to create GA information artifacts
3. Analyze the information artifacts
4. Generate new, more valuable, artifacts by
transformation of existing artifacts (using M++)
Processing information in GA
Any kind of information can be an input to GA!
6. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 6
• Models key information types for GA
• A conceptual model where «concept» represents a
concept rather than a class
• «concept» has a single tag, section, that refers to a
section in our book “Secrets of Analysis”
• Each «concept» has attributes that represent specific
features of the information types that are important in GA
• Attributes have been hidden on the summary view on
the previous slide
• We will look at each concept in detail over the next few
slides…
About the metamodel…
7. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 7
The 7 GA information types
Type Semantics
Information A communication of some sort subject to the three filters of deletion,
distortion and generalization. May have an associated toDoList of Actions
Question Questions arise from considering Information and applying M++
Proposition A Proposition is a statement about the system/problem domain with value:
Maybe – there is insufficient evidence to decide
True – there is evidence to support the truth of the Proposition
False – there is evidence to support the falsehood of the Proposition
Undefined – the Proposition is ill-formed and undecidable. The
evidence (if any) is contradictory
Resource Resources are things that you identify that may help you in your project
Idea Ideas are just that - things that come to you when you are performing
analysis that might be useful later
Requirement A statement of what the system should do (functional requirement) or how
the system should do it (non-functional requirement)
Term Terms are words or phrases defined in the ProjectGlossary
8. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 8
• The 7 GA information types comprise a pragmatic set of
information types that we find works well in most
circumstances
• You can add your own, project specific, information types:
• Always work with as few information types as possible
• Define distinct types that have differences that make a
difference
• Only use types that add real benefit to your project -
ask “what does this information type give me?”
• Never waste time arguing about the type of a particular
piece of information - classify it quickly, and then refine
the classification as you find out more
Other information types
9. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 9
• Each piece of information has:
• Type - one of the 7 information types
• Attributes - useful data about the information
• Actions - things you can do with the information
• Actions are the key to GA - information needs to be used
Analysing the information
GA information types are never an end in themselves!
10. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 10
• Information results from a communication of some kind:
• Text and speech (including video and recordings)
• Non-verbal communication e.g. examining artifacts or processes
Information
Information
attribute Semantics
content Describes the piece of Information in text and (optionally) graphics
isCompleted Indicates how important the Information is to the project
notes A catch-all where you can list arbitrary metadata about the Information that
doesn't fit anywhere else
toDoList A list of Actions that describe what needs to happen to the Information
creator The Resource that created the piece of Information
source The Resource that sourced the Information. Gives traceability from features
in your models back to the specific Resources. When you are presenting
your results to stakeholders, they often ask “how do you know that?” or
“who told you that?”
helpers A Resource that knows something specific and useful about the
Information, and that can help you to analyze it. Only list helpers that are
not obvious and that have something important to say
11. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 11
• Each piece of Information has an associated toDoList of
Actions
• An Action is where you describe what needs to happen to the
Information
• Actions drive the GA process forwards
• We kept our model of Actions basic because details are often
project specific:
• Actions impact project management, planning etc.
Action
Action
attribute Semantics
description Describes the Action in text and (optionally) graphics
isCompleted Set to True when the Action has been completed, otherwise is False
… You can add your own attributes depending on the specific needs of your
project e.g. scheduling, priorities, etc.
12. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 12
• A Resource is Information that
refers to an identifiable, locatable
thing, person or role that provides
a source of Information for your
project
• The “who's who” and “what's
what” of a project
• It is vitally important to keep track
of key Resources:
• This is very often left to the uncertain
mechanisms of chance and
networking. This is OK for small
projects, but doesn’t scale well
Resource
13. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 13
• When you track Resources, it is important to know how
to locate and use them!
Resource attributes
Resource
attribute Semantics
locations How you can access the Resource e.g. an address for a person or role, a
map location for a thing, or a URL for a document. Each location must
make the Resource easy to access, so include all necessary information,
including maps if appropriate
uses The specific ways in which the Resource may be useful to your project.
Only specify uses that are specific and not obvious - there's no point listing
obvious or general uses such as “source of information”!
role The job title of a human Resource or the role of the Resource with respect
to the system
14. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 14
• A Question is just that – a query
about some aspect of the system
that needs an answer
• The answer is a set of
Propositions (see later) that
together constitute an answer to
the Question
• You answer Questions by
research:
1. Identify Resources that can
serve as sources of answers
2. Find answers by interviewing or
studying Resources
Question
15. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 15
• Questions are the central mechanism of M++ (see
“Secrets of Analysis”) and of all types of analysis
• The essence of GA is being able to generate good
Questions
• Generate Questions by examining Information and
asking yourself what it actually means:
• Use M++ to identify deletions, distortions,
generalizations and presuppositions to uncover the
meaning of the communication
Questions in GA
16. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 16
• Recover meaning by obtaining more precise Information:
• All communications have some meaning, even if that meaning is only "I
am communicating"
• Programming - extend someone’s map of reality with new
meanings:
• Use Questions to take someone to the edge of their map and gently
push them beyond
• Deprogramming - change maps that are not useful by
questioning them:
• Use Questions to demonstrate that a map is un-sane (see “Secrets of
Analysis)
• Use M++ and the Milton Model to reconfigure their map (see “Secrets of
Analysis)
Three uses of Questions
17. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 17
• A Proposition is a statement about the system
or problem domain whose status may be True,
False, Maybe or Undefined - four valued logic
• The most complex of the GA information types -
their behaviour is the basis of GA
Proposition
18. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 18
• GA is evidence driven - nothing is accepted or rejected
without specific evidence
• The X-Files™ principles:
• “Trust no one”
• “The Truth is out there”
• Or, if you prefer, the Royal Society principle:
• Nullius in verba - take nobody’s word for it!
Proposition attributes
Proposition
attribute Semantics
status May take one of the values Maybe, True, False, or Undefined. The status is
assigned on the basis of evidence accumulated to support it
evidence The specific facts on which the status of a Proposition is based
19. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 19
• Two-valued, Aristotelian logic, in which propositions are either
true or false is generally insufficient to deal with the real-world
in all but the simplest of cases:
• Much of the suffering in the world arises from the inappropriate
application of Aristotelian logic - can you find your own examples?
• GA is based on a richer, more flexible four valued logic, after
von Neumann and Korzybski (General Semantics)
Four-valued logic
20. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 20
• The truth status of a Proposition is always determined by
analysis of the evidence
Maybe, True, False, Undefined
Truth
status Semantics
Maybe The evidence collected to date is either insufficient to determine the truth status
of the Proposition or it hasn't been analyzed yet. This is the default value
True The Proposition has been verified as a fact because there is evidence to
support the truth of the Proposition
False The Proposition has been verified as a falsehood because there is evidence to
support the falsehood of the Proposition
Undefined All the evidence that can be collected has been collected and analyzed. On the
basis of this, the Proposition has been found to be undecidable. The evidence
may be contradictory, or it may simply be impossible in practice to collect
sufficient evidence. Also, the Proposition may just be a swindle.
For a discussion of Nietzschean swindles, see “Secrets of Analysis”
21. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 21
• A Proposition that is Maybe needs more analysis
• A Proposition that is True expresses a truth about the domain:
• These are important Propositions, and you generally need to record
them somehow
• True Propositions may generate a Requirement for the system
• A Proposition that is False expresses a falsehood about the
domain:
• You may be able to discard it, but in many domains there are persistent
falsehoods that come up again and again. In this case keep it!
• A Proposition that is Undefined is just noise and contributes
nothing:
• You can generally delete noise unless it is persistent noise in which case
you keep it
The meaning of Propositions
22. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 22
• To cut through the human tendency to delete, distort and
generalize to support presuppositions, Proposition
status must be based on the evidence
• You must be able to track this evidence back to the real
world (see “Secrets of Analysis”)
• The evidence attribute summarizes the data supporting
the Proposition's assigned status:
• This might be as simple as, "See the Vision Document
paragraph 2”, or, "Private communication with Dr.
Armitage"
• In complex cases, it could be a fairly detailed
description of the rationale behind the assigned status
The status is based on the evidence
23. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 23
• A Proposition in the Maybe state may actually be a
propositional function whose value depends on the value
of one or more multi-ordinal terms (a term that may take
many possible values)
• You must define the the multi-ordinal terms sufficiently to
move the state to True, False or Undefined
Beware of propositional functions
Proposition Truth value
P1: “The library holds periodicals” Maybe until verified by evidence
P2: x < 25 Maybe - a propositional function whose truth depends on x
P3: 23 < 25 True
P4: 25 < 23 False
P5: cat < 25 Undefined - meaningless
Note: An analysis of propositional functions leads directly to 4-valued logic!
24. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 24
• Declarative - use simple, declarative statements
• Simple - the simpler the Proposition, the more likely that you
can analyze it correctly:
• Short sentences with no logical operators (if, else, and, or, not)
• Structured - Propositions usually have one of two structures:
• SVO - subject, verb, object - these are about actions e.g. “The Librarian
adds books to the library catalog.”
• SLVC - subject, linking verb, complement - these are about description
e.g. “Books have an ISBN.”
• Positive - must always be expressed in the positive:
• Look for “not” and remove it
• Atomic - decompose complex Propositions:
• Look for “if”, “else”, “and”, “or” and split
Writing good Propositions
25. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 25
• There are 2 main states - Analyzing and Analyzed
• True Propositions can generate Requirements
• False and Undefined Propositions may be kept to
defend arguments
Proposition lifecycle
26. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 26
• From observation:
• Typically pretty reliable because they are objective
• e.g. “The library card catalog contains cards” - go and take a look!
• From inference:
• Typically less reliable because not necessarily objective
• Inference is a process of logical reasoning about the real world that
almost invariably involves the processes of deletion, distortion and
generalization:
• e.g. “Borrowers may only borrow a book for 28 days”
• P1: There are things called borrowers 👍 😸
• P2: There are things called books 👍 😸
• P3: A borrower may borrow a book for exactly 28 days (no more and no less) 👎 💩
• P4: A borrower may only borrow one (a) book 👎 💩
• Use M++ to analyze inferences (see “Secrets of Analysis”)
Finding Propositions
27. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 27
Beware your tendency to…
Ignorance: when you change the information to fit the map.
Learning: when you change the map to fit the information.
28. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 28
• M++ consists of 17 distinct
patterns of communication
• For each pattern, there is a set
of questions to help you clarify
deletions, distortions and
generalizations in order to
uncover the missing information
• See “Secrets of Analysis” for a
discussion of M++ and many
examples of how to use it
Analysing a Proposition with M++
www.clearviewtraining.com/secrets-of-analysis.html
29. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 29
• An Information type specifically for encouraging
creativity - a catch-all where you can capture any
ideas about the system
• Ideas are important and need to be captured
• Many projects have no formal way to do this!
• Working with Ideas:
1. Generate the Idea - use a brainstorm, mind-mapping,
dialogue mapping or some other creative technique (see
“Secrets of Analysis”)
2. Record it
3. Incubate... (at least half an hour) 🐔
4. Analyze the Idea to generate Resources, Propositions,
Requirements, Terms, Questions and more Ideas
Idea
30. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 30
• A specification of what should be implemented:
• Functional - what behavior the system should offer
• Non-functional - a specific property of the system,
a constraint on the system
• The exact specification of a Requirement will depend
on your particular project
• Requirements have a status of Candidate or
Confirmed
• Candidate - just speculation – it must be
Confirmed by getting it reviewed by stakeholders
and other project members
• Confirmed - a definite Requirement that will be
handled according to its priority. Usually has been
signed off by stakeholders and project managers
(include reference in notes)
Requirement
31. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 31
• A detailed discussion of requirements is out of scope for
this presentation. See “Secrets of Analysis” for more
details
More about requirements…
32. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 32
• The key activity of OOA is
discovering or, more
occasionally, creating an
ontology for the problem
domain
• In GA, you express this
ontology as a Literate UML
model supported by a
ProjectGlossary that
comprises a set of one or
more Terms
Term
33. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 33
• The link between the UML model and the
ProjectGlossary is the keystone of Literate Modelling,
and without such a link, Literate Modeling isn't really
possible
• For more information about Literate Modelling:
• See our SlideShare on Literate Modelling
• Yes - you guessed it! Read “Secrets of Analysis”
Literate Modelling
34. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 34
• Defining Terms is a major activity in GA
• It can help resolve many problems within the business
Term attributes
Term
attribute Semantics
content The term as text e.g. Librarian
definition A dictionary definition for the Term
partsOfModel Pathnames to parts of the UML model that correspond to the Term
partOfSpeech Typically, Noun or Verb (keep it simple!)
status Candidate – the Term hasn't been analyzed yet (the default)
Primary – it is a key Term that should always be used within the project
Secondary – it is a synonym of a key Term that may be used externally to
communicate with stakeholders, but which must never be used within the
project
synonyms Each Term may be associated with zero or more other Terms that are its
synonyms. Each synonym must be a Secondary Term because there can
only be one Primary Term with a given meaning within the project
35. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 35
• The definition of a Term must be:
• Clear – use the principles of Structured Writing that we
discuss in Chapter 3 of, “Secrets of Analysis”
• Unambiguous – apply M++ to check your definitions
(see “Secrets of Analysis”)
• Concise – distill the meaning of the Term into the
shortest possible definition. Long definitions tend to go
unread and unused and are more subject to ambiguity
• General – choose the most general definition that
works
Defining Terms
36. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 36
• Universal - the dictionary entry - an accepted and
reasonable meaning
• Domain - a common usage across a particular
business domain
• Company - universal across a particular company
• Group - restricted to a particular group within a
company - resolve this to a more generally
accepted term if you can:
• DANGER - drift of meaning!
• Individual - a usage restricted to a particular
individual within a company - you must resolve this
to a more generally accepted Term
• For the ProjectGlossary choose the most general
meaning that makes sense for your project - this is
often Universal, Domain or Company
Generality of Terms
Green - best PrimaryTerms
Amber - may be OK
Red - just say no
37. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 37
• You should share as much information as you can with
everyone on the project, but there may be security
restrictions
• Ideally, you should capture the information types in your
UML modelling tool, but check that:
• The tool can handle arbitrary information types well
• The information remains accessible e.g. does the tool have
good search facilities, does everyone have access to it?
• You can also use a Content Management System to store
information:
• Advanced Content Management Systems such as Plone
allow the definition of information types
Managing the information
38. FourvaluedlogicforAnalysts
© 2017 Clear View Training Limited, v1.0 38
• In this presentation we have explored the information
types most used in Generative Analysis
• We have seen how to process these information types
• We have explained the necessity of four valued non-
Aristotelean logic in GA and in analysis in general
• We hope you have enjoyed this presentation and will
support us by purchasing a copy of “Secrets of Analysis”!
Summary
www.clearviewtraining.com/secrets-of-analysis.html