SlideShare une entreprise Scribd logo
1  sur  216
Télécharger pour lire hors ligne
Some Theory and Practice on
Patterns – In Theory
Yann-Gaël Guéhéneuc
NII, Tokyo, Japan
12/02/14

This work is licensed under a Creative
Commons Attribution-NonCommercialShareAlike 3.0 Unported License
2/216
Did you know that…

3/216
Vision is our dominant sense?

4/216
5/216
6/216
How does vision work?

7/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
8/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
9/216
Visual System
 Vision

Science: Photons to Phenomenology
by Stephen E. Palmer

10/216
Visual System

Retinal
Image

Image-based
Stage

Surface-based
Stage

Item-based
Stage

Category-based
Stage

Working
Memory
11/216
Retinal
Image

Visual System
Region
Analysis

Figure/Group
Distinction

Visual
Interpolation

Items
Grouping

Image-based
Stage

Surface-based
Stage

Item-based
Stage

Category-based
Stage

Working
Memory
12/216
Retinal
Image

Visual System
Region
Analysis

Figure/Group
Distinction

Visual
Interpolation

Items
Grouping

Image-based
Stage

Surface-based
Stage
Comparison

Decision
Item-based
Stage

Category-based
Stage

Working
Memory
13/216
Retinal
Image

Visual System
Region
Analysis

Figure/Group
Distinction

Visual
Interpolation

Items
Grouping

Image-based
Stage

Surface-based
Stage
Comparison

Decision
Item-based
Stage

Items
(Visuo-spatial scratchpad)

Articulatory
Loop

Category-based
Stage

Central
Executive
Long-term
Memory

Working
Memory
14/216
Retinal
Image

Visual System
Region
Analysis

Figure/Group
Distinction

Visual
Interpolation

Items
Grouping

Image-based
Stage

Surface-based
Stage
Comparison

Decision
Item-based
Stage

Items
(Visuo-spatial scratchpad)

Articulatory
Loop

Category-based
Stage

Central
Executive
Long-term
Memory

Working
Memory
15/216
Retinal
Image

Visual System
Region
Analysis

Figure/Group
Distinction

Visual
Interpolation

Items
Grouping

Image-based
Stage

Surface-based
Stage
Comparison

Decision
Item-based
Stage

Items
(Visuo-spatial scratchpad)

Articulatory
Loop

Category-based
Stage

Central
Executive
Long-term
Memory

Working
Memory
16/216
Visual System
 Retinal

image

17/216
Visual System
 Retinal

image

18/216
Visual System
 Region

analysis

– Distinguish items based on their regions

19/216
Visual System
 Region

analysis

– Distinguish items based on their regions

Zhuolin Jiang and Larry S. Davis ; Submodular Salient Region Detection ;
Conference on Computer Vision and Pattern Recognition, IEEE, 2013

20/216
Visual System
 Items

grouping

– Gestalt theory
• Gestalten: to put in form, to give structure

Fritz Perls
*Berlin, July 8, 1893
†Chicago, March 14, 1970
21/216
Visual System

22/216
Visual System

23/216
Visual System

24/216
Visual System

25/216
Visual System


Items grouping
– Laws of the Gestalt

26/216
Visual System


Items grouping
– Laws of the Gestalt
• Good form

27/216
Visual System


Items grouping
– Laws of the Gestalt
• Good form

28/216
Visual System


Items grouping
– Laws of the Gestalt
• Good form

• Continuity

29/216
Visual System


Items grouping
– Laws of the Gestalt
• Good form

• Continuity

30/216
Visual System


Items grouping
– Laws of the Gestalt
• Good form

• Proximity

• Continuity

31/216
Visual System


Items grouping
– Laws of the Gestalt
• Good form

• Proximity

• Continuity

32/216
Visual System


Items grouping
– Laws of the Gestalt
• Good form

• Proximity

• Continuity
• Similitude

33/216
Visual System


Items grouping
– Laws of the Gestalt

34/216
Visual System


Items grouping
– Laws of the Gestalt

• Common destiny

35/216
Visual System


Items grouping
– Laws of the Gestalt

• Common destiny

36/216
Visual System


Items grouping
– Laws of the Gestalt
• Closure
• Common destiny

37/216
Visual System


Items grouping
– Laws of the Gestalt
• Closure
• Common destiny

Completion

38/216
Visual System
 Items

grouping

– Involvement of the memory

39/216
Visual System
 Items

grouping

– Involvement of the memory

40/216
Visual System
 Comparison

– Involvement of the memory

41/216
Visual System
 Comparison

– Involvement of the memory
• Spatial

42/216
Visual System
 Comparison

– Involvement of the memory
• Spatial
• Temporal

