making sense of design patterns

9
Making Sense of Design Patterns Rinke Hoekstra [email protected] , [email protected] Joost Breuker [email protected] T here must be a r eason w hy c ertain patterns are more useful than others + BONUS DP!!!

Upload: rinke-hoekstra

Post on 19-Jan-2015

943 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Making Sense of Design Patterns

Making Sense of Design Patterns

Rinke [email protected], [email protected]

Joost [email protected]

There must be a reason why certain

patterns are more useful than others

+ BONUS DP!!!

Page 2: Making Sense of Design Patterns

What’s a good Design Pattern?

• Categorise– Logical, content, lexico-syntactic, ...

• Submit and Review– http://ontologydesignpatterns.org – Incentive to share?

• ... preliminary evaluation results (Blomqvist et al., 2009)

• Criteria– Mix required metadata, with quality criteria– Pros and cons, competency questions– “cognitively relevant” and “best practices”

Page 3: Making Sense of Design Patterns

Linguistics

• Linguistic expressions follow cognitive rules (Pinker, 2007)

– Recurring structures in language– Can be reapplied to create new meaning– Signal fundamental concepts of thought

“We gather our ideas, put them into words, and if our verbiage is not empty or hollow, we might get these ideas across to a listener, who can unpack our words to extract their content”

“Give a muffin to a moose” vs. “Give a moose a muffin”“Biff drove the car to Chicago” vs. “Biff drove Chicago the car”

Page 4: Making Sense of Design Patterns

Design Decisions

Conceptual Model

Two Sides to a Coin

• ... KADS, CommonKADS– “Knowledge modelling” (van Heijst et al., ‘97)

• Design patterns bridge the gap– they are specific to a KR language– ... but commit to a conceptual model that exists

independently of it

DPs Ontology

Page 5: Making Sense of Design Patterns

Fundamental Design Decision

• Design patterns– commit to a conceptualisation– express a structure in a language– thereby exclude other solutions

• Well known commitments...– Binary vs. n-ary relations (action)– Relative vs. absolute (time, place)– Reification vs. abstraction (roles)

Are roles classes or relations?

Page 6: Making Sense of Design Patterns

Roles

Are roles classes or relations?

BONUS DP!!!

Rinke Hoekstra. Representing Social Reality in OWL 2. In Evren Sirin and Kendall Clark, ed., Proceedings of OWLED 2010, June 2010

Searle, The Structure of Social Reality, 1995

Page 7: Making Sense of Design Patterns

It’s like Legotm!

Page 8: Making Sense of Design Patterns

Discussion• Message: move beyond best practices• Design patterns

– Capture fundamental design decisions, – Recurrent structures that reflect cognitive notions– Bridge the gap between conceptualization and

implementation.– Give insight in expert knowledge

• What next?– Domain theories, but also linguistics and cognition– Harvest recurring patterns in existing ontologies– Assess tradeoffs, i.e. discover design decisions– Design patterns as index to a library of ontologies

Page 9: Making Sense of Design Patterns

There’s more in the paper...

• Five requirements for design patterns• Structure patterns• ... much more detail

Rinke [email protected] / [email protected]

There’s also a book

Rinke Hoekstra. Ontology Representation – Design Patterns and Ontologies that Make Sense. IOS Press, 2009