Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David...

14
Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems

Transcript of Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David...

Page 1: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Simplicity

UK Systems Society11th International Conference

September 2007, Oxford

David Livingstone

in Relational Database Systems

Page 2: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Background

DB research project : achieving simplicity is inherent.A PhD built on this : find simple solution to a problem.

Draft PhD chapters assumed ‘simplicity’. Not acceptable !

What is this simplicity ? Why is it important ?What is the basis ? What is the aim ?

Underlying suspicion - “simplicity is not realistic”.Simplicity ≡ easy research to do - copout !

results in not-very-useful product - trivial ! academics don’t do easy things !

Page 3: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Themes of Presentation

1. PhD : a (database) problem & its solution.

2. Simplicity : what is it, & how do we get it ?

3. System : what are the elements, and how should they be joined up ?

System ≡ Relational ModelElements : Data Structures + Operators‘Joining Up’ : Assignments of Algebraic Expressions

Part of a larger

research project.

Page 4: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

‘Simplicity is a Virtue’

“If projects or programmes are overly complex, there is a good chance they are simply wrong”. (Brian Jones, IBM).

“Complexity leads to design problems & greater risk of error”. (Martyn Thomas, Praxis MD).

“There are no complex systems that are secure. Complexity .. almost always comes in the form of features or options”. (Ferguson & Schneier).

“.. that a product with fewer features might be more usable, more functional, & superior .. is considered blasphemous”. (Donald Norman).

Page 5: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Background : ‘Third Manifesto’

Specification of a replacement for Object-Relational SQL.Motivation conceptually simpler, more functional.

Adhere to relational principles.Purely logical model; implementation not considered. Containers orthogonal to scalar values.

A1 A3A2R...

...

......

... ...

... ...

...

...... ...

Any kind of data can be a scalar; e.g. pictures, piece of music, video.

Page 6: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Third Manifesto Principles1. Fred Brooks (from “The Mythical Man-Month”) :• “Because ease of use is the purpose, the ratio of function

to conceptual complexity is the ultimate test”.• “Simplicity and straightforwardness proceed from

conceptual integrity. It is better to reflect one set of design ideas than to have many good but uncoordinated ideas”.

2. Wittgenstein :• “All logical differences are big differences. In logic,

we are not making subtle distinctions.”Note : program bugs are usually ‘small’ differences.

Page 7: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

What is the PhD Problem ?

Want to be able to nest all possible kinds of container.

A1 A3A2

R

...

...

......

... ...

... ...

...

...... ...

A4 11 different kinds of container.

How to add them while providing simplicity and retaining functionality ?

Page 8: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

What is it that should be Simple ?

Mental Model Principle - “People understand & interact with systems & environments based on mental representations developed from experience”.

(Universal Principles of Design).

“A good conceptual model is .. fundamental to good design”. “Good designers present explicit conceptual models for users”.

(D. Norman - “Design of Everyday Things”).

Answer : User’s Conceptual Model of Software System. Not the software design or code.Not necessarily “lean software”.

Page 9: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Criteria of Simplification

• Parsimony of concepts.

• Straightforwardness of concepts. Simplicity. Terseness. Elegance.

• Generality of concepts. No limitations or exceptions.

• Orthogonality. Each concept is independent of every other concept, so that they can be combined in any arbitrary way.

• Uniformity. Consistency & regularity in expressing concepts.

Page 10: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

What Simplicity is NOT

NOT Minimalism, which provides simplicity by limiting explicit functionality (c.f. Essentiality).

NOT (necessarily) intuitive. “Intuition is simply a state of subconscious knowledge that comes about after extended practice”. (Donald Norman).

‘WRONG’ experience may require ‘un-learning’.E.g. Proponents of OO Programming insist on need to ‘think in OO terms’ to be able to program effectively.

IRREDUCIBLE MINIMUM of Simplicity. “Everything should be made as simple as possible, but not simpler”. (Albert Einstein).

Page 11: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Achieving Simplicity in Physics

• Raise level of abstraction.• Raise level of generality.

Example : electricity & magnetism are special cases of electromagnetism.

Example : unify the 4 forces of nature into one. (Needs 10 or 26 dimensions !)

Beauty : simplicity, elegance, symmetry.(Hyperspace by Michio Kaku).

Einstein developed relativity because symmetry was more fundamental than Newtonian space-time. reform space-time to fit symmetry.

Page 12: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Achieving Simplicity in a Software System• Separate the user’s conceptual model from its

implementation.

• Raise the level of abstraction and generality;apply essentiality & beauty;derive simple conceptual taxonomy for the user model.

• Check the user’s conceptual model against : - conceptual integrity, - simplification criteria.

• Implement the model with as much automation as is feasible. Defaults can be useful. May need complex software to get a simple conceptual model. Analogy of car.

Page 13: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Complexity versus Simplicity

Complex System

Levelof

Abstraction

Simple System

Levelof

Abstraction

More GeneralityMore Orthogonality

More Functionality

Page 14: Simplicity UK Systems Society 11 th International Conference September 2007, Oxford David Livingstone in Relational Database Systems.

Simpler Database System

Containers

Operators

Scalar Values

Assignments

(generalised)

Taxonomy

Elements of System

Variable ← algebra expression

‘Joining Up’ of Elements Assignment statements only.

PhD : 11 → 3Sequences, bags& sets of data.

- generalised assignments,- nested assignments.