codesign of structuring, functionality, distribution and ...thalheim/pdffiles/... · compiler...

152
Codesign of Structuring, Functionality, Distribution and Interaction for Information System Development Kuwait University http:// 22-27.3.2014 Bernhard Thalheim Technologie der Informationssysteme Institut f¨ ur Informatik, Christian-Albrechts-Universit¨ at zu Kiel, BRD Kolmogorow-Professor e.h. der Lomonossow-Universit¨at Moskau

Upload: others

Post on 23-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

Codesign of Structuring, Functionality,Distribution and Interaction for Information

System Development

Kuwait University http://

22-27.3.2014

Bernhard ThalheimTechnologie der Informationssysteme

Institut fur Informatik, Christian-Albrechts-Universitat zu Kiel, BRDKolmogorow-Professor e.h. der Lomonossow-Universitat Moskau

1

Page 2: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Overview

• Co-Design - why ?

• Structuring (the classical and the non-classical case)

• Functionality [behavior] (the hidden programmer’s cave)

• Advanced views and media types (the long waited link)

• Interactivity (playout of scenarios, actors and interfacing)

• Making co-design working (handling complexity well-educated)

• References, conferences, open problems

Maximal exploitation of database theory and technology

for intelligent information systems design support

2

Page 3: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Codesign of Structuring, Functionality,Distribution and Interaction for

Information System DevelopmentInformation systems development combines nowadays development of structures for the underlying

database system with functionality specification, interactivity schemata and distribution schemata.

In the past, database development has mainly be considered as development of database structu-

ring. Functionality and interactivity specification has been neglected in the past. The derivability of

functionality has been a reason for this restriction of the database design approach. At the same

time, applications and the required functionality became more complex. Functionality specification

may be based on workflow engines. Interaction support is often not specified but hidden within the

interfaces. It may, however, be specified through the story space and the supporting media type suite.

Distributed applications are based on an explicit specification of import/export views, on services

provided and on exchange frames. The integration of all these parts has not yet been performed.

The co-design approach aims in bridging all these different aspects of applications and provides

additionally a sound methodology for development of all these aspects.

During the course we introduce to the higher-order entity relationship model that supports sophi-

sticated description of structures, functions and their semantics. This language is combined with

storyboarding that allows to specify the (web) frontend behaviour within the language and the un-

derstanding of business users. Additionally, we introduce DistrLang for the specification of distribution

and services. This combination has been tested in many applications. The corresponding codesign

methodology is certified to be on SPICE level 3.

3

Page 4: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Information Systems as ContentManagement Systems

Layer 0: Data and documents of underlying databases as micro-data

Layer 1: Content of content bases as macro-data or aggregations

Layer 2: Concepts of concept bases for foundation/explanation

Layer 3: Topics of topic landscapes for annotation/representation

Layer 3-4: Privacy protection layer

Layer 4: Memes of the users

• The user understands chunks of concepts.

• The user expresses data needs through utterances based on

association to topics.

• The user queries for content or data through views.

4

Page 5: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Database System Architecture

Appli-cationsystem

(workflow(functio-nality))

Presen-tationsystem(playout(story))

?6

-

DBMS

Data-base

DBS =

DBMS +{ DB }

Storage management

Compiler

Communication subsystem

Operatingsystem

Synchronizationof parallelaccess

Datadictionary

6 ?

Data manager Buffer manager

Transactionmanagement

Scheduler

Recoverymanager

Code generation Distribution management

OptimizerAccess plangeneration

Updateprocessor

Queryprocessor Integrity

control andenforcement

Logbook

6?

-�

Input-outputprocessor

Parser Pre-compiler

Authoritycontrol

Supportingsystems(graphical

etc. )

6? 6?

5

Page 6: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Architecture of User-Oriented ContentManagement Systems�� ��Towards this century CMS

ContentManagement System

(Pragmatics)

Static IC

Structure

(Pragmatics)

Dynamic IC

Processes

FunctionalityStructure

Container

Structuring Functionality

Content typesService

Web Playout System

Story Space

Scenarios

ActorsStories

Context

Concept Managem. System

Topic Management System

User Management System

Profilemanager

Portfoliomanager

Association generator /Natural language engine

Privacy Protection System

TopicmanagerAsset manager /Infon representer

Communitymanager

Conceptmanager

Unit manager /Infon representer

Derivationengine

Contentbase

-�

6?

Data-base

-� Conceptbase

-�

Topiclandscape

-�

Privatedata-base

-�

6

? 6?

6

Page 7: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Architectures of Web Information Systems:Database System Collaboration

Educationalinstitutesevents

Restaurant

Minor art events

Community& leisuregroups

Sport events Traffic about 25 othercollaboration

DBS

City administrationevents

Big events

Forum &discussioncorner

i�)

1-q

N ?

InjectBook

ResponseInformation logistics

Web Information SystemsInfrastructure Management

7

Page 8: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Codesign of Structuring, Functionality,Distribution and Interaction for

Information System DevelopmentTime: 22.–27.3.2014

Place: Computer Science Department, Kuwait University

Lecturer: Prof. Bernhard Thalheim (Faculty of Engineering at Kiel Uni-

versity, Germany)

Lectures: 8 h lectures.

Credits: ?? ECTS

Passing: Active participation on lectures, successful completion of the

practices.

Grading: Pass/fail

Level: The course is aimed at master students, but strong advanced

undergraduate students with the appropriate background might find it

suitable.

8

Page 9: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

ToolsDBMain: http://www.db-main.eu/?q=en www.rever.eucontact: [email protected] Philippe CLAEYS

REVER S.A. Bd Tirou 24 B-6000 Charleroi BELGIUM

Business view together with a Web interface.:DEASY: http://www.db-main.eu/?q=en/content/deasy-plugin

Alternative and more sophisticated tool (but not free for large schemata) : http://erwin.com/Free variant:http://erwin.sandhill.co.uk/download-ca-erwin-data-modeler?gclid=CJX5n5mUh7kCFah8cAodn3EA1AFree community edition: http://erwin.com/products/data-modeler/community-edition

SAP Sybase PowerDesigner: http://sybase-powerdesigner.apponic.com/download/

Embarcadero ER/Studio: http://www.embarcadero.com/products/er-studioER/Studio Data Architect

BPMN Active Modeller Advantage: http://www.activemodeler.com/

Visual SQL:

http://www.informatik.uni-kiel.de/en/information-systems-engineering/

miscellaneous/visualsql/

and can be used as freeware (both versions C# and Java).Course material:http://www.is.informatik.uni-kiel.de/∼thalheim/pdffiles/HERM.IntegratedModellingJyvaskyla2013Talk.pdf

9

Page 10: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Main ReferencesExtended ER Model Handbook

10

Page 11: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Application Systems are Task-Oriented

• task: specification of goal-oriented actions;

subtasks: workflow with activities, restricted by conditions, data and

context (organization, policy, environment, channel, ...)

• participatory design (task analysis, user-oriented)

mapped to essential design (data and function analysis)

three spaces: task world, system space, interaction space

• website as services (scenario of activities which can be called by the

user with supporting protocols and delegation facilities)

request, indication, response, confirmation

(a)synchronous, layering, resource-sharing, error-robustness, com-

munication support, (temporary) workspace

• generic user model and profile

11

Page 12: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Application Domain and RequirementsEngineering

Classic approach: requirement development, specification, coding

� large conceptual distance for users, validation is not effective

Improvement:

(1) development of user-centric usage-oriented conceptual schemata

(2) application domain description and derived requirements prescription

(3) ‘scratch pad’ (mini-wiki suites) for information demand analysis

(4) explicit validation with the user community

(5) identification of organisation units in the UoD

(6) identification of task portfolio for each o-unit

(7) explicit domain description gathering for tasks

(8) data supplier and consumers

(9) filtering, modelling, four conceptual models

(10) co-design of structuring, functionality, views

12

Page 13: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Triptych of Description, Prescription andSpecification

ImplementationTransformation

Interactionsystem

Informationsystem

Information system

Implementationlayer

Interaction systemspecification

Information systemsspecification

IS specification

Conceptuallayer

DesignRefinement

Applicationdomain

description

Requirementsprescriptions

IS utilisation

Description/prescription

layer

13

Page 14: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Janus Head for Socio-TechnicalSystems

The social viewpoint: the environment of the user

• life cases and application cases that are important for the user

• tasks that must be solved by the user in order to overcome problems of their

daily life

• context of the user, e.g., cultural, language

• users within their collaboration with other users; community of practice or

society; organisational structure; user information; user features

The technical viewpoint: database system and/or application logic system

(that supports the user)

• database system with the database and the database management system

• logical procedures that might be of use for the system deployment

• supporting facilities such as analysis machines or data warehouses

The mediating connector: media objects based on views and with functions

that allow a user to act with the system

14

Page 15: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Application Systems are User-Oriented:

Services Provided by a Systemthat Satisfy the Information Demand

Task User

Life Case Context

Society Knowledge

Service Information

Feature

�-

�-

�-

Serviceinterface

Content Database

ProcedureFunction

AlgebraAnalysis

Services deliver and accept the data based on content to the user

Information as requested by the user

Features of the information system for the support of the user

15

Page 16: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Cross-Disciplinary Approach toDevelopment

(1) Task- and usage-driven development of supporting means for real-

life applications

computer engineers neglect user requirements

(2) Systems must follow rules, culture, understanding of users, e.g.,

privacy, security, dependability

computer engineers are not educated to take this into account

(3) Systems become far more complex, handle huge data, must be

integrated, used with skills

holistic understanding of applications with flexible integration

(4) Strengthes, weaknesses, opportunities, and threat of systems must

be understood by users before used with full benefit

users must not be adapted to the systems but should continueto live

(5) Systems are going to be used by many different people with many

different background

cultures matter, cross-disciplinary, cross-cultural

16

Page 17: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Structuring in HERM

Structuring - extension of the ER model

strict set semantics (no pointer semantics)

1. Complex attributes, entity , relationship, cluster types,

types of higher order,

hierarchical schemata for structuring

2. Static integrity constraints

Basic data types - parameterized types of the DBMS

integer := (IntegerSet, {0, s, +, -, *, ÷, }, { =, ≤ })

Attribute type induced on basic data type system

Name : (FirstNames<(FirstName,use)>, FamName,

[NameOfBirth,] Title:{AcadTitle}·∪ FamTitle)

Contact : (Phone({AtWork}, private), email, ...)

DateOfBirth :: date

AcadTitel :: titleType

Entity type - product of attribute types with at least one direct identification

Person : (Name, Address, Contact, DateOfBirth,

PersNo: StudNo·∪ EmplNo, ...)

17

Page 18: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Complex Attributes

varstring15?

string1?

Usageq

FirstName)

( ... )?

< ... >?

FirstNames9

( ... )?

Name

FamilyName

?varstring30

q

[ ... ]

?BirthName

?varstring30

z[ ... ]

?Titel?·∪

9{ ... }

?AcademicTitle

?varstring10

zFamilyTitle

?varstring10