43/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
44/216
Memory Models
 One

model

Items
(Visuo-spatial scratchpad)

Articulatory
Loop

Central
Executive
Long-term
Memory

45/216
Memory Models
 One

model

Items
(Visuo-spatial scratchpad)

Articulatory
Loop

Central
Executive
Long-term
Memory

Episodic
Memory

Procedural
Memory

Semantic
Memory

46/216
Memory Models
 One

model

Items
(Visuo-spatial scratchpad)

Articulatory
Loop

Central
Executive
Long-term
Memory

Episodic
Memory

Procedural
Memory

Semantic
Memory

Objects
Representations

Categories
Representations

47/216
Memory Models
 One

model

Episodic
Memory

Procedural
Memory

Semantic
Memory

Objects
Representations

Categories
Representations

48/216
Memory Models
 Another

model

49/216
Memory Models
 Yet

another model

50/216
Memory Models
 Yet

another model

51/216
Memory Models
 Yet,

yet another model

52/216
Memory Models
 Miller,

1956

53/216
Memory Models
 Miller,

1956

MRBXQVLWQK

54/216
Memory Models
 Miller,

1956

?

55/216
Memory Models
 Miller,

1956

?

56/216
Memory Models
 Miller,

1956

?
The Magical Number Seven, Plus or Minus Two:
Some Limits on Our Capacity for Processing Information
57/216
Memory Models
 Brooks,

1978

58/216
Memory Models
 Brooks,

1978

– Problem domain

59/216
Memory Models
 Brooks,

1978

– Problem domain
– Executing program

60/216
Memory Models
 Brooks,

1978

– Problem domain
– Executing program
– Knowledge domains
• Hypothesis-and-verify process
• Importance of documentation

61/216
Memory Models
 Brooks,

1978

– Problem domain
– Executing program
– Knowledge domains
• Hypothesis-and-verify process
• Importance of documentation

62/216
Memory Models
 Soloway,

1983

– Experts’ knowledge that novices do not have
• Programming plans
– RUNNING TOTAL LOOP PLAN
– ITEM SEARCH LOOP PLAN
–…

• Rules of programming discourse
– An IF should be used when a statement body is guaranteed
to be executed only once and a WHILE used when a
statement body may need to be repeatedly executed
–…
63/216
Memory Models
 Soloway,

1983

64/216
Memory Models
 Soloway,

1983

An IF should be used when a statement body is guaranteed
to be executed only once and a WHILE used when a
statement body may need to be repeatedly executed

65/216
Memory Models
 Soloway,

1983

An IF should be used when a statement body is guaranteed
to be executed only once and a WHILE used when a
statement body may need to be repeatedly executed

66/216
Memory Models
 Soloway,

1983

An IF should be used when a statement body is guaranteed
to be executed only once and a WHILE used when a
statement body may need to be repeatedly executed

67/216
Memory Models
 Soloway,

1983

An IF should be used when a statement body is guaranteed
to be executed only once and a WHILE used when a
statement body may need to be repeatedly executed

68/216
Memory Models
 Pennington,

1987

– Multiple abstractions for computer programs
•
•
•
•

(COBOL but may be true for other languages)
Abstraction of function
Abstraction of data-flow
Abstraction of control-flow
Abstraction of conditionalised actions

69/216
Memory Models
 Pennington,

1987

70/216


Abstraction of function
71/216


Abstraction of data-flow
72/216


Abstraction of control-flow
73/216


Abstraction of conditionalised actions
74/216


75/216
Memory Models
 Pennington,

1987

– Programming knowledge
• Text structure knowledge
– Sequences
– Iterations
– Conditionals

• Plan knowledge
–
–
–
–

Plans are intermediate-level programming concepts
Summing
Hashing
Counting
…

76/216
Memory Models
 Pennington,

1987

– Which knowledge and what abstraction?

77/216
Memory Models
 Pennington,

1987

– Which knowledge and what abstraction?

Text structure

78/216


Abstraction of control-flow
79/216
Memory Models
 Van

Mayrhauser, 1995

– From previous works by
•
•
•
•
•
•
•

Pennington
Soloway et al.
Rist
Van Mayhauser and Vans
Letovsky
Brooks
Schneiderman and Mayer
80/216
Memory Models
 Van

Mayrhauser, 1995

81/216
Memory Models
 Van

Mayrhauser, 1995

Integrated model

82/216


83/216


84/216


85/216


86/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
87/216
Mental Models
“The image of the world around us, which we
carry in our head, is just a model. Nobody in
his head imagines all the world, government
or country. He has only selected concepts,
and relationships between them, and uses
those to represent the real system.”
—Jay Wright Forrester, 1971

88/216
Mental Models






89/216
Mental Models
 Mental

