The document describes the Anchor Modeling technique, which allows for temporal modeling of information. Some key points:
1) Anchor Modeling structures information using anchors to represent identities, knots for value domains, attributes for property values, and ties for relationships between entities. This allows modeling of information temporally.
2) The technique models information based on what is known, rather than guessing, and allows information to evolve over time as more becomes known.
3) It facilitates "time travel" to view information as it was known at different points in time in the past or may be in the future. This includes considering different perspectives or future scenarios.
1 of 49
Download to read offline
More Related Content
Back to the Moment Extended
1. change
up to
?www.uptochange.com and www.anchormodeling.com
息
Copyleft 2013
What if you could travel through time
and become someone else?
Lars R旦nnb辰ck
co-author of Anchor Modeling,
an award winning agile modeling technique
for evolving data environments
@anchormodeling
extended version
2. change
up to
?
What is it all about?
or how to understand the temporal nature of information
Anchoranytime to the time of any
TM
3. change
up to
?
It is
about liberty
The Anchor Modeling technique is free to use for
anyone in any way you like.
All material we publish or present is made available
through Creative Commons or Copyleft licenses.
Our modeling tool is Open Source and available in
the cloud as well as a stand alone package for local
installations.
4. change
up to
?
It is
about things
Things are that which the domain can
recognize and determine if it is something
new or something already known. It may be
the case that Leonardo and Da Vinci are
the same thing, or it may not. Only the
domain knows.
5. change
up to
?
It is
about identities
Every thing is given a unique identity,
through which it is possible to determine
equality. If Leonardo and Da Vinci are
referring to the same thing, then Leonardo
and Da Vinci share the same identity.
6. change
up to
?
It is about
what is said of things
Temporal posits are identifiable statements
that take the forms:
tuple of ids , tuple of roles ,v,t
where the identities represent things identifiable by the
domain and the roles are those through which the value
v appears at time t. Static posits, in which the value
remains the same for all time, have no time part.
7. change
up to
?
Example posits
Leonardos hair color turned gray in 1501.
#9 , hairColor , gray, 1501
Leonardo was born in 1452.
#9 , born , 1452
8. change
up to
?
... and their
relationships
Leonardo is married to Beatrice since 1482.
#9, #7 , husband, wife , married, 1482
Leonardo divorced Beatrice in 1489.
#9, #7 , husband, wife , divorced, 1489
9. change
up to
?
It is
about classification
Every posit has a corresponding type, which
create groupings of things that through their
properties have some kind of similarity. If
Leonardo and Beatrice are persons, they may
belong to a Person ensemble, defined by
that which is born, may have different hair
colors over time and can be married.
10. change
up to
?
It is about modeling
Modeling is the act of finding relevant types.
An ensemble is a set of posit types.
For example the Person ensemble:
{
了1 , born , va ,
了1 , hairColor , vb, tb ,
了1, 了2 , husband, wife , vc, tc
}
0
26. change
up to
?
It is
about evolution
Before 1998 the Person ensemble did not
have a property called hair color, but it was
added after that, and marital status was
introduced in 2005. A model is non-
destructively extended in order to cope with
structural changes, such as new ensembles,
new properties, or new relationships.
-N
41. change
up to
?
Is it
about certainty
There is no guesswork in Anchor Modeling,
you only model what you know. Whatever
happens in the future will be taken care of in
the future.
Revisiting your model should be encouraged
and inspiring, not discouraged and
disconcerting.
42. change
up to
?
It is about
who said what when
If q is a posit, then both the positors A and B
may have stated that q is a fact, such that:
A asserted q in 1999
B also asserted q, but in 2003
The recording of such information is done
in an annex to the posit.
43. change
up to
?
It is
about concurrency
Even if A and B disagree, say on a value for a
property, such that:
A asserted Leonardos hair was brown.
B asserted Leonardos hair was blonde.
both views can be recorded, resulting in
a concurrent-temporal implementation.
44. change
up to
?
It is
about reliability
If both A and B asserted q, they may have
done so with different degrees of reliability:
Text
A (1999):
B (2003):
I think Leonardo divorced
Beatrice in 1489.
I am absolutely certain that
Leonardo divorced Beatrice
in 1489.
45. change
up to
?
It is
about corrections
Even if B was so sure about q, there is no
guarantee that B is correct, and perhaps later
it is learnt that:
B (2005): I was wrong, Leonardo never
divorced Beatrice.
As a consequence, the posit made by B in
2003 must be considered unreliable.
56. change
up to
?
It is
about metadata
If B uttered q in 2003, this information may
have been recorded elsewhere in 2012 by job
number 555 extracting data from system 9.
This information becomes metadata in the
model.
There are now three points in time:
when something changed, was posited, or recorded.
57. change
up to
?
It is
about completeness
All in all, that means that in 2012, job
number 555 using system 9 recorded that:
In 2003 B asserted I am absolutely certain
that Leonardo divorced Beatrice in 1489.
We also know that marital status was
introduced as a property of the Person
ensemble in 2005.
58. change
up to
?
It is
about time traveling
Questions can be given the answers they would have
been given at any point in time and by anyone
making posits, both with respect to which value was or
will be in effect at the time and to what the chosen
positor knew at the time.
Furthermore, it is possible to determine if the question
was possible to answer at the time or not, due to the
structural evolution of the model or when data was
recorded.
59. change
up to
?
It is about seizing the
past and the future
In Anchor Modeling, you can see the future
based on what the future will be like and see
the past as the past was really like.
You can even see the past through what you
know today or an alternative future as it
would be under different circumstances.
60. change
up to
?
So how do you do it?
or how to become a vicarious temporal navigator
Anchoranytime to the time of any
TM
61. change
up to
?
Do it elementary
Information has no temporality in itself, but
information can be temporally modeled:
Mona Lisa was painted in 1503 and has been hanging
in the Louvre since 1797.
Research done in 2012 has shown that Mona Lisa was
in fact painted somewhat later, in 1506.
During the Second World War, 19391945, the painting
was moved to safety in the Ingres Museum.
All this was stored in a database today.
62. change
up to
?
Do it structurally
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012 today
63. change
up to
?
Do it identifiably
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012
(value)
(identity)
(identity)
(value) (value)
(value)
today
64. change
up to
?
Do it temporally
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012
(happening time)
(positing time)
(changing time)
(recording time)
today
65. change
up to
?
Do it modeled
Mona Lisa
#4711
#42
1503
Louvre
#43
Ingres
has the name
painted
has the name
has the name
painting
museum
museum
hanging
since 1797
hanging
since 1939
hanging
since 1945
1506
corrected
in 2012
(attribute)
(anchor)
(anchor)
(attribute)
(tie)
(attribute)
today
(metadata)
66. change
up to
?
Do it conceptually
Anchors
store identities of entities
Knots
store value domains
Attributes
store values of properties
(with optional history over changing time)
Ties
store relationships between entities
(with optional history over changing time)
67. change
up to
?
Do it graphically
m
1
PA_Painting
MU_Museum
PA_NAM_Painting_Name
PA_PDA_Painting_PaintedDate
MU_NAM_Museum_Name
PA_hanging_MU_at
Anchor Modeling also
provides a naming
convention with
semantic encoding
68. change
up to
?
Do it relationally
MU_Museum
MU_ID (PK)
MU_NAM_Museum_Name
MU_ID (PK, FK)
MU_NAM_Museum_Name
PA_hanging_MU_at
PA_ID_hanging (PK, FK)
MU_ID_at (FK)
PA_hanging_MU_at_ChangedAt (PK)
PA_Painting
PA_ID (PK)
PA_NAM_Painting_Name
PA_ID (PK, FK)
PA_NAM_Painting_Name
PA_PDA_Painting_PaintedDate
PA_ID (PK, FK)
PA_PDA_Painting_PaintedDate
The tables in the
database will be in
sixth normal form.
There is a one-to-one
correspondence between
graphical symbols and
tables in the database.
A
74. change
up to
?
Do it evolutionary
1
m
m
1
PA_Painting
MU_Museum
PR_Painter
PA_NAM_Painting_Name
PA_PDA_Painting_PaintedDate
MU_NAM_Museum_NamePR_NAM_Painter_Name
PA_hanging_MU_at
PA_is_PR_paintedBy
All changes are
implemented as
extensions to the
existing model.
84. 油
F L FL F GM D
MU_Museum
MU_ID (PK)
MU_NAM_Museum_Name
MU_ID (PK, FK)
MU_NAM_Museum_Name
PA_hanging_MU_at
PA_ID_hanging (PK, FK)
MU_ID_at (FK)
PA_hanging_MU_at_ChangedAt (PK)
PA_Painting
PA_ID (PK)
PA_NAM_Painting_Name
PA_ID (PK, FK)
PA_NAM_Painting_Name
PA_PDA_Painting_PaintedDate
PA_ID (PK, FK)
PA_PDA_Painting_PaintedDate
PA_is_PR_paintedBy
PA_ID_is (PK, FK)
PR_ID_paintedBy (FK)
PR_Painter
PR_ID (PK)
PR_NAM_Painter_Name
PR_ID (PK, FK)
PR_NAM_Painter_Name
Extensions to
the model
result only in
new tables in
the database.
100. 油E L L
Every posit has its
own identity and
the annex holds
data about the
positor. Anchors
and knots are
immutable.
the annexing
modeling pattern
143. change
up to
?
Who is already doing it?
or how some have learnt to adapt to change
Anchoranytime to the time of any
TM
144. change
up to
?
The insurance industry
is doing it
A customer lifetime value model is using concurrent-
temporal modeling to store the input values for over
600 parameters, each estimated (changing time) for
the next 50 years, and revised (positing time) yearly.
Such a set is called a scenario (positor), and there are
for example standard, best-case, and worst-case
scenarios that can be used in the calculations.
145. change
up to
?
The traders
are doing it
A trading system is looking back at every second of
the last 15 minutes of trading, in order to predict the
next 60 seconds (changing time) of trades with
different probabilities (reliability).
Statistical and genetic systems analyze the 60x60
predictions per minute over longer periods (time-
traveling), and adjust the trading algorithm.
146. change
up to
?
And why should You?
or how to survive in an ever changing environment
Anchoranytime to the time of any
TM
148. change
up to
?
Because change is
accelerating
5,000,000,000 The earth forms
500,000,000 Vertebrates
50,000,000 Mammals
5,000,000 Primates
500,000 Humans
50,000 Great migrations
5,000 Civilizations
500 Printing press
50 Television
5 Mobile Internet
167. change
up to
?
Because it is
well-founded
Entity Relationship Modeling
(1976 Chen)
Bitemporal Databases
(1992 Snodgrass)
The Sixth Normal Form
(2002 Date, Darwen, Lorentzos)
Immutability, Temporal Independency, and Annexing
(2009 R旦nnb辰ck, Regardt, Johannesson, Bergholtz, Wohed)
F AG
175. change
up to
?
Because it is
proven and active
Research Group
Professor Paul Johannesson, DSV
M.Sc. Lars R旦nnb辰ck, Up To Change
M.Sc. Olle Regardt, Teracom
Ph.D. Maria Bergholtz, DSV
Ph.D. Petia Wohed, DSV
F AG
200. change
up to
?
Anchor Modeling ...
has a solid scientific formalization.
is built on well known principles.
is easy to learn.
is hard to make mistakes with.
fully supports agile development.
shortens implementation time.
lowers maintenance costs.
preserves all previous versions of the database.
increases the lifetime of the database.
has Open Source tools.
is free to use.
-