Name : (FirstNames<(FirstName,Usage)>, FamName,

[NameOfBirth,] Title:{AcadTitle}·∪ FamTitle)

FamilyTitle :: titleType

AcadTitle :: titleType

18

Page 19: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Structuring in HERM

Relationship type via hierarchical construction

unary type: Role, specialisation

InGroup : (Person, Group,

Time(From [,To]), Position)

DirectPrerequsite : (hasPrerequsite: Course, isPrerequisite : Course)

Professor : (Person, Specialization)

Cluster type - disjoint (labelled) union

especially for generalization

JuristPerson : Person·∪ Company

·∪ Association

Group : Senat·∪ WorkingGroup

·∪ Association

Constructors ×,∪, {} construction complete

usually: ×,·∪, < . >, {|.|}, P

with underlying type system

and generic operations

plus construction of operations through structural recursion

19

Page 20: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Higher-Order Types are Necessary

Student Professor

enrolledin

Course

RoomSemester Moduledirect

prerequi-site

*

+9 ?� q

16

Student Professor

enrolledin

Course

RoomSemester Moduledirect

prerequi-site

*

+9 ?

-

6

20

Page 21: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Graphical Notions Might Vary

Person

University employee

Student

Diploma student

Professor

Project member

Person

-Projectmember

6

Universityemployee

-Student-Diplomastudent

� Professor

21

Page 22: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Unary Relationship Types

Person

6

Professor

Person

Professor

6

Person

Professor

6

IsA

22

Page 23: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Textual SpecificationThe database aims in supporting lecture and course scheduling within a university

application. A course is typically proposed. If the proposal becomes accepted then

the course is going to be planned. Typically planned course may be also held. The

course proposal, planning and organisation is bound to a semester. Some university

employees may be responsible for a course. Typically a course has one responsible

person. Responsibilities may vary by semesters. Courses are taught by professors.

Professors are specialisations of a person.

Courses may be given for various programs. The proposal also includes the assi-

gnment of a course kind. The course proposal typically also requests for a room

and for a time at which the course preferably could be given. Additionally time slots

may be in conflict with other proposals. Therefore, conflicting time slots are given

as well. The room and time preference may be overwritten during the planning

phase. The same opportunity exists for proposals for the kind of the course to be

given. If the time is assigned then typically a time slot is assigned. A course may

have several non-overlapping time slots.

The proposal for a course should be recorded. A person may act in the role of

somebody who inserted the course.

Finally, courses may also be held at a different location than originally planned.

23

Page 24: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Compare Visual Representation withTextual One�� ��Is this better to read for users of ER diagrams?

Course Semester -Professor Person

Room�

6

proposedCourse

Kind �

6

Courseheld

[]

6

plannedCourse

[]

[]

Program{}

Time(Proposal,

SideCondition)

TimeFrame

Request

Proposal

Teacher

inserted

Responsible4Course

*1k

-

*

+

For more information: http://www.is.informatik.uni-kiel.de/∼thalheim/slides.htm

24

Page 25: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Constraints in Brief

Static integrity constraints are formulas of the hierarchical predicate

logic (with abbreviations)

in “normal definition frame” (may be deontic or strikt)

Keys for identification of objects (esp. entity types)

Key(Person) = { { PersNo }, { Name, DateOfBirht } }Relationship types with attributs

Key(InGroup) = {{ Person, Group, Time }} (!?)

Key’(InGroup) = {{ Person, Group, Time, Position }}

Key(Lecture) = { { Course, Semester},{Semester, Room, Time }, {Semester, Teacher, Time}

}Keys defined by the component construction

Name(FirstNames<(FistName,use)>, FamName)

at least one key is ‘inherited’ from the component

25

Page 26: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Constraints�� ��Insufficient Expressivity of Database Models

• Functional, key, inclusion and exclusion dependencies are cons-

traints that are natural in the relational model

Key-based inclusion dependencies are handicapped

• Multi-valued dependencies are far better expressed in the ER model

• Cardinality constraints are overloaded

better treat maximal and minimal cardinality in separate systems

• Integrity enforcement is treated separately for types

• Join dependencies are representational constraints

26

Page 27: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Constraints

Functional dependencies for functional associations among groups of

attributes

plannedCourse : {Sem, Time, Room} → {{Program}, Prof, Course}

plannedCourse : {Prof, Sem, Time} → {Course, Room}

proposedCourse : {Semester, Course} → {Prof} (??)

and other relational constraints

e.g. Domain constraints

Semester.Description ∈ {WS,SS} × {x/x+1|x ∈ 1980..99, 2000..03}

Cardinality constraints are restrictions of combinatorics with

(min,max)-notation

card(DirectPrerequisite, hasPrerequisite) = (0,2)

card(DirektVoraussetz, isPrequisite) = (3,4) not satisfiable

card(plannedCourse, Course Sem Prof) = (0,3)

card(proposedCourse, Sem Prof) = (3,5) (!??) or (0,5) (!!)

27

Page 28: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Normal Forms

Maintenance through keys, domain and referential constraints

Forbidden substructures used for the definition of normal forms, e.g.,

3NF: Z → {A} ∈ Σ+, A ∈ Z, A non-key attribute Z → U ∈ Σ+

Boyce-Codd-Normalform: Z → {A} ∈ Σ+, A ∈ Z, Z → Ui ∈ Σ+

4NF: Z →→ X ∈ Σ+, X ⊆ Z, Z → U ∈ Σ+

5NF: (Y1, ..., Yk) ∈ Σ+ , ∃j : Yj → Ui ∈ Σ+

Project-Join-NF: (Y1, ..., Yk) ∈ Σ+ , {X → Ui ∈ Σ+} |= (Y1, ..., Yk)

Inklusion-NF: Ri[X] ⊆ Rj [Y ] ∈ Σ+, Y → Uj ∈ Σ+

Domain-Key NF (DKNF): α ∈ Σ+ , non-trivial, ΣK |= α

more than 35 other useful normal forms have been introduced

Synthesis and decomposition algorithms

28

Page 29: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Classes and Instances

Classes are sets of (markable) objects of corresponding typeEntity class is the basic class of objects

β: ((<(Karl,add),(Bernhard,call)>, Thalheim, {Prof., Dr.rer.nat.habil, Dipl.-Math.}), BTU

Cottbus,

(({ +49 355 692700, +49 355 692397}, +49 355 824054),

[email protected]), 10.3.52, 637861)

(DBIV, Database theory, CS Programm , mandatory, 2+0+0, certificate)

Relationship classes for association of objects of component clas-

ses expanded by properties (through attributes)

Profβ: ( 637861, Database and information systems )

Senator3β: ( 637861, Senat, (1995,1998), Dekan)

Senator5β: ( 637861, Senat, (2000), Chair)

PrerequDBIVMain: (DBIV, DBI) ,

CourseDBIVSS02: (DBIV, SS2002, 637861, SR1, Mo. first pair)

...

...

29

Page 30: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Classes and Instances

Classes are sets of (markable) objects of corresponding type....

Cluster classes for disjoint (!), i.a. virtual union of objects of the

component classes

{ Senator2π: ( 889721, Senat, (1998,2000), Chair),

Senator5β: ( 637861, Senat, (2000), Chair),

DBIS: ( Database and information systems, 637861, IfI),

CBnetβ: (CottbusNet e.V., 637861, Member, Services Group ) }

Classes are extended by generic operations insert, delete, update,

retrieve

may have additional methods

static integrity constraints must remain valid

inherent integrity constraint: existence of components

30

Page 31: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Classes and Instances

Representation and

Storage

possibly with weak value-based OID or label

• either as full objects (with all properties (XML)) or as

• class-separated object (similar to snowflakes) object-relational re-

presentation or

• hybrid

31

Page 32: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Explicit and Excluded FunctionalDependencies

X −→/ Y : the functional dependency X −→ Y is not valid.

Axioms

X ∪ Y → Y

Rules

(1)X −→ Y

X ∪ V ∪W −→ Y ∪ V(2)

X −→ Y , Y −→ Z

X −→ Z

(3)X −→ Y , X −→/ Z

Y −→/ Z

(4)X −→/ Y

X −→/ Y ∪ Z(5)

X ∪ Z −→/ Y ∪ Z

X ∪ Z −→/ Y

(6)X −→ Z , X −→/ Y ∪ Z

X −→/ Y(7)

Y −→ Z , X −→/ Z

X −→/ Y

32

Page 33: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Simplicity of Graphical ReasoningUR = {A,B,D, F,G, I}σR = {A −→ IG,D −→ FG, IAB −→ D, IF −→ AG}

I

IF

A

ABI

F

D

G

�*

*-

6-

I

IF

A

AB

F

D

G

�*

*-

6

Classical synthesis algorithms:

R1 = ({A,G, I}, {A −→ GI})

R2 = ({A,F, I}, {A −→ I, FI −→ A})

R3 = ({A,B,D}, {AB −→ D})

R4 = ({D,F,G}, {D −→ FG})

This normalisation not minimal

Instead of R1 take R′1 = ({A,G}, {A −→ G}).

R2 is not in BCNF. It cannot be split into two relation schemata.

33

Page 34: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Simplicity of Graphical ReasoningGiven two FD sets.

D

6

-

:

A -

E

AB -

B

C

······

··

··

··

·

D

6

-

A -

E

j

B

C

Are the FD sets equivalent??

34

Page 35: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Representations for Cardinality Constraints

E � -R F(1,m) (0,1)

Participation for relationship type

E -� - F◦Binary ER models

E F◦Everest

ER

F◦

Teorey

E R M F◦

Classical proposal

E R(1,m)(0,1)

F

ER-designer

comp(R,E)

=

(1,m)

comp(R,F)

=

(0,1)

35

Page 36: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Participation versus Lookup Semantics forCardinality Constraints

A(a,b) (c,d)

a ...bc...dA� -A with B

C

(held)

Course

Student

examinationform

6

Prerequisite

?

-enrols

6requires is required(0,2) (3,4)

3..4 0..2

(1,n) (0,n)

0..2

(0,n)

Result

36

Page 37: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Transformation: Interpreter Approach withFlattener for (Object-)Relational DBMS

(1) Pre-processing: Association of representation forms to complex attributes (e.g. to conca-

tenation, list, set, product constructions), to hierarchies (e.g. event (non-)separation, union,

weak universal relation), to recursion unfolding, and to constraints (e.g., transformation

to relational constraints, specific normalisation, control, enforcement mechanism, exception

handling) depending on the profile of the DBMS.

(2) Transformation to an intermediate schema according to the paradigms and assump-

tions of the given DBMS.

(3) Transformation of entity types to relation types with direct integrity constraint repre-

sentation if possible and with optional extension by an identification mechanism.

(4) Transformation of higher types following the hierarchical structure of HERM schemata:

• Mapping of types to relation types with explication of association constraints (also possible

for clusters by CREATE CLUSTER TABLE).

• Embedding into existing types with optional renaming of components.

• Flattening the schema by combination of types.

(5) Derivation of the integrity enforcement scheme.

(6) Derivation of the opportunity space for tuning and performance management.

37

Page 38: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