models






90/216
Mental Models
 Mental

models
 Formal rules of inference




91/216
Mental Models
 Mental

models
 Formal rules of inference
 Domain-specific rules of inference



92/216
Mental Models
 Mental

models
 Formal rules of inference
 Domain-specific rules of inference
 Probabilities


93/216
Mental Models
 Mental

models
 Formal rules of inference
 Domain-specific rules of inference
 Probabilities
…

94/216
Mental Models

95/216
Memory Models

96/216
Mental Models

97/216
Mental Models
 Context

matters!

98/216
Mental Models
 Context

matters!

99/216
Mental Models
 Context

matters!

100/216
Mental Models
 Context

matters!

101/216
Mental Models
 Context

matters!

102/216
Mental Models
 Minsky,

1974

– Frames
• “data-structure for representing a stereotyped situation”
• “network of nodes and relations” and “slots”

– Frame-systems
• Important actions are transformations between the
frames of a system
• Different frames of a system share the same terminals
(and slots)

– Matching process
103/216
Mental Models
 Minsky,

1974

– Vision
– Speech
– Knowledge
– Control

104/216
Mental Models
 Minsky,

1974

– Vision
– Speech
– Knowledge
– Control

105/216
Mental Models
 Minsky,

1974

– Vision
• A frame, once evoked on the basis of partial evidence
or expectation, would first direct a test to confirm its
own appropriateness
• It would request information needed to assign values
to those terminals that cannot retain their default
assignments
• If informed about a transformation (e.g., an impending
motion), it would transfer control to the appropriate
other frame of that system
106/216
Mental Models
 Minsky,

1974

– Vision
– Speech
– Knowledge
– Control

107/216
Mental Models
 Minsky,

1974

– Knowledge
• Similarity networks

108/216
Mental Models
 Minsky,

1974

– Knowledge
• Similarity networks

109/216
Mental Models
 Minsky,

1974

– Vision
– Speech
– Knowledge
– Control

110/216
Mental Models
 Minsky,

1974

– Control
• TOP-DOWN or LATERAL: Should one make a pass
over all the terminals first or should one attempt a
complete, detailed instantiation of some supposedly
most critical one?
• CENTRAL CONTROL: Should a frame, once
activated, "take over" and control its instantiation, or
should a central process organize the operation

111/216
Mental Models
 Soloway,

1986

– In the context of analyzing problems and
constructing programs
– Goals
• Requirements
• Bugs

– Plans
• “Canned” solutions
• With “meaning”
112/216
Mental Models
 Soloway,

1986

“Master and novice chess players were shown a
meaningful chess board, and asked to recall the
pieces […]. The masters recalled more of the
pieces than did the novices. Next, the masters
and novices were shown a board in which the
chess pieces were placed randomly on the
board. […] The performance of the masters was
the same as that of the novices.”
—Chase and Simon, 1973
113/216
Mental Models
 Soloway,

1986

– Micro-strategies
• Ask questions
• Seek answers
• Repeat
Difficult with delocalised plans

– Macro-strategies
• Systematic (scalability?)
• As-needed (correctness?)
114/216
Mental Models
 Rich

and Waters, 1990

(IBM’s Harlan Mills idea of
“chief programmer teams”)
“[T]o provide software engineers with intelligent
assistance.”
(p. 2)

“The intended interaction between a software
engineer […] is modeled after interaction with a
human assistant.”
(p. 2)

115/216
Mental Models
 Rich

and Waters, 1990

“Between the engineer and the Apprentice […],
the key to effective cooperation is shared
knowledge.”
(p. 4)

– Shared knowledge
• About the system being worked on
• About concepts of software engineering

 Clichés
116/216
Mental Models
 Rich

and Waters, 1990

“[An algorithmic] cliché contains both fixed parts
and parts that vary from one occurrence of the
cliché to the next […], [it] may also include
constraints […].”
(p. 12)

“Non-algorithmic clichés are represented […]
using standard frame-based knowledge
representation techniques […].”
(p. 21)

117/216
Mental Models
 Rich

and Waters, 1990

– Key properties of algorithmic clichés
•
•
•
•

Canonical form
Language independence
Convenient manipulation
Expressiveness

– A representation of clichés
 The Plan Calculus
118/216
Mental Models
 Rich

and Waters, 1990

“The Plan Calculus is intended to be a blueprint
language for software.”
(p. 29)

• Formal representation for
– Programs
– Algorithmic clichés

Subroutines

Flowcharts

Program schemas

Program generators

Macros

Flowchart schemas

Formal grammars

Program transformation

Plan calculus

Logic

Data abstraction

119/216
Mental Models
 Rich

and Waters, 1990
if:negative
T

F

then:negate

T