A Lean Methodology for Database SchemaModelling

(1) Define the scope as the area of interest,(e.g. the HR Department in an organisation).

(2) Define the “Things of Interest”,(e.g. Employees), in the area of interest.

(3) Analyse the things of interest and identify the corresponding schema types.

(4) Consider cases of hierarchies, (e.g. specialisation and generalisation), where there are

general entity types (kernel types), abstractions and specific entity types. For example, a

Customer is a kernel type, and Commercial Customer and Personal Customer would be

specialisation types.

If you are just starting out, I suggest that you postpone this level of analysis.

At this point, you can produce a list of things of interest.

(5) Establish the relationships between the types. For example, ‘A Customer can place many

Orders’, and ‘A Product can be purchased many times and appear in many Orders.’

(6) Determine the characteristics within each type, (e.g. an Employee has a Date-of-Birth).

(7) Identify the static and reference data, such as Country Codes or Customer Types.

38

Page 39: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

A Lean Methodology for Database SchemaModelling

(8) Obtain a small set of sample data, e.g. “Ralf Master is a Maintenance Engineer and was

born on August 1st, 1985 and lives at Holtenauer Str. 22, Kiel.” “He is currently assigned

to maintenance of the Air-Conditioning and becomes available in 4 weeks time.”

(9) Review code or kind data which is (more or less) constant, which can be classified as

reference data. For example, Currency or Country Codes. Where possible, use standard

values, such as ISO Codes.

(10) Look for ‘has a’ associations. These can become relationship types, or ’Parent-Child’

relationship types.

(11) Gather whether relationship types are based on, e.g. assume existence or reuse already

defined objects, other relationship types. They become higher-order types.

(12) Gather whether types are abstractions of others. They become cluster types.

39

Page 40: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

A Lean Methodology for Database SchemaModelling

(13) Define a main identification for all types.

For reference types, use the ‘Code’ as the main identification, often with only one other field, which is the

Description field. It is often recommended that names of reference data type all end with ‘ REF’. For all

non-reference types, you simply assign the most natural identification and mark alternative identifications

that might be used in relationships.

Try to avoid ‘surrogate keys’.

(14) Confirm the first draft of the database schema against the sample data.

(15) Review the business rules with users, (if you can find any Users).

(16) Obtain from the users some representative enquiries for the database, e.g. “How

many Maintenance Engineers do we have on staff coming available in the next 4 weeks ?”

Determine which of them are questions and which of them must be supported by views.

(17) Review the results of steps (1) to (9) with appropriate people, such as users, managers,

development staff, etc. and repeat until the final database schema is reached.

(18) Define user scenarios and step through them with some sample data to check that that

database supports the required functionality.

40

Page 41: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Colouring Trick[1] The company has 900 cars. [2] Up to 30 cars are rent daily. [3] The renting of a car can be described

as follows: [3A] The clerk gets the needs for a specific car from the customer. [3B] After that, the

clerk checks whether the customer is new or an existing customer and he has to gather the needs.

[3C] If the customer is new the clerk has to create a new customer. [4]The customer data contains

the first name, last name, his address, and his needs. [4A] The needs of the customer are checked

against the type of the cars and the special features of the cars (e.g. air condition). [5] If there exists a

free car which the customer wants to rent, then a rental agreement is made. [7] Beside the customer

data (first name, last name and address) and the data of the car (model, identification number), it

also contains information about the method of payment (cash, credit card, check). [8] If the method

of payment is by credit card, the due-date, card number, the card holder and the card type has to be

filled in the rental agreement form. [9] The rental agreement also contains a rate class to which the

car belongs. [10] This class determines the taxes for the rental of a car per hour, per day, per week or

per month respectively. [11] The class also determines the “loss damage waiver per day”. [12] Each

rental agreement has an agreement number and an agreement date. [13] In the rental agreement you

can also find a price. [14] Other information for the rental agreement are the number of miles when

the customer rents the car, the number of miles when the customer returns the car, the rental and the

return date. [15] We also want to know which clerk is responsible for which rental agreement. ..

Very dark blue: organisation

Dark blue: entity type candidate Green: relationship type candidate

Blue: supporting type Magenta: property

Red: constraints ...

Brown: Recording a workflow

41

Page 42: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Colouring Trick

42

Page 43: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Hotel Information�� ��Web Site providing Hotel InformationThe Things of Interest: Countries, Hotels, Hotel Chains, Star Ratings

Relationships: A Hotel must have one and only one Star Rating.

A Hotel must be associated with one and only one Country.

Other Characteristics: A Hotel has a Room Capacity.

A Hotel can have one and only one Address.

Sample Data

Typical Enquiries: Find me a 4-Star Hotel in Kiel, Germany.

Design options:

• Handling Sub-Categories: A general approach is to link the type to itself. This allows

flexible structures within the Products. A fixed approach is to have separate types

for categories and sub-categories. In this case, the general approach is recommended

because change is likely to occur in the future.

• Handling other Stuff associated with a Product : A general approach like “Other Stuff”

and “Other Stuff Type” or list them individually, such as Security Issues, etc..

It’s better to spell out the other Stuff because it makes the Database easier to under-

stand. Usually the maintenance involved is not an issue.

Different kinds of other Stuff which may occur in the future should be handled by

adding specific types, reflecting the structure of the other Stuff.

43

Page 44: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (1): Scope of the Data Model

When we step inside, we see that the variety of hotels is rather large, so our first

task is to decide which of them should be included in our Data Model.

Right now, we are interested only in booking.

Therefore, all the special supported items, are outside the Scope of our Data

Model, and are not ‘Things of Interest’.

44

Page 45: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (2): Define the “Things of Interest” in the area

of interest.

Conceptual Database Schema covers Hotels, Rooms in Hotels, Hotel Chains,

Guests and their Bookings.

Bear in mind that the final solution includes the simpler one.

45

Page 46: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (3): Analyse the things of interest and identify

the corresponding schema types.

Our motto - Keep It Simple and Straightforward (KISS)

Starting in a simple way with a diagram which shows four entity types with some

simple relationship types.

The real world is reflected in the conceptual database schema.

Harmonise entity types with the type dividing range for inter-existence, coexistence

and dependence.

Identify obligations: star rating of a hotel, booking by somebody else, staff

participating, decide whether booking of a room or of a type of room.

Derive static and dynamic constraints.

Check for derived and derivable data.

46

Page 47: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (4): Consider cases of hierarchies.

Hierarchies in the schema: classical specialisation and generalisation with the

most natural root type. E.g. Guest, Agent, Staff as subtypes of Person or Person

as Generalisation of the tree or event-separation approach?

Inner-type hierarchies: types may have an inner structuring. E.g. Products

with related Sub-Products. Define star and snowflake sub-schemata.

Organisational hierarchies: organisations, enterprises etc. are structured. E.g.

Hotel and Hotel-Chain

Decide whether a cluster type or a relationship type or a reflective relationship

is chosen. Decide whether organisational hierarchies are represented as a chain of

unary relationship types.

47

Page 48: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (5): Establish the relationships between the

types.

Consider different kinds of associations.

Develop cardinality constraints (min, max, average, evolution).

Avoid binarisation and artificial types.

Dependence among relationship types.

HotelChain

?

-?Within?

Hotel

6

InRoom � -Booking????

Guest

48

Page 49: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (6): Determine the characteristics within each

type.

Derive attributes for each type with corresponding domain, operations, specific

values, meaning of the attribute, ....

Derive main constraints (FD, ...) among characteristics.

Derive normalisation obligations (vertical, hierarchical, deductive normalisation)

[HERM normalisation].

Separate aspects whenever possible (separation as design principle).

HotelChain

Name

Country

Currency Name

StarRating

Code Image

49

Page 50: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (7): Identify static and reference data.

Natural identification is preferred over surrogate identification.

Each relationship or cluster type inherits one of the identification of its components.

Complex minimal keys may be replaced by some surrogate key.

Reference data is important, because it occurs in virtually every database schema

in the real world.

Where we use reference data for attribute types, it is good practice to comply with relevant national or inter-

national Standards. For example, in the Country type, we can see a field called ‘code’ or ‘ISO code’. The ISO

prefix emphasises the fact that we have adopted conventions endorsed by the International Standards Organisa-

tion,(‘ISO’).

Reference data Abbreviation Meaning in the schema Constraints

.. ... ... ...

Surrogate keys don’t have any intrinsic meaning and are simply integers generated

automatically one after another.

50

Page 51: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (8): Obtain a small set of sample data and

address the issue of data quality.

Develop meaningful sample data sets that are not too specific.

Develop test plans for sample data.

Check constraints (including insert, delete, update enforcements) within these sam-

ple data.

Derive volume (population) spectra for each type.

Derive value types for all components, e.g.attributes:Attribute Data type Meaning Properties Unit of

name Name Format Values Structures Defaults 0-Support Def-Support measure

... ... ... ... ... ... ... ... ... ...

Derive value type characteristics, corresponding semantics, rules for derived data

and consistency rules.

51

Page 52: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (9): Review code or kind data which is (more

or less) constant.

Classified as ‘reference data’ (Currency; Country Codes; standard values, e.g. ISO

codes).

Look for external standards which can be national or international.

Decompose types with external data from those with internal data.

Use checksums etc. for data correctness.

Check data coherence rules, e.g. natural science data.

Check rules, operations and predicates for value types (kind, precision, range, digits,

max, min, bitsize). Check data types for constants.

Develop rules for derived data.

Derive your treatment of potential NULL markers.

Derive a namespace for schema items.

Check for macro-data.

52

Page 53: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (10): Gather whether relationship types are

based on other types.

Persistently represented workflows with evolution pattern (seed, web, cycle, flow,

wave).

Pivoting of relationship types.

Types with complex dependence constraints.

Abstractions can be represented by cluster types or views.

Snowflake or star decomposition of types.

Derive constraints and enforcement mechanism.

History data via relationship types.

53

Page 54: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (11): Gather whether types are abstractions

of others.

Abstractions of real-life things instead of real-life notions should be avoided.

Meta-types and meta-meta-types need explicit handling.

Hyponym/hypernym needs specific treatment. Develop classifiers.

Semantic relations beside hyponym (antonym, synonym, location, time (existence,

lifespan, transaction, change, user-defined, validity, availability), purpose, activity,

function, role, measurement, meta-characteristics) need specific treatment and

specific maintenance procedures.

54

Page 55: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (12): Define a main identification for all types.

Differentiate between natural identification and additional identification.

Define identification for kernel types, hierarchies, candidates for identification in

relationship types and cluster types.

Define primary, secondary and to be maintained identification for components.

Consider identification for recursive types.

Define the maintenance profile of identification including defaults and translation

obligations.

Avoid problematic types: weak types, hidden derived types, cycles, redundant types.

HotelChain

Code Name

Country

Code Currency Name

StarRating

Code Image

55

Page 56: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (13): Confirm the first draft of the database

schema against the sample data.

Populate the database with sample data, e.g. at least a dozen objects for each

type. Sample data should reflect main constraints.

Prototype data with a level of typicality (including necessity, sufficiency, commo-

nality, evaluation, goodness; from typical to atypical and borderline), relevance,

importance (recognised, used, frequency of occurrence) as best data.

Data for validation, verification and testing.

Check whether all varieties of data are reflected in the schema.

Trick: use sample data to explain the database schema (sentence checkup; also

semantics).

56

Page 57: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (14): Review the business rules with users.

Business rules are often implemented as ‘constraints’ in the database schema.

Rules can be understood by both the users and the database designer. When you

extend a database schema, it is always valuable to keep these rules up-to-date.

This is not always done meticulously but is necessary where users will ‘sign-off’

on their requirements.

Derive transition constraints based on business rules and derive enforcement

pattern for constraints.

Business rules may also be given through workflows in the business.

Define business flow in the most flexible form. Specify exceptional flow. Define

data support for business steps. Which actions are called by which actor within

which organisational unit with which responsibilities at which time under which

conditions?

57

Page 58: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (15): Obtain from the users some representa-

tive enquiries for the database.

Usage-oriented conceptual models are currently supported by view towers.

Develop typical requests to the database. How those can be supported by querying

features?

Which kind of data maintenance is appropriate?

Develop data integration and harmonisation features.

Business users need data depending on the information demand and work support.

Data must be mapped to databases. Views, stored procedures, intermediate and

temporal types are typical supporting means.

Develop security and safety demands.

Session support via session schemata or via generic databases.

Revise accordingly normalisation.

58

Page 59: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (16): Review the results of steps (1) to (9)

with appropriate people.

Validate and verify the usage-oriented conceptual model with stakeholders, e.g.

business users, casual users, development staff, managers, ...

Extend the sample and test data with their data.

Discuss exceptions for data, business rules and features.

Develop a support structure for needs of stakeholders.

Derive supporting means for atypical behaviour of stakeholders.

Collect typical forms, ways to cope with data, ... from stakeholders.

Storyboarding allows to represent user stories.

Consider evolution of schema types.

Discuss volume (population) spectra.

59

Page 60: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Schema Development Step by Step�� ��Hotel reservation example

Step in the HERM methodology (17): Define user scenarios and step through

them with some sample data to check that that database supports the required

functionality.

Use usage scenarios for validation of the model, of supporting means, of functions

and requests, of potential interface support for views, of specific treatment of data

consistency, of data granularity support (roll-up, drill-down, dice, slice, rotate), ...

Elicitation of performance critical parts of the database. Develop an understanding

of the load profile for load and behaviour forecasting.

Check naturality of the type system used in the schema, e.g. identification,

referencing.

Derive constraint maintenance in dependence on scenarios.

60

Page 61: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Hotel Reservation Application

HotelChain

Code Name URL

6

-Hotel

URLAddDetail

EmailContact(...)

Y

Country

Code Currency Name

StarRating

Code Image

Location

City Postcode Street

Characteristic

Code Description

-SpecificCharacterisation

FromTo

Condition

DefaultValue

RoomType

Code

StandardRate

Description

RateType

Code PeriodDescription

6

?

Room

NumberFloor

ActualRate

Smoking?

OtherDetails

?

-Rate

SpecialOfferAmount

LongTermDiscount

?

Booking⊕ -

R

I

From To

RoomCount

BookingDate

BookingNo�

Guest

GuestNoName(...)Address(...)MemberSpecialRequ

OtherDetail PastRecord

Agent

AgentID Contract

Name History

Staff

SSNName(...)NicknameService

BookingStatus

Code Description

Hotel characteristic (Description): Gym, WLANRateType (Description): Jan to March, April, EasternBookingStatus (Description): Cancelled, Provisional

Constraints: card(Hotel,HotelChain Location) = (0, 1)

card(Room,Hotel Number) = (0, 1)

61

Page 62: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Hotel Reservation Application: One ofthe Alternatives

HotelChain

Code Name URL

6

-Hotel

URLAddDetail

EmailContact(...)

Y

Country

Code Currency Name

StarRating

Code Image

Location

City Postcode Street

Characteristic

Code Description

-SpecificCharacterisation

FromTo

Condition

DefaultValue

RoomType

Code

StandardRate

Description

RateType

CodePeriodDescription

6

?

Room

NumberFloor

ActualRate

Smoking?

OtherDetails

?

-Rate

SpecialOfferAmount

LongTermDiscount

?

Booking⊕ -

R

I

From To

RoomCount

BookingDate

BookingNo�

Guest

GuestNoName(...)Address(...)MemberSpecialRequ

OtherDetail PastRecord

Agent

AgentID Contract

Name History

Staff

SSNName(...)NicknameService

BookingStatus

Code Description

62

Page 63: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Hotel Reservation: Hotel ComponentDatabase SQL Scripts (for Oracle)

CREATE DATABASE-- ============================================================-- Table: Hotel CHAIN-- ============================================================create table Hotel CHAIN(Hotel CHAIN ID INTEGER not null,Hotel CHAIN CODE CHAR(10) null ,Hotel CHAIN NAME VARCHAR2(50) null ,constraint PK Hotel CHAIN primary key (Hotel CHAIN ID)

)/

-- ============================================================

-- Table: Hotel CHARACTERISTIC REF

-- ============================================================

create table Hotel CHARACTERISTIC REF

(

CHARACTERISTIC ID INTEGER not null,

CHARACTERISTIC CODE CHAR(10) null ,

CHARACTERISTIC DESCRIPTION VARCHAR2(50) null ,

constraint PK Hotel CHARACTERISTIC REF primary key

(CHARACTERISTIC ID)

)

/

63

Page 64: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

-- ============================================================-- Table: COUNTRY REF-- ============================================================create table COUNTRY REF(COUNTRY CODE CHAR(3) not null,COUNTRY CURRENCY CHAR(10) null ,COUNTRY NAME VARCHAR2(50) null ,constraint PK COUNTRY REF primary key (COUNTRY CODE)

)/

-- ============================================================

-- Table: STAR RATING REF

-- ============================================================

create table STAR RATING REF

(

STAR RATING ID INTEGER not null,

STAR RATING CODE CHAR(8) null ,

STAR RATING IMAGE CHAR(20) null ,

constraint PK STAR RATING REF primary key (STAR RATING ID)

)

/

64

Page 65: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

-- ============================================================-- Table: Hotel-- ============================================================create table HOTEL(Hotel ID INTEGER not null,COUNTRY CODE CHAR(3) not null,STAR RATING ID INTEGER not null,Hotel CHAIN ID INTEGER null ,Hotel CODE CHAR(10) null ,Hotel NAME VARCHAR2(50) null ,constraint PK Hotel primary key (Hotel ID)

)/

-- ============================================================

-- Table: Hotel CHARACTERISTIC

-- ============================================================

create table Hotel CHARACTERISTIC

(

CHARACTERISTIC ID INTEGER not null,

Hotel ID INTEGER not null,

constraint PK Hotel CHARACTERISTICS primary key

(CHARACTERISTIC ID, Hotel ID)

)

/

65

Page 66: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Generic CRUD Functionsset semantics

Data manipulation functions for database change

Insert a set of data with the type T into a class TC of the same

type

Delete a set of data from a class TC based on some condition

Update a class TC of the same type T by replacing data with some

condition with data of the same type

Data retrieval functions for search in the database

Select-From-Where queries

Aggregation functions

View specification functions

based on the relational algebra

66

Page 67: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

HERM Query AlgebraOperations are defined on the basis of structural recursion op = src[e, g,⊔]with a value e of type t′, a function g : t → t′ and a function ⊔ : t′ × t′ → t′ :

src[e, g,⊔](∅) = e

src[e, g,⊔]({x}) = g(x) for x of type t,

src[e, g,⊔](X ∪ Y ) = src[e, g,⊔](X) ∪ src[e, g,⊔](Y ) for X,Y of type {t} ,

e.g., filter(ϕ) = src[∅, if then else ⋆ (ϕ× single× (empty ⋆ triv)),∪] ,sum = src[0, id,+]

Operations for tuple types are defined by structural recursion on basic operations

projection πi : t1 × ... × tn → ti, (Cartesian) product × : t → t1 × ... × tn,

reordering ρ, renaming κ

Operations for set types are defined by structural recursion on basic operations union ∪,difference \, constant, singleton element,

e.g., join operation

Operations on function types are defined by structural recursion on basic operations com-

position ⋆ : (t2 → t3)×(t1 → t2) → (t1 → t3), evaluation ev : (t1 → t2)×t1 → t2

and abstraction abstr : (t1 × t2 → t3) → (t1 → (t2 → t3))

Conversion operations from tuple to set types, from function types to collections, etc.

Operations for URL extension using labels l extending the type system to

t = b | l | t1 × ...× tn | {t} | [t] | l : tthat is restricted to rational trees (number of different subtrees is finite)

67

Page 68: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

HERM-Algebra via Structural Recursion• Selection: σα = srec∅,ια,∪

ια({o}) =

{o} if {o} |= α

∅ otherwise

• Projection: πX = T [X] = srec∅,πX ,∪, X b T ,

πX({o}) = {o|X}• (Natural) Join: 1= srec∅,1T ,∪

1T ({(o1, o2)}) = {o ∈ Dom(T1 ∪ T2) | o|T1= o1 ∧ o|T2

= o2}

Cartesian product and intersection as special cases

• Renaming : ρX,Y = srec∅,ρX,Y ,∪

ρX,Y ({(o)}) = {o′ ∈ Dom((T \X) ◦ Y ) | o|T\X = o′|T\X ∧ o|X = o′|Y }

• Nesting : νX = srec∅,ρX,{X},h2for X b T = R,

T ′ = C(R\X)⊔R{X}, o′|X ∈ πX(T ′C),

h2({o′}, T ′C) = {o′}∪T ′C if o′|X ∈ πX(T ′C)

h2({o′}, T ′C) = { o ∈ Dom(T ′) | ∃o′ ∈ T ′C : o|R\X = o′|R\X∧o(X) = { o′′[X] | o′′ ∈ T ′C∧o′|R\X = o′′|R\X}}

• Unnesting : µX = srec∅,ρX,{X},h2, {X} b T = R,

T ′ = C(R\{X})◦X ,h2({o′}, T ′C) = {o′}∪

{ o ∈ Dom(T ′) | ∃o′′ ∈ RC : o[R\{X}] = o′′[R\{X}]∧o|X ∈ o′′|X}

68

Page 69: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Queries for the Hotel Reservation SchemaQuestion 1 :

What is the total revenue per reservation from all double rooms?

Answer 1 :

SELECT booking ID,SUM(room Price*Days in (Date To - Date From))

FROM Bookings, Rooms

WHERE room Type Code LIKE ’Double%’

AND Bookings.room number = Rooms.room number

GROUP BY booking ID ;

Question 2 :

How many distinct guests have made bookings for Aug. 2013 in each hotel?

Answer 2 :

SELECT hotel ID,hotel Name,COUNT(DISTINCT guest Number)

FROM Bookings ,Hotels ,Rooms