F
end:join

120/216
Mental Models
 Rich

and Waters, 1990
if:negative
T

F

absolute-value
then:negate

T

F
end:join

121/216
Mental Models
 Rich

and Waters, 1990
input:

next:apply-function

input:
generate

continue:
generation
next:

*

output:

generation

122/216
(On Gaming…)




Visual system
Memory models
Mental models




http://arstechnica.com/science/2014/02/how-action-games-can-improve-our-visual-skills/

123/216
(On Gaming…)




Visual system
Memory models
Mental models




http://arstechnica.com/science/2014/02/how-action-games-can-improve-our-visual-skills/

124/216
(On Gaming…)




Visual system
Memory models
Mental models




http://arstechnica.com/science/2014/02/how-action-games-can-improve-our-visual-skills/

125/216
(On Gaming…)




Visual system
Memory models
Mental models
“[G]amers [were] better at picking out details in a
cluttered scene”

http://arstechnica.com/science/2014/02/how-action-games-can-improve-our-visual-skills/

126/216
(On Gaming…)




Visual system
Memory models
Mental models
“[G]amers [were] better at picking out details in a
cluttered scene”
“[G]amers were able to produce accurate
estimates [of relative counts]”

http://arstechnica.com/science/2014/02/how-action-games-can-improve-our-visual-skills/

127/216
(On Gaming…)




Visual system
Memory models
Mental models
“[G]amers [were] better at picking out details in a
cluttered scene”
“[G]amers were able to produce accurate
estimates [of relative counts]”
“Gamers found it easier to perform mental rotations
of geometric shapes”

http://arstechnica.com/science/2014/02/how-action-games-can-improve-our-visual-skills/

128/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
129/216
Schema Theory

“The captain asked the passengers to fasten
the seat belts. They were ready to take off.”
—Kohls and Scheiter, 2008

130/216
Schema Theory

131/216
Schema Theory
“This comprehensive situation is an
interrelation of events and entities, and is
stored in an internal data structure that can
be activated by recognizing its typical
features. Such data structures, or schemas,
are mental representations in an individual’s
mind.”
—Kohls and Scheiter, 2008
132/216
Schema Theory
“This comprehensive situation is an
interrelation of events and entities, and is
stored in an internal data structure that can
be activated by recognizing its typical
features. Such data structures, or schemas,
are mental representations in an individual’s
mind.”
—Kohls and Scheiter, 2008
133/216
Schema Theory
“Human brains operate fundamentally in
terms of pattern recognition rather than of
logic. They are highly constructive in settling
on given schema and at the same time are
constantly open to error.”
—Edelman, 2006
(With minor adaptation)

134/216
Schema Theory
 Piaget,

1969

– Child development theory
– Schema and associated processes

135/216
Schema Theory
 Piaget,

1969

– Child development theory
– Schema and associated processes

136/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• From Plato and Aristotle: essential commonalities,
basic properties that are distinctive of an object
To Kant: link from stimuli to “pure” concepts
– Perceived chair vs. “ideal” chair
– No a-priori knowledge

• Gick and Holyoak: learning by examples and problem
solving (like in mathematics)
137/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Abstract representation of multiple instances of the
same kinds of
–
–
–
–
–

Concept
Situation
Plan
Behaviour
…

to recognise similar / discriminate dissimilar
experiences, access common concepts, draw
inferences, create goals, develop plans, use skills138/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Variables (or slots or attributes)
• (Constrained) Ranges of values
– People’s experience
– Constants
– Optional or mandatory

• Constraints among variables
and their values
139/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Variables (or slots or attributes)
• (Constrained) Ranges of values
– People’s experience
– Constants
– Optional or mandatory

• Constraints among variables
and their values
140/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Variables (or slots or attributes)
• (Constrained) Ranges of values
– People’s experience
– Constants
– Optional or mandatory

• Constraints among variables
and their values
141/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Variables (or slots or attributes)
• (Constrained) Ranges of values
– People’s experience
– Constants
– Optional or mandatory

• Constraints among variables
and their values
142/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Prototypical object

• Object space and (mental) object generator

143/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Prototypical object

• Object space and (mental) object generator

144/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Prototypical object

• Object space and (mental) object generator

145/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Prototypical object

• Object space and (mental) object generator

146/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Prototypical object

• Object space and (mental) object generator

147/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Part-of

• Coupling

• Is-a
148/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Part-of

• Coupling

• Is-a
149/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Part-of

• Coupling

• Is-a
150/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Part-of

• Coupling

• Is-a
151/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Hierarchy
– Contexts
– Forces
– Probabilities

152/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Hierarchy
– Contexts
– Forces
– Probabilities

153/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Hierarchy
– Contexts
– Forces
– Probabilities

154/216
Schema Theory
 Piaget,

1969

– Schema and associated processes
• Use

155/216
156/216
(Schema Theory  Programming)
 Papert

worked with Piaget from 1958 to
1963 and afterwards
– Constructionism
• Learning as a reconstruction rather than as a
transmission of knowledge
• Learning is most effective when part of learner’s
activity to build a meaningful product

http://www.lispcast.com/programming-language-stages-of-development

157/216
(Schema Theory  Programming)



Papert developed the Logo programming language
within the constructionism theory circa. 1967
158/216
(Schema Theory  Programming)
 Explanations

of Logo programming using
a simplified cognitive development model
Corporal  Visual  Symbolic
– The child learns to see her own perspective from
the outside in the turtle
– The child sees the results of her commands
immediately (cf. chick sexing)
– The child could think of the result of her
commands before their execution

159/216
(Schema Theory  Programming)
 Explanations

of object-oriented programming using the same simplified model
Corporal  Visual  Symbolic
– The ability to program from the perspective of a
single object at a time
– The ability to think in terms of visual, archetypal
interactions (client-server, MVC, etc.)
– The ability to build abstractions with simple yet
powerful rules and meta-programming

160/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes

161/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes

162/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes
• Animal face
• human face
• Bob’s face

163/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes
• Animal face
• human face
• Bob’s face

164/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes
• Animal face
• human face
• Bob’s face

165/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes
• Animal face
• human face
• Bob’s face

166/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes
• Animal face
• human face
• Bob’s face

167/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Comprehension: pattern matching of memorised
schema that cooperates and competes
• Animal face
• human face
• Bob’s face

168/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Accretion: specific situation or experience stored in
schemas used to reconstruct original experience
– Episodic memory
– Specific details

169/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Accretion: specific situation or experience stored in
schemas used to reconstruct original experience
– Episodic memory
– Specific details

곰 세 마리가 한 집에 있어
아빠 곰 엄마 곰 애기 곰
아빠 곰은 뚱뚱해
엄마 곰은 날씬해
애기 곰은 너무 귀여워

170/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Accretion: specific situation or experience stored in
schemas used to reconstruct original experience
– Episodic memory
– Specific details

곰 세 마리가 한 집에 있어
아빠 곰 엄마 곰 애기 곰
아빠 곰은 뚱뚱해
엄마 곰은 날씬해
애기 곰은 너무 귀여워

Why/How is specific information forgotten/replaced by
generalised knowledge?
171/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Tuning: modifications to existing schemas
– Variables
– Ranges
– Probabilities

172/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Tuning: modifications to existing schemas
– Variables
– Ranges
– Probabilities

173/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Restructuring: ex nihilo / copy of existing schemas
– Schema generation by analogies with existing schema, is-a
– Schema induction from existing schema, has-a

174/216
Schema Theory
 Rumelhart

and Norman, 1978

– Models of learning
• Restructuring: ex nihilo / copy of existing schemas
– Schema generation by analogies with existing schema, is-a
– Schema induction from existing schema, has-a

175/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
176/216
Software Patterns


Schemas
– Variables
– Ranges of values
• Forces

– Constraints among
variables and their
values

177/216
Software Patterns


Schemas
– Variables
– Ranges of values
• Forces

– Constraints among
variables and their
values
What class plays this role?

178/216
Software Patterns


Schemas
– Variables
– Ranges of values
• Forces

– Constraints among
variables and their
values
Possible classes playing this role
plus their relations, implementation…

179/216
Software Patterns


Schemas
– Variables

Expected relations, interactions…

– Ranges of values
• Forces

– Constraints among
variables and their
values

180/216
Software Patterns
 Schema

theory

“The pattern is an attempt to discover some
invariant features, which distinguishes good
places from bad places with respect to some
particular system of forces.”
—Christopher Alexander, 1979

181/216
Software Patterns
 Knowledge

and–or procedure

“The solution part of a good pattern describes
both a process and a thing: the ‘thing’ is created
by the ‘process’.”
—Christopher Alexander, 1979
“Furthermore, a pattern tells about a form not
only what it is but also what it does.”
—Christopher Alexander, 1964
182/216
Software Patterns
 Space

and generation

“A pattern describes a coherent yet infinite
design space, not a finite set of implementations
in that space.”
—Frank Buschmann, Kevlin Henney,
and Douglas C. Schmidt, 2007

183/216
Software Patterns


Use design patterns
–
–
–
–

Composite
Decorator
Observer
…

to generate the
architecture of the
program
184/216
Software Patterns
 Wholeness

– Quality Without a Name
• Forces

“Having an ideal concept of a thing lets one
judge the beauty of it”
—Kohls and Scheiter, 2008