WHERE (’Aug/13/’ >= Month(date From)

OR ’Aug/13/’ <= Month(date To) )

AND Bookings.room number = Rooms.room number

AND Rooms.hotel ID = Hotels.hotel ID

GROUP BY hotel ID, hotel Name;

69

Page 70: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Advanced Views and Media Types�� ��Specification Frame

generate Mapping : Vars → output structurefrom database typeswhere selection condition

represent using general presentation style&Abstraction (Granularity, measure, precision)& Orders within the presentation& Hierarchical representations& Points of view& Separation

browsing definition condition& Navigation

functions Search functions& Export functions& Input functions& Session functions& Marking functions

70

Page 71: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The General Approach to Querying

SQL trap

searchconcept

?resultconcept

- answerform

?answerto search

- queryform

SQLquery

-

databaseschema

?

SQL answerset

)DBMS answerrepresentation

q

?

DBMS queryinterface

�-searchrequest

:

z

(1) SQL: Extent the request utterance for disambiguation, elimination

of ellipses, closed-world semantics, reduction of fuzziness

(2) SQL: Reformulation of the query into an existential form

(3) Map the request terms to schema types under consideration of

translation policy, using auxiliary tables and translation to algo-

rithms

(4) SQL: Map result concepts to SQL answer types

71

Page 72: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Six Steps From Question to Query

(1) Extension of the Search Question

(2) Orthonormalisation and Extension of the Search Question and Map-

ping to Query Forms and Answer Forms

(3) Rephrasing of the Question into an Existential Form

(4) Mapping of the Query Form to Database Schema Notions

(5) Derivation of the Extended Answer Form

(6) Derivation of the Database Query

72

Page 73: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

VisualSQL for Graphical Querying�� ��Which students occur only together?

==<

Enrol

StudNo

Semester

CourseNo

Grade...

IS NOT NULL

=Student S1

StudNo

Name

DateOfBirth...

Person P1√Name

DateOfBirth...

=

=

Enrol

StudNo

Semester

CourseNo

Grade...

IS NOT NULL

=Student S2

StudNo

Name

DateOfBirth...

Person P2√Name

DateOfBirth...

=

=

far simpler and easier to formulate, to capture, to understand

without the SQL burden

http://www.informatik.uni-kiel.de/en/information-systems-engineering/

miscellaneous/visualsql/

73

Page 74: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

VisualSQL.jar�� ��Which students study completely together?

74

Page 75: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

VisualSQL.jar�� ��Which students study completely together?

75

Page 76: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Resulting QuerySELECT P1.Name,P1.Address,P2.Name,P2.Address

FROM Person P1, Student S1, Person P2, Student S2, Enroll E1, Enroll E2WHERE S1.StudNo = E1.StudNo ANDP1.Name = S1.Name ANDP1.BirthDate = S1.BirthDate ANDP2.Name = S2.Name ANDP2.BirthDate = S2.BirthDate ANDS2.StudNo < S1.StudNo ANDNOT EXISTS (SELECT *FROM Enroll E3WHERE E1.StudNo = E3.StudNo ANDE1.CourseNo = E3.CourseNo ANDE1.Semester = E3.Semester AND(E3.CourseNo,E3.Semester) NOT IN (SELECT E4.CourseNoFROM Enroll E4WHERE E2.StudNo = E4.StudNo ANDE2.CourseNo = E4.CourseNo ANDE2.Semester = E4.Semester ))

ANDNOT EXISTS (SELECT *FROM Enroll E5WHERE E2.StudNo = E5.StudNo ANDE2.CourseNo = E5.CourseNo ANDE2.Semester = E5.Semester AND(E5.CourseNo,E5.Semester) NOT IN (SELECT E6.CourseNoFROM Enroll E6WHERE E1.StudNo = E6.StudNo ANDE1.CourseNo = E6.CourseNo ANDE1.Semester = E6.Semester )) ;

;

�� ��How long would it take you to formulate this query?�� ��Is the first query in this talk equivalent to this query?

76

Page 77: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Views with Functions: Archive view

Course

retrieve

Semester

slice/sort

6

Professor

retrieve

Person

retrieve

Kind

retrieve

6

?

-Courseheldretrieve

Program

retrieve

{}

Description = “WinterSem12/13”

Teacher

Responsible4Course

k 3

XML as the display medium

XML specifications can be automatically generated out of this view

functions are supported by procedures in the HERM algebra

77

Page 78: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Algebraic Expressions for Views

Views for internet presentation as Read-Only-View

Archiv view as materialized Read-Only-View

Slice SS00/01 with Archiv.Semester := e(Semester)

for e = σBezeichn=“SS00/01′′

Archiv.Course := e(CourseHeld [Course])

Archiv.Person := e(CourseHeld[plannedCourse[

proposedCourse[Responsible4Course : Person]]])

Program, Kind, Professor analoguous

Archiv.CourseHeld := e(CourseHeld[plannedCourse[

proposedCourse [ Course, Program, Teacher:Professor,

Responsible4Course : Person], Kind]])

Be careful: changing set of integrity constraints!

Insert view for new course proposals: als Read-Write-View with identifiable sub-views and

side conditions

with optional and mandatory components

Media object schema as containers based on views with container functionality and atta-

ched functions

representation bound by order, adhesion, cohesion of types

taylored by user profile, user environment, history, channel capacity

are associated with dialogue scenes

78

Page 79: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

View with Auxiliary Schemata: InsertionView for New Course Proposals

Course

retrieve, select, input

Chair

retrieve if change

retrievedescription

Semester

6

-Professor

retrieve, select

?

requiredCourseretrieve

Person

retrieve if change

Room

retrieve, select

6

proposedCourseinput

Kind

retrieve, select

Program

retrieve, select

{}

Time(Proposal,SideConditions)

Description = “SS07/08”

ShortDescr = “ISE”

default = Profβ

Wish

Proposal

Teacher

insertedBy= “SecrKK”

Responsible4Course = “β”

�* 1

k

k

-

+

K

(1,1)

+

s

-

79

Page 80: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Complex Views of the Hotel ReservationSchema

Actual room occupation with an association to guests and to thecalendartypically as an occupation

• either daily or

• as a period of time;

Checkin and checkout including also payment in various facets;

Hotel financial management including bank services, tracking of

payments etc;

Calendar as an auxiliary imported schema with variety of interpre-

tations of the days depending on the style of calendar (Gregorian,

Muslim, Jewish, ...) and on the country specific semantics of the

days.

80

Page 81: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Hotel Application: Derived UpdateView with(out) Materialisation

HotelChain

Code Name URL

6

-Hotel

URL

AddDetail

Email

Contact(...)

Y

Country

Code Currency Name

StarRating

Code Image

Location

City Postcode Street

Characteristic

Code Description

-SpecificCharacterisation

FromTo

Condition

DefaultValue

RoomType

Code

StandardRate

Description

RateType

Code

Period

Description

6

?

Room

Number

Floor

ActualRate

Smoking?

OtherDetails

?

-Rate

SpecialOffer

Amount

LongTermDiscount

Calendar

Day DayNumber

BusinessDay

-Occupation

Available

Count

K

*

81

Page 82: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Hotel Reservation Application: ADerived Revenue View�� ��Room reservation revenue view

HotelChain

Code NameCountry

Code Currency Name

Hotel

IDURLChainCode

CountryCodeRatingCode

Email

Name Address(...) City

Postcode OtherDetails

StarRating

Code Image

DailyRoomRate

Hotel RoomNumber

Day

RateOffered

RateAccepted

Calendar

Day DayNumber

BusinessDay

Room

IDFloor

No

HotelID

RoomTypeCode

ActualRate

Smoking?

RoomAvailability

AvailID HotelID Day

RoomTypeCodeAvailCount

Booking

IDStatusCode

GuestCountry

HotelID

StaffID

AgentIDRoomNo

GuestNoFromTo

6

?

RevenueCube

RevID

DateOfOccupancyRevenue

RevPAR

Y

*:

zj

RevPAR: Revenue Per Available Room

82

Page 83: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Database Feature Programs through theBusiness Process Modelling & Notation

83

Page 84: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

BPMN�� ��Travel Booking

84

Page 85: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

BPMN�� ��Reimbursement of Travel Costs

85

Page 86: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Workflows: Infotainment

86

Page 87: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Web Information Systems�� ��Towards User-Orientation

Differences and similarities to/with classical IS

• Application domain driven

• Adaptability to users, environment, current usage

• Complex structure at various levels of detail

• Storyboarding becomes essential, beyond business process model-

ling

• Presentation matters and influences structuring and functionality

• Distributed and collaborative work

• Long lasting transactions

• Co-evolution of historical and recent information

87

Page 88: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Aspects of Web Site Modelling and Design

• Intention:

• What is the purpose of the service (mission statement)?

• Is there just one major intention or are there several minor in-

tentions as well?

• What is the time-scale for these intentions (long-term / short-

term)?

• Are there metaphors to describe the mission?

• Content:

• Which information should be provided?

• How can this information be decomposed, structured and clas-

sified?

• Which information needs should be satisfied?

• Which information must be kept together in all cases?

88

Page 89: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Aspects of Web Site Modelling and Design

• Functionality:

• Is the site to be just passive or active?

• Which navigation structure should be provided?

• What kind of search should be support (internal, external, which

search tools)?

• What kind of support functions should be provided?

• export functions such as printing, e-mail, storage

• import functions such as database connections

• marking and extraction functions, etc.

89

Page 90: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Aspects of Web Site Modelling and Design

• Context:

• What is the cultural context?

• What is the application context?

• Does the provider and the user require specific context?

• What is the technological context?

• Presentation:

• Which technical devices (screens, videotext, handy, etc.) will be

used by the users?

• What are suitable quality criteria for users, content and functio-

nality?

90

Page 91: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Aspects of Web Site Modelling and Design

• Usage:

• Who will use the service?

• What are the goals of the expected users?

• How do we expect the users to access the services (story)?

• Which user intentions and behaviour shall be supported?

• Which user profiles should be supported?

• What are suitable quality criteria for users, content and functio-

nality?

91

Page 92: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Key Questions

• Who will be using the system?

• When will the system be used?

• Where is the information system used?

• What is represented in the system?

• How will the system be used?

• Why is the system used?

• What is the policy, intention, goal, and aim of the provider?

Additional dimension in the Zachman model are:

Competency:

Time: (schedule; delay)

Environment: (context; technical and organizational)

Quality: (in which quality; with which guarantees)

Runtime characteristics: (adaptation; exceptions; delays)

Collaboration: (with whom)

92

Page 93: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Example: City Information

Infotainmente.g. www.Cottbus.de

simple

fact

up-to-date

simple management

variety of layout

93

Page 94: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Infotainment: Lessons Learned

• large and constantly raising databases behind

• database integration

• database proliferation

• data gathering and quality check

• get the real user story, e.g. search

• learn to separate users for better service

• who gets what when where how for what purpose

• intention and mission of city information

• layout is the only discussion issue for orderer

• get content gardener inside the city management

• evolution plans in advance

• surprising additional wishes are coming anyway

• sudden change is ruled by political changes

94

Page 95: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Example: Edutainment on Demand

Edutainment

e.g. damit.dfki.de

Learning

on demand

on data available

with algorithms

from your working place

95

Page 96: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Edutainment: Lessons Learned• give each user its profile and gather learning demand

• edutainment is not e-learning

• blended learning is not the main issue

• interactive learning is achievable

• collaborative learning is the real issue

• commercial tools are simple document management tools

• user adaptation is a must

• content must be provided in various versions

• one hour playout requires 50 hours of preparation

• only appropriate content can be edutained

• learning is the users task for which he/she is motivated

• interactive content is best fitted

• 60(content) : 20 (didactics) : 10 (system) : 10 (design) split of

work

• learning cultures are different, e.g. German, Italian, Greek, Thai

• learn from past, e.g. School on the air

96

Page 97: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Example: Collaboration on Demand

Groupcollaboration

Association

Cottbusnet

simple

fact

up-to-date

simple management

variety of layout

97

Page 98: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Community Sites: Lessons Learned• follow community life

• communities constantly evolve

• privacy is a must and a big research issue

• user roles, rights, protection, internal tracking

• get heads and leaders

• content is attracting

• advertisement is out

• user interactivity is the main supporting area

• support partially active users as well as hyper-active users

• organise community beyond forum

• presentation may become the annoying bottleneck

• separate public, member, group member, personal information

• virtual communities are a big research issue

• follow the rules of the community in real life

• Web 2.0 is only the starting point

• LOW principle: double profit from shared work

• ownership must be explicitly treated

98

Page 99: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Example: The New GovernmentE-Government

database generated

renewal

SeSAM

Communication

and collaboration

on profile

on portfolio

on interest

integrated

content management

99

Page 100: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

e-Government: Lessons Learned• internet as inhabitant first service point

• parliamentarians are afraid of internet and public display

• understand the parliamentarian work

• storyboarding is a challenging but wining issue

• everybody in the government has an opposite opinion

• mayors are delicate people

• get a mole inside government adminstration

• develop a competence partner in the adminstration

• procurement is a good starting point

• application variety is a killing and overflowing challenge

• laws and regulations are a resolvable nightmare

• society is becoming older

• don’t discuss so much, better base first steps on experience

• not all services are for free, find the borderline

• data gathering is a challenge

• data guards are a communication bottleneck

• the bottleneck warehouse approach is best solution

100

Page 101: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Storyboarding an Old Issue ?E.g., great script and movie: Tootsie, Witness, Back to the Futurestory + characters + topic + pictures + dialogues

• well structured (set-up, development, midpoint scene, climax, resolution)

job-less, changing sex, job success, friendship, love, overwhelming problems,

happy end+ brief and focused, constraint enforcement through dimensions

• top-down (expose, outline of scenes, treatment, plot, production)

• using all elements (catalysts, action point, attraction, barrier, complication,

contrast, momentum, motives, pay-off, reversal, sequence, A-story, B-story,

subjective point-of-view, subplot, twist)

motivation action goal conflict

A well known story:

The wild swans: ib1a1c1A1B4C ↗ {Sch1H1¬Z

1¬∥sch7H7Z9}W 4L1 ↘

V 1[Sch1H1Z9 ≡ R4]× 3

101

Page 102: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Separation of Concern in the WebUtilisation Space by the Specification

HexagonUser and intention

Storyboard

Functionality

Presentation

Content

Context

Web IScollaborationgroup content

collective identity

Goal, application areaprofile,

information demand

Storiestasks

Interfacesdepending on the environment

Dataobjects

knowledge

Navigationsearchwork

TechnicsorganisationWIS context

102

Page 103: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

From Web 1.0 to Web 3.0

Functionality

Presentation

Content

Web 1.0

Interfacesdepending on the environment

Dataobjects

knowledge

Navigationsearchwork

((User and intention))

((((Storyboard))))

Functionality

Presentation

ContentTopic

(Context)

Web 3.0asset

extends contentby annotation

Goal, application areaprofile,

information demand

Storiestasks

Interfacesdepending on the environment

Dataobjects

knowledge

Navigationsearchwork

Derivationassociationdeclare

TechnicsorganisationWIS context

Web 1.0: author driven,

publish/provide story/support or

advertise/wait/attract/react/retain

for users:

inform/subscribe/obtain/answer/come back

Web 3.0: asset driven, content-asset centered, provides

additionally linguistic semantics,

Technology combines: artificial intelligence, automated

reasoning, cognitive architecture, composite applications,

distributed computing, knowledge representation, ontolo-

gy (computer science), recombinant text, scalable vector

graphics, semantic Web, semantic Wiki, software agents

association within the topic map or

103

Page 104: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Web x.0 and the Co-Design HexagonalDimensions�� ��Web x.0: Towards sophisticated web engineering

User and intention

Storyboard

Functionality

Presentation

Content

Context

Web 2.0collaborationgroup content

collective identity

Goal, application areaprofile,

information demand

Storiestasks

Interfacesdepending on the environment

Dataobjects

knowledge

Navigationsearchwork

Technicsorganisation

�� ��Web 2.0 allows context injection and is user-centered and story-centered

104

Page 105: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Interaction ModelingStory as labeled di-graph S = (V,E, λ, κ)

V - scenes, E ⊆ V × V - transitions

media object assignment λ : V → {MediaObj}representation through media objects

with permitted rights, permitted roles, obligations of actors

MediaObject (Container, ManipulatRequests, SuppliedFunctions)

activity assignment κ : E → {Activity}activity = ( actor(profile) , task,

context (equipment, channel, rights, roles, particular),

representation (style, default, emphasis, ...))

Scenario - run through the system

with cumulative history (and adaptation)

consists of scenes

visited sequentially or in parallel by actors

story space - composition of sequences

105

Page 106: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Representation of Dialogue Scene within aStory

dialoguestep

nextdialoguestep

-- -sub-unit

suppliedprocess

manipulationsub-request

enabled actor6

?control(event,preCondition,acceptCondition)

:

U dialogue scene expression

transition according to

dialogue scene

involvedactors

story scenesequence

mediaobject

representationstyle

context,task

6 66 6 6 6

106

Page 107: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Scene in a StoryboardCourse Data Entry Scene Extended With Internal Negotiations

K

Y

Loginby chairsresponsible

z

:

Collectseminarproposals

j

j

Generatenew courseproposal

j Settledata forproposal

j Entryof necessary

data

Acceptcoursedemand

U

Settledata forseminar

:

K

Confirmation

:

Submissionchairdata

UAssignmentof coursesto members

j

UNegotiation ofassignmentsby members

UFormulation

of sideconditions

K

UAuxiliary& historic

data

y

Chairs Lecture Proposal Scene

107

Page 108: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Dialogue Steps for Event etc. Search

entrystepY

individualrequest step

9property-based

search

j result &clarification

step

jtarget seeking

step

9

K

U

map browsingstep

jpoints ofinterest

zUz

K

K

Uj

bookingstep

event search scene

108

Page 109: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Storyboards: Example Wikis

H H

Evaluator

SupportingExpertWiki Team

MemberU U

checkanswers

z

K

closegroup

definenewwikis

K

collectwikisY

develop newwikis

U

group

communi-cationcontentchunkspace

wikidelivery

box

wikisheet

jdiscussion& evaluation

U

K

nextwiki

y

revisedwiki

9

newwiki

U

quitgroup

9

pendingwikis

confirmedwikis

outdatedwikis

U

UK

group

help

hints&

tricksroom

forming a Wiki team with three roles (evaluator, member, supporter)

modelling the Wiki collaboration story

modelling the intended result

109

Page 110: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Wiki Specification Based on ContentChunks

Wiki W = (I,S,ΣW) specifying “who”, “how”, “why”, “whether”

Content chunk processes I = (V,M,ΣT ) specifyingthe content chunks V based on media types (“what”),the wiki manager M (“how”), andthe competence ΣT through a set of tasks (“for what”)

Wiki storyboard S specifying the organization frame (“how”),the parties (“who”) and the context (“whereby”)

Quality of wiki ΣW agreeing on the quality and motivation (“why”)

Exchange frame specifying

Architecture drafting the general engine (“where”)

Wiki collaboration style drafting the flow (“when”)

Wiki collaboration pattern describing the functionality (“how”, “whereby”)

as a generalization of distributed systems, communication systems,

groupware systems, and collaboration architectures

110

Page 111: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Modelling Life Cases by Stories�� ��Digicult: Representing successful behavioural pattern

K

Surveyon opportunities

j

K

Deletingoptions

U

j Nofurtheroptions

jGaining info

on problems

zSamplecasesY

U z

j

Successfulcases

K

Approachesfor use

y :

SimilarcasesY

Backgroundinfo

9

Analogous search

Mapping behaviour of users with full option space

Intelligent representation of information and knowledge spaces

Adaptation to the user, curent situation, context, ...

Logistics for content

111

Page 112: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Life and Application cases�� ��Relocation and change of data

relocation

parties

housing benefit

house owner benefit

insurance agencies

health insurance

associated life cases

associated parties

vehicle documents

parking card

specialownership

special/exceptional

foreign resident

foreign temporary

second home additional taxation rent level

employment office

employer

employment

phone

water,sewage

supply energy,gas

pets registration

pet taxpets

children

partners

proofs

certificaterscertificate of authority for authorizing others

pension approval certificate

employment documents

marriage certificate

driving licence

child identification card

degrees

birth certificateidentification

passport

necessary documents

special names

income tax card

passport

pseudonyms

fratemity

associated documents

addressto

from proof of moving out

proof of moving in

special documents

citizenship

potential changes

potential changes

address

address

school

housing

special contracts

documents from handicaped car

tv/radio

housing allowance

housing programme

housing eligibility

special parking permission

forwarding period

forwarding address

insurance

bank

collect charges

house registrationhouse number

private people

parties, organisation registration

directory

obligation of secrecy

disclosure

provided reasonsaccepted restrictionsoverruled restrictions

social support

move life case

contracting

restrictions

application for registration

forwarding mail

tax

religious organizations

actors

basic changes

issuer

agencies

special support

recipients

schools

directory companies

automated contracting

aliens department

police

statistics agenca

tax office

ministery

official bodies

companies

support of organization

data protection official

documentation agency

contracters

civil servant

public authorities

citzen office

town clerk`s office

factory inspectorate

TV/radio

112

Page 113: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Mapping Life Cases to Business Use Cases�� ��The natural language representation of application domain elements

Actor - Environment�Life cases

9 z?

Stories Businessuse cases Portfolio� -� -

Verbword fields

? ?9 zSubstantiveword fields

?

Narrations

Bundling inContentActions

Content Tasks

Persona� j

Platform

Application domain

• is characterised by the life case that characterises typical applica-

tion situations for groups of users (actors) within a context,

• can be used to derive business use cases depending on the task

portfolio and on the story under consideration, and

• is described through narrative descriptions based on word fields.

113

Page 114: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Mapping the Business Use Cases toRequirements

�� ��The use of application domain information for requirements elicitation and analysis

Stories Business use cases Portfolio

? ?z9?

Storyboard Non-functionalrequirements

z9Functional

requirements

Requirementsprescription

The application domain description can be used to deduct

the requirements prescription

• through functional requirement,

• through non-functional requirements, and additionally

• through the storyboard of the application.

114

Page 115: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Rep.: Specific Distributed System:

Services Provided by a Systemthat Satisfy the Information Demand

Task User

Life Case Context

Society Knowledge

Service Information

Feature

�-

�-

�-

Serviceinterface

View Database

ProcedureFunction

AlgebraAnalysis

Containers deliver and accept the data based on views to the user

Container are media types, i.e., provide data with functions for their

utilisation

Information as requested by the user

Features of the information system for the support of the user

115

Page 116: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Distributivity Specification ThroughDistrLang

Service S = (I,F ,ΣS) specifying “what”, “who”, “how”, “why”, “whether”

Informational processes I = (V,M,ΣT ) specifyingthe content V based on media types (“what”),the service manager M (“how”), andthe competence ΣT through a set of tasks (“for what”)

Service characteristics F specifying the organization frame (“how”),the parties (“who”) and the context (“whereby”)

Quality of service ΣS agreeing on the quality and motivation (“why”)

Exchange frame specifying

Architecture drafting the general engine (“where”)

Collaboration style drafting the flow (“when”)

Collaboration pattern describing the functionality (“how”, “whereby”)

as a generalization of distributed systems, communication systems,

groupware systems, and collaboration architectures

116

Page 117: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Conceptual Modelling of Collaboration�� ��Collaboration Triangle Relating Communication, Coordination, and Cooperation

Coor-dination

I

requires

arrangestasks for

Collaboration

Coope-ration

-

demandsin

creates

opportunities for

Communi-cation

R

supportsgenerates commitmentsthat are managed by

�� ��Collaboration Acts

Communication act view based on sending and receiving

Concurrency view based on commonly used data, functions, and tools

Cooperation context view combines the context of cooperation,

i.e. portfolio to be fulfilled, the cooperation story and the resources that are

used

117

Page 118: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Layers of a Typical Collaboration System

Communication space:(a)synchronous,

multicast/broadcast,protocols, standard

Coordination space:operation management,session management

shared resources management,users management

Cooperation space/workspace:workspace control,

awareness, notifications,security over user functions

CooperationLayer

CoordinationLayer

CommunicationLayer

Media objectunit manager

Coordination andcontracting system

Communicationsupport system

generalising Ochoa, Guerrero, Fuller, Herrera: Infrastructure of Groupware Systems

118

Page 119: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Explicit CollaborationCommunication via exchange of messages and information

as only one of the perspectivesdemands cooperation and

generates commitments that are managed by coordinationchoice of media, transmission modes, meta-information,

conversation structure and paths, restriction policy

Coordination via management of individuals, their activitiesand resources

as the dominating perspectivegenerates communication and arranges tasks for cooperationpre-/post-articulation of tasks; management of tasks, objects, and time;

loosely ... tightly integrated activities, enabled, forced, blocked

Cooperation as production taking place on a shared spaceas the workflow or life case perspectivecreates opportunities for coordination and demands communicationstoryboard-based interaction, mapped to (generic, structured) workflowsproduction, manipulation, organization of contributions through media objects

Awareness is fostered by each of the aspects andmediates each of the aspects

119

Page 120: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Support for Collaborationmedia type: views + functionality + adaptation + presentation

Active media types: in parallelopen(content); inform(proprietor, usage)

Self-protecting media types: content based on queries and supported view

protocol: contact(proprietor,possessor, usage);obtain(proprietor,token); provide(media type, token)

Communication protocols based on service (distributed ADT), signals, shared

variables, sender/reponder ASM (signature (e.g., signal), phases (via small

ASM)), and timer

represented through SDL or message sequence chart or other protocols

Security techniques against passive/active sniffling, trust exploitation, viruses,

downloadables, OS holes, hacking

Control techniques for focusing, access, user authorization, (password)

protection, biometrics, content/concept/topic security, firewalls, hi-

ding/anonymizing/translating, identity management

Privacy enhancing techniques based on virtual private networks, key encryp-

tion, secure transaction, and corporate policy on security, privacy and control,

cookie cooker

120

Page 121: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Conceptual Model for IT Service System

• Fundamental elements for developing applications;

• Organising the discrete functions contained in (business) applicati-

ons comprised of underlying business process or workflows into inter

operable, (standards-based) services;

• Services abstracted from implementations representing natural fun-

damental building blocks that can synchronise the functional requi-

rements and IT implementations perspective;

• Services to be combined, evolved and/or reused quickly to meet

business needs;

• Represent an abstraction level independent of underlying technolo-

gy.

121

Page 122: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Services for Distribution:�� ��Informational Processes

Media types Services manager Competence

Raw

media

type

Exten-

sions

(unit/

or-

der)

Co-

/Ad-

hesion

Hierar-

chy

Playout Kind Com-

muni-

cation

Coor-

di-

nat-

ion

Co-

oper-

ation

Task Acti-

vity

Course

inserti-

on view

Chair

prio-

rity

order

Course-

cen-

tered

Term

order

Mac-

XSL5

Daily

re-

fresh

Deliver

only

None None Input

main

course

data

Select

or

insert

Course

nego-

tiation

view

Assis-

tant

order

Course-

cen-

tered

Work-

load

order

Mozi-

XSL5

Weekly

re-

fresh

Ex-

change

View

others

Other

assi-

stants

Assign-

ment

Accept

or

reject

... ... ... ... ... ... ... ... ... ... ...

122

Page 123: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Services for Distribution:�� ��Services Characteristics

Party Organization Context

Charac-

teris-

tics

Roles Rights Rel-

at-

ions

Time

slot

Hie-

rar-

chy

Syn-

chro-

nizat-

ion

Co-

ordi-

nat-

ion

Media

types

Envi-

ron-

ment

Range

of

vari-

ation

Respon-

sible

person

Inform,

provi-

de

Insert

new,

select

Depen-

dent

(chair)

[request,

dead-

line]

none none none Last 3

terms

lectu-

res

Linux,

PC,

brow-

ser

Full

Assistant

at

chair,

assi-

gned

(cour-

se)

Nego-

tiate

Own

plan

Co-

oper-

ate,

Appro-

veBy

(chair)

[request,

mee-

ting]

none colle-

agues

∃!!assign-

ment

for

chair

Chair

sche-

dule

Linux History,

profile,

adap-

tation

... ... ... ... ... ... ... ... ... ... ...

123

Page 124: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Services for Distribution:�� ��Quality requirements

• General requirements (enforced by the entire system)

• ubiquity, e.g., 7-24-60-60 frame

• security, including all aspects

• User requirements (for interactivity and distribution support)

• interpretability (meaningful content, adaptive, context-sensitive)

• consistency (of the story, of the content, of the dialogues)

• view consistency (within a media object suite)

• System requirements (applied to implementations)

• scalability (handling large system configurations as well as small)

• durability (of data)

• robustness (against any kind of (user/system) errors)

• performance (at least for usability)

124

Page 125: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Current and Future State-Of-The-Art

• Services are often considered only at the implementation layer

• Services provide an added value for the user, for the application

• Distinguish between application domain description, require-

ments prescription, and information system specification

• System solutions include social systems, computation systems, and

organisational issues

• W∗H specification frame for the full description

• All W-questions can be mapped to technology in a way that the

systems developer understand the issue

• Our framework captures all requirements including the users

125

Page 126: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Service Specification House

126

Page 127: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Service Specification House

127

Page 128: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Service Model

128

Page 129: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Service Model

129

Page 130: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

The Service Model

130

Page 131: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Service W∗H-Specification Frameclassical rhetorical frame

Hermagoras of Temnos: Quis, quid, quando, ubi, cur, quem ad modum, quibus

adminiculis

Who, what, when, where, why, in what way, by what means

• W4: wherefore (purpose), whereof (origin), wherewith (carrier, e.g.,

language), and worthiness ((surplus) value)

• secondary characterisation W17H:

• user or stakeholder or community of practice characteristics: by

whom, to whom, whichever;

• characteristics imposed by the application domain: wherein, whe-

re, for what, wherefrom, whence, what;

• purpose characteristics characterising the solution: how, why,

whereto, when, for which reason; and

• additional context characteristics: whereat, whereabout, whither,

when.

131

Page 132: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Service W∗H-Specification Frame:Resulting Tasks

(1) W4 (Purpose, Origin, Carrier, Value): critical review of application

portfolio, pre-cut of application domain (necessary, potential, never), languages

(environment), profit and motivation

(2) W17H (Community of practice): abilities, views, attention and persona-

lity, value of opinion and contribution, reliability, roles and responsibilities

(3) W17H (Specifics of application domain): expectations, quality, foci,

variations, future and evolution

(4) W17H (Specifics of solution): programs, service after roll-out, quality

and pricing, time and version management, coverage and capacity, integration,

future migration

(5) W17H (Context): environment, infrastructure, temporal constraints, inte-

gration with other solutions�� ��Application systems as socio-technical systems.

132

Page 133: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Abstraction Layer Models�� ��Separation by Level of Detail

Application domain layer concerned with description of the app-

lication

Requirements acquisition layer concerned with prescription of

system requirements

Business user layer concerned with behaviour or users, their de-

mands to the system

Conceptual layer concerned with specifications (schemata) that de-

scribe the system

Implementation layer concerned with logical and physical (speci-

fications and) programs

Deployment layer concerned with introduction, usage, mainte-

nance, evolution of the system

133

Page 134: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Abstraction Layer

Functionalityspecification

Structuringspecification

Distributionspecification

Dialoguespecification

Implementationlayer

Conceptuallayer

Business userlayer

Requirementsacquisition

layer

Application domainlayer

Imple-menting

De-signing

Vari-ating

Scoping

?

?

?

?

134

Page 135: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

ServicesService: ⟨name⟩

Based on: general conditions

Media types: ⟨general description⟩

Raw media type : ...

Extensions: ...

Unit: ...

Order: ...

Co-/Adhesion: ...

Hierarchy: ...

Playout: ...

Services manager: ⟨general description⟩

Kind: ...

Communication: ...

Coordination: ...

Cooperation: ...

Competence: ⟨general description⟩

Task: ...

QoS : ...

135

Page 136: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Context of a ServiceContext: ⟨name⟩

Media types: ...

Environment: ...

Range of variation: ...

Context in General: Enrichment by Super-Typing

Syntacticverbal context

Extra-syntacticauxiliary correlates

Media type suite,meta-information

Actors, profile,payment, ...

Potential environment, information system, scenes, tasks, roles

Intention, theme, occasion, mission, purpose

Explicit context (Story space)

Website context (provider, supporter, SW/HW stakeholder)

Pragmatical context (situational, physical environment, social, policy, time)

Current scenario, history, current environment, user, goals, particular, culture

136

Page 137: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Exchange Frames for Distribution:�� ��Architecture, e.g. Database Farms

LocalDBS

Farmcontainersystem

Filter andtransfor-mationsystem

System A

Localapplications

Userinterface

Local users of A

Globalcommunicationsand farming

system

Userinterface

Global users

LocalDBS

Farmcontainersystem

System B

Filter andtransfor-mationsystem

Localapplications

Userinterface

Local user of B

as generalization of federated systems and multi-database systems

137

Page 138: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Exchange Frames for Distribution:�� ��Another Architecture Supporting Distribution

Exchange support systemCommunication(asynchronous

|×| synchronous)

Media object suite management systemObject suites Association manager Consistency manager

Stub

SenderReceiver

Functionmanager

Cooperation

Working space

Organizationsmanager

Work processmanager

Versionmanager

Applicationsystemwrapper

Coordination

Coordinator

Taskmanager

�-

Exchange = Cooperation + Coordination + Communication

Collaboration system supporting groups, workspace, media object suites

138

Page 139: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Exchange Frames for Distribution:�� ��Collaboration Style

supporting programs (session, user, payment management)

data access pattern (release, sharing, remote)

model of collaboration (P2P, ...)

collaboration interplay (partner, mapping, rules

Collaboration Pattern

access / configuration

event processing

synchronization

concurrent/parallel execution

139

Page 140: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Typical Collaboration Pattern

Proxy collaboration: partial system copies (remote proxy, protection

proxy, cache proxy, synchronization proxy, etc.)

Broker collaboration: coordination of communication either directly,

through message passing, based on trading paradigms, by adapter-

broker systems, or callback-broker systems

Master/slave collaboration: tight replication in various application sce-

narios (fault tolerance, parallel execution, precision improvement; as

processes, threads; with(out) coordination)

Client/dispatcher collaboration: for name spaces and mappings

Publisher/subscriber collaboration (observer-dependents paradigm)

active/passive subscribers or passive with their subscription profile

Model/view/controller collaboration: e.g. three-layer architecture of

database systems

140

Page 141: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Portfolio and Task SpecificationParty portfolio: ⟨party portfolio name⟩Task: ⟨general description⟩

Characterization: ⟨general description⟩Initial state: ⟨characterization of initial states⟩Target state: ⟨characterization of target states⟩Profile: ⟨profile presupposed for solution⟩Instruments: ⟨list of instruments for solution⟩Collaboration: ⟨collaboration style/pattern⟩Auxiliary: ⟨list of auxiliary conditions⟩

Execution: ⟨list of activities, control, data⟩Result: ⟨final state, target conditions⟩

Party involvement: ⟨general description⟩Role: ⟨description of role⟩Part: ⟨behavioral categories/stereotypes⟩

Collaboration: ⟨general description⟩Communication: ⟨protocols, services and exchange⟩Coordination: ⟨contracts and enforcement⟩Cooperation: ⟨flow of work⟩

Restrictions: ⟨general description⟩Party restrictions: ⟨general description⟩Environment: ⟨general description⟩

141

Page 142: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Coordination ContractsContract: ⟨name⟩

Based on: general conditions

Parties: ⟨general description⟩

Proprietor: ⟨...⟩

Possessor: ⟨...⟩

Trustee: ⟨...⟩

Arbiter: ⟨...⟩

Subject matter: ⟨Media object suite⟩

Exchange: ⟨binding obligations, permissions⟩

Computation: ⟨obligations, permissions⟩

Distribution: ⟨obligations, permissions⟩

Monitoring: ⟨managers: recognizer, ⟩

⟨states, timer, constraint scanner⟩

Notification: ⟨obligations, permissions⟩

Correlation: ⟨protocols, obligations, permissions⟩

Considerations: ⟨legal conditions⟩

Enforcement: ⟨actions, termination⟩

142

Page 143: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Coordination SpecificationCoordination profile: ⟨name⟩

Based on: general conditions

Formation: ⟨general description⟩

Contract: ...

Lifespan: ...

Contract variant: ...

Parties: ⟨names⟩

Organization: ⟨names, general description⟩

Infrastructure: ⟨name, general description⟩

143

Page 144: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Party SpecificationParty: ⟨names⟩

Characteristics: ...

Profile: ...

Roles: ...

Rights: ...

Relations: ...

Part: ⟨general description⟩

Organization: ⟨general description⟩

Infrastructure: ⟨general description⟩

Party profile: ⟨party profile name⟩

Information demand: ⟨general description⟩

Utilization pattern: ⟨general description⟩

Specific utilization: ⟨general description⟩

Party context: ⟨general description⟩

144

Page 145: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Party Group Specificationorganizations, e.g., groups:Organization: ⟨name⟩

Synchronization: ...

Stories: ...

Hierarchy: ...

Time slot: ...

Task distribution: ...

Coordination: name

Infrastructures: ⟨names⟩

145

Page 146: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Making Co-Design Working: GeneralDescription

Application domain or strategic layer:

HERM (concept map (concept)),

HERM (functionality (feature)),

DistrLang (contract sketch (contract, quality criteria))

SiteLang (application story (application step))

(1) Developing visions, aims and goals

(2) Analysis of challenges and competitors

Stakeholder contract (“Lastenheft”)nowadays: Product feature catalog

146

Page 147: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Making Co-Design WorkingRequirements Specification

Requirements acquisition layer:

HERM (sketch (rough type)),

HERM (business process (business step)),

DistrLang (contract opportunities),

SiteLang (story (event))

(3) Separation into system components

(4) Sketching the story space

(5) Sketching the view suite

(6) Specifying business processes

IS development and system documentation (“Pflichtenheft”)

147

Page 148: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Making Co-Design WorkingUsage, Usability and Application Stories

Business user layer:

HERM (skeleton (application type)),

HERM (activity (action)),

DistrLang (media types, contract),

SiteLang (plot (theme), actors, media types)

(7) Development of scenarios of the story space

(8) Elicitation of main data types and their associations

(9) Development of kernel integrity constraints, e.g., identification constraints

(10) Specification of user actions, usability requirements, and sketching media

types

(11) Elicitation of ubiquity and security requirements

Playout system specification

148

Page 149: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Making Co-Design WorkingConceptual Specification

Conceptual layer:

HERM (schema(types)),

HERM (workflow (process)),

DistrLang (service space, exchange frame),

SiteLang (story space, actors, media types, presentation)

(12) Specification of the story space

(13) Development of data types, integrity constraint, their enforcement

(14) Specification of the view suite, services and exchange frames

(15) Development of workflows

(16) Control of results by sample data, sample processes, and sample scenarios

(17) Specification of the media type suite

(18) Modular refinement of types, views, operations, services, and scenes

(19) Normalization of structures

(20) Integration of components along architecture

Conceptual schemata

149

Page 150: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Making Co-Design WorkingImplementation Layer

Implementation layer:

o-r DDL (o-r schema (relation)),

PL (module) language (program, trigger, sp, ...),

Distribution specification language (distributed system

(distribution, protocol, call))

Dialog system language (presentation space (working sheet))

(21) Transformation of conceptual schemata into logical schemata, programs,

and interfaces

(22) Development of logical services and exchange frames

(23) Developing solutions for performance improvement, tuning

(24) Transformation of logical schemata into physical schemata

(25) Checking durability, robustness, scalability, and extensibility

Program library

150

Page 151: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Publications on Co-Design• Dusterhoft, A., Thalheim, B.: SiteLang: Conceptual Modelling of Internet Sites. Proc. ER’2001, LNCS 2224,

179 - 192. Application to webservices

• Feyer, Th.; Thalheim, B.: E/R Based Scenario Modelling for Rapid Prototyping of Web Information Services.

Proc. WWWCM’99, 253 - 263. Application to webservices generation

• G. Fiedler, H. Jaakkola, T. Makinen, B. Thalheim, and T. Varkoi. Co-design of web information systems

supported by SPICE. Information Modelling and Knowledge Bases, XX:123–138, 2009.

• Goldin, D., Srinivasa, S., Thalheim, B.: IS=DBS + Interaction: Towards principles of information system

design. Proc. ER 2000, LNCS 1920, 140 - 153. The theoretical foundation

• Klettke, M.: Reuse of database design decisions. Proc. REIS’2000, LNCS 1727, 213-224. Reuse structures

and intelligently acquire integrity constraints

• Lewerenz, J., Schewe, K.-D., Thalheim, B.: Modelling data warehouses and OLAP applications by means of

dialogue objects. Proc. ER’1999, LNCS 1728, 354-368. OLAP in a consistent, powerful and simple way

• K.-D. Schewe and B. Thalheim. The co-design approach to web information systems development. International

Journal of Web Information Systems, 1(1):5–14, March 2005.

• Schewe, K.-D.; Thalheim, B.: Towards a theory of consistency enforcement. Acta Informatica, 36, 1999, 97-141.

Instead of falling into the traps of rule triggering systems

• Steeg, M; Thalheim, B.: Conceptual Database Application Tuning. Proc. SCI’2000, 226-231. Tune instead of

normalize

• Thalheim, B.: Entity-Relationship Modelling - Foundations of Database Technology. Springer, Berlin, 2000.

The HERM “bible”

• Thalheim, B.: Logics and Database Modelling. Proc. ICLP ‘99, MIT Press, 6-21. The relationship to logics

• Thalheim, B.: Codesign of database systems and interaction - Thin and consistent UML. Proc. OTS’2000,

1-17. Codesign - the ultimate basis for best practices UML

151

Page 152: Codesign of Structuring, Functionality, Distribution and ...thalheim/pdffiles/... · Compiler Communication subsystem Operating system Synchronization of parallel access Data dictionary

InformationSystemsCo-Design

22-27.3.2014

B. Thalheim

Co-Design?

Structuring

Step-by-Step

Functionality

Interaction

Distribution

Methodology

References

Concept Topic

Content

Information

Publications on Engineering• A. Binemann-Zdanowicz. Towards generative engineering of content-intensive applications. In

Proc. Principles of Software Engineering Conference (PRISE 2004), pages 41–49, 2004.

• A. Dahanayake and B. Thalheim. Continuous database engineering. Int. Journal Business Inf.

Syst. (IJBIS), 13(2):133–150, 2013.

• K.-D. Schewe and B. Thalheim. Component-driven engineering of database applications. In Mar-

kus Stumptner, Sven Hartmann, and Yasushi Kiyoki, editors, Third Asia-Pacific Conference on

Conceptual Modelling (APCCM2006), volume 53 of CRPIT, pages 105–114, Hobart, Australia,

2006. ACS.

• P. Schmidt and B. Thalheim. Towards ASM engineering and modelling. In Proc. ASM07, pages

191–210, 2007.

• B. Thalheim. Towards component engineering for large database applications. In CAiSE ’03,

CEUR Workshop, number 74, pages 217 – 220, 2003.

• B. Thalheim. Conceptual modeling in information systems engineering. In J.Krogstie and

A. Lothe, editors, Challenges to Conceptual Modelling, pages 59–74, Berlin, 2007. Springer.

• B. Thalheim. Engineering database component ware. In TEAA’06 post proceedings, LNCS

4473, pages 1–15, Berlin, 2007. Springer.

152