185/216
Software Patterns

186/216
Software Patterns
“Important assumptions
– That patterns can be codified in such a way that
they can be shared between different designers
– That reuse will lead to “better” designs. There is
an obvious question here of what constitutes
“better”, but a key measure is maintainability”

—Zhang and Budgen, 2012
(With minor adaptations)

187/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
188/216
Empirical Studies
“Eye movements are uniquely poised between
perception and cognition. They are central to the
function of the visual system, but for such scanning
to be efficient, it cannot be simply a random
sample of the visual world. To be useful, eye
movements must be related to an organism’s
memories, expectations and goals. Consequently,
eye movements are driven equally by bottom-up
perceptual properties of the world and top-down
cognitive processes.”
—Richardson, Dale, and Spivey, 2013
189/216
Empirical Studies
“Eye movements are uniquely poised between
perception and cognition. They are central to the
function of the visual system, but for such scanning
to be efficient, it cannot be simply a random
sample of the visual world. To be useful, eye
movements must be related to an organism’s
memories, expectations and goals. Consequently,
eye movements are driven equally by bottom-up
perceptual properties of the world and top-down
cognitive processes.”
—Richardson, Dale, and Spivey, 2013
190/216
Empirical Studies
“Eye movements are uniquely poised between
perception and cognition. They are central to the
function of the visual system, but for such scanning
to be efficient, it cannot be simply a random
sample of the visual world. To be useful, eye
movements must be related to an organism’s
memories, expectations and goals. Consequently,
eye movements are driven equally by bottom-up
perceptual properties of the world and top-down
cognitive processes.”
—Richardson, Dale, and Spivey, 2013
191/216
Empirical Studies
“Eye movements are uniquely poised between
perception and cognition. They are central to the
function of the visual system, but for such scanning
to be efficient, it cannot be simply a random
sample of the visual world. To be useful, eye
movements must be related to an organism’s
memories, expectations and goals. Consequent,
eye movements are driven equally by bottom-up
perceptual properties of the world and top-down
cognitive processes.”
—Richardson, Dale, and Spivey, 2013
192/216
Empirical Studies
“Eye movements are uniquely poised between
perception and cognition. They are central to the
function of the visual system, but for such scanning
to be efficient, it cannot be simply a random
sample of the visual world. To be useful, eye
movements must be related to an organism’s
memories, expectations and goals. Consequent,
eye movements are driven equally by bottom-up
perceptual properties of the world and top-down
cognitive processes.”
—Richardson, Dale, and Spivey, 2013
193/216
194/216
http://web-tan.forum.impressrd.jp/e/2009/04/02/5280

195/216
http://another-voice.jp/jp/katsu/professional_view/01/index.shtml

196/216
http://another-voice.jp/jp/katsu/professional_view/01/index.shtml

197/216
Empirical Studies
 Data

– Fixations
– Saccades
– Scan path
 Analyses

– Centres of interests
– Effort
– Duration
–…
198/216
Empirical Studies

199/216
200/216
201/216
Empirical Studies
 SR

Research Eye-link II

– www.sr-research.com
– Intrusive
– Two infra-red cameras and one sensor
– Error rate < 0.5º
– Sampling rate of 500Hz
– Access eye position < 3.0 ms.
– 0.01º RMS resolution (tilt)
 EyeLink

Data Viewer
202/216
203/216
204/216
Empirical Studies
 Tobii

1750 eye-tracker

– www.tobii.se
– Non-intrusive (no head mount)
– Two cameras built into a 17 in flat screen
– Records audio and video of a session
– Error rate < 0.5º
– Sampling rate of 50Hz
 ClearView

software
205/216
206/216
207/216
Empirical Studies
 Seeing

Machines FaceLab 5

– www.seeingmachines.com
– Non-intrusive
– Two infra-red cameras
– Error rate < 1º
– Sampling rate of 60Hz
– Complete head-tracking ±90º (y), ±45º (x)
– Complete eye-tracking ±45º (y), ±22º (x)
 GazeTracker
208/216
Outline
 Visual

system
 Memory models
 Mental models
 Schema theory
 Software patterns
 Empirical studies
 Conclusion
209/216
Conclusion
“That practices can be codified in such a
way that they can be shared between
different designers”
—Zhang and Budgen, 2012
 What

format?
 How memorised?
 How acquired?
210/216
Conclusion
“That practices can be codified in such a
way that they can be shared between
different designers”
—Zhang and Budgen, 2012
 What

format?
 How memorised?
 How acquired?

Schema theory

211/216
Conclusion
“That practices can be codified in such a
way that they can be shared between
different designers”
—Zhang and Budgen, 2012
 What

format?
 How memorised?
 How acquired?

Schema theory
Long-term memory
212/216
Conclusion
“That practices can be codified in such a
way that they can be shared between
different designers”
—Zhang and Budgen, 2012
 What

format?
 How memorised?
 How acquired?

Schema theory
Long-term memory
Gestalt theory
213/216
Conclusion
 Software

patterns

– Schema theory
– Knowledge and–or procedure
– Space and generation
– Wholeness

214/216
Conclusion
 Empirical

studies

– Patterns use and usefulness
•
•
•
•

Faults
Changes
Comprehension
…

– Many opportunities to understand program
comprehension better!
215/216
Conclusion
 Empirical

studies

– Patterns use and usefulness
•
•
•
•

Faults
Changes
Comprehension
…

– Many opportunities to understand program
comprehension better!
216/216

Contenu connexe

En vedette

Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptPtidej Team
 
Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...
Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...
Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...Pierre
 
Normalisation des exigences système / logiciel
Normalisation des exigences système / logicielNormalisation des exigences système / logiciel
Normalisation des exigences système / logicielPierre
 
Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)Pierre
 
Ingénierie des exigences dans un contexte agile 02 2016
Ingénierie des exigences dans un contexte agile 02 2016Ingénierie des exigences dans un contexte agile 02 2016
Ingénierie des exigences dans un contexte agile 02 2016Stéphane BADREAU
 

En vedette (15)

Wcre13b.ppt
Wcre13b.pptWcre13b.ppt
Wcre13b.ppt
 
Rsse12.ppt
Rsse12.pptRsse12.ppt
Rsse12.ppt
 
Wcre13a.ppt
Wcre13a.pptWcre13a.ppt
Wcre13a.ppt
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
 
Wcre12b.ppt
Wcre12b.pptWcre12b.ppt
Wcre12b.ppt
 
See12.ppt
See12.pptSee12.ppt
See12.ppt
 
Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
 
Wcre13c.pdf
Wcre13c.pdfWcre13c.pdf
Wcre13c.pdf
 
Wcre12c.ppt
Wcre12c.pptWcre12c.ppt
Wcre12c.ppt
 
Ssbse12a.ppt
Ssbse12a.pptSsbse12a.ppt
Ssbse12a.ppt
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 
Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...
Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...
Ingénierie des exigences - Principes de base de GenSpec (la théorie derrière ...
 
Normalisation des exigences système / logiciel
Normalisation des exigences système / logicielNormalisation des exigences système / logiciel
Normalisation des exigences système / logiciel
 
Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)
 
Ingénierie des exigences dans un contexte agile 02 2016
Ingénierie des exigences dans un contexte agile 02 2016Ingénierie des exigences dans un contexte agile 02 2016
Ingénierie des exigences dans un contexte agile 02 2016
 

Similaire à Software Design Patterns in Theory

Week 4Operating SystemsCardPunch - verif.docx
Week 4Operating SystemsCardPunch - verif.docxWeek 4Operating SystemsCardPunch - verif.docx
Week 4Operating SystemsCardPunch - verif.docxcockekeshia
 
Action Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene GraphsAction Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene GraphsSangmin Woo
 
"Enhancing Intelligent Agents with Episoic Memories"
"Enhancing Intelligent Agents with Episoic Memories""Enhancing Intelligent Agents with Episoic Memories"
"Enhancing Intelligent Agents with Episoic Memories"diannepatricia
 
Dissertation_of_Pieter_van_Zyl_2_March_2010
Dissertation_of_Pieter_van_Zyl_2_March_2010Dissertation_of_Pieter_van_Zyl_2_March_2010
Dissertation_of_Pieter_van_Zyl_2_March_2010Pieter Van Zyl
 
OS Memory Management
OS Memory ManagementOS Memory Management
OS Memory Managementanand hd
 
Software Requirement Patterns (SRP)
Software Requirement Patterns (SRP)Software Requirement Patterns (SRP)
Software Requirement Patterns (SRP)GESSI UPC
 
Pattern-Oriented Memory Forensics
Pattern-Oriented Memory ForensicsPattern-Oriented Memory Forensics
Pattern-Oriented Memory ForensicsDmitry Vostokov
 
UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...
UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...
UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...EmadfHABIB2
 
A replication study of the top performing systems in SemEval twitter sentimen...
A replication study of the top performing systems in SemEval twitter sentimen...A replication study of the top performing systems in SemEval twitter sentimen...
A replication study of the top performing systems in SemEval twitter sentimen...Raphael Troncy
 
Functional Thinking Paradigm Over Syntax.pdf
Functional Thinking Paradigm Over Syntax.pdfFunctional Thinking Paradigm Over Syntax.pdf
Functional Thinking Paradigm Over Syntax.pdfDouglas Fernandes
 
Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...
Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...
Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...민진 최
 
Working Memory Mode - Sunwoo&Marz
Working Memory Mode - Sunwoo&MarzWorking Memory Mode - Sunwoo&Marz
Working Memory Mode - Sunwoo&Marzswp91
 
Working Memory Model - Sunwoo, Marz
Working Memory Model - Sunwoo, MarzWorking Memory Model - Sunwoo, Marz
Working Memory Model - Sunwoo, Marzguestfb6f93
 
ASHU RNN PPT JLU
ASHU RNN PPT JLUASHU RNN PPT JLU
ASHU RNN PPT JLUashu1singh2
 
Machine learning in science and industry — day 4
Machine learning in science and industry — day 4Machine learning in science and industry — day 4
Machine learning in science and industry — day 4arogozhnikov
 
Memory forensics
Memory forensicsMemory forensics
Memory forensicsSunil Kumar
 
4 memory management bb
4   memory management bb4   memory management bb
4 memory management bbShahid Riaz
 
Mechanising_Programs_in_IsabelleHOL
Mechanising_Programs_in_IsabelleHOLMechanising_Programs_in_IsabelleHOL
Mechanising_Programs_in_IsabelleHOLAnkit Verma
 

Similaire à Software Design Patterns in Theory (20)

Week 4Operating SystemsCardPunch - verif.docx
Week 4Operating SystemsCardPunch - verif.docxWeek 4Operating SystemsCardPunch - verif.docx
Week 4Operating SystemsCardPunch - verif.docx
 
doing_parallel.pdf
doing_parallel.pdfdoing_parallel.pdf
doing_parallel.pdf
 
Action Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene GraphsAction Genome: Action As Composition of Spatio Temporal Scene Graphs
Action Genome: Action As Composition of Spatio Temporal Scene Graphs
 
"Enhancing Intelligent Agents with Episoic Memories"
"Enhancing Intelligent Agents with Episoic Memories""Enhancing Intelligent Agents with Episoic Memories"
"Enhancing Intelligent Agents with Episoic Memories"
 
Dissertation_of_Pieter_van_Zyl_2_March_2010
Dissertation_of_Pieter_van_Zyl_2_March_2010Dissertation_of_Pieter_van_Zyl_2_March_2010
Dissertation_of_Pieter_van_Zyl_2_March_2010
 
OS Memory Management
OS Memory ManagementOS Memory Management
OS Memory Management
 
Software Requirement Patterns (SRP)
Software Requirement Patterns (SRP)Software Requirement Patterns (SRP)
Software Requirement Patterns (SRP)
 
Pattern-Oriented Memory Forensics
Pattern-Oriented Memory ForensicsPattern-Oriented Memory Forensics
Pattern-Oriented Memory Forensics
 
Jc nov.07.2019
Jc nov.07.2019Jc nov.07.2019
Jc nov.07.2019
 
UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...
UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...
UPDATED (Version 1.0) Systems Neurology (the only objective is My CAREER, onl...
 
A replication study of the top performing systems in SemEval twitter sentimen...
A replication study of the top performing systems in SemEval twitter sentimen...A replication study of the top performing systems in SemEval twitter sentimen...
A replication study of the top performing systems in SemEval twitter sentimen...
 
Functional Thinking Paradigm Over Syntax.pdf
Functional Thinking Paradigm Over Syntax.pdfFunctional Thinking Paradigm Over Syntax.pdf
Functional Thinking Paradigm Over Syntax.pdf
 
Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...
Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...
Session-aware Linear Item-Item Models for Session-based Recommendation (WWW 2...
 
Working Memory Mode - Sunwoo&Marz
Working Memory Mode - Sunwoo&MarzWorking Memory Mode - Sunwoo&Marz
Working Memory Mode - Sunwoo&Marz
 
Working Memory Model - Sunwoo, Marz
Working Memory Model - Sunwoo, MarzWorking Memory Model - Sunwoo, Marz
Working Memory Model - Sunwoo, Marz
 
ASHU RNN PPT JLU
ASHU RNN PPT JLUASHU RNN PPT JLU
ASHU RNN PPT JLU
 
Machine learning in science and industry — day 4
Machine learning in science and industry — day 4Machine learning in science and industry — day 4
Machine learning in science and industry — day 4
 
Memory forensics
Memory forensicsMemory forensics
Memory forensics
 
4 memory management bb
4   memory management bb4   memory management bb
4 memory management bb
 
Mechanising_Programs_in_IsabelleHOL
Mechanising_Programs_in_IsabelleHOLMechanising_Programs_in_IsabelleHOL
Mechanising_Programs_in_IsabelleHOL
 

Plus de Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

Plus de Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Software Design Patterns in Theory