Introduction to modelingIntroduction to modeling
MSc 2008/2009Sc 008/ 009
Lecture 1/2
© Copyright 2007 STI - INNSBRUCK www.sti-innsbruck.at
1
Course overview
• Introduces modeling as a discipline within C t S i d E i i d fComputer Science and Engineering, and some of the the most important modeling paradigms of the last decades.– Core primitives and principles.– ER modeling.
OO modeling– OO modeling.– Ontologies.– Services and process modeling.– Modeling best practices.
www.sti-innsbruck.at 2
Overall learning goal
• Get an overview on the most important principles of (d i ) d li(domain) modeling.
• Learn how to model correctly and usefully• Learn how to model correctly and usefully.
• Learn some well-known modeling paradigms, theirLearn some well known modeling paradigms, their commonalities and differences.
www.sti-innsbruck.at 3
Administrative issues
• The course is structured as VO1 (703806) + PS1 (703807)
• Both VO and PS will be held biweekly (VO 14.15 –15.45, PS 16.15 – 17.45)
• Attendance policy – VO
• This is a graduate course, assignments require material discussed in g g qclass in addition to slides, textbooks and additional reading.
– PS• Students are allowed to miss maximally 2 hours of the total number of
POS hours.
Please register to the course in due time (-> 10.10.2008 08:00)
www.sti-innsbruck.at 4
About the lecturer
Dr. Elena SimperlVicedirector STI InnsbruckUniversity of InnsbruckT h ik t 21Technikerstr. 21a6020 Innsbruck, Austriat: +43 512 507 96884e: elena simperl@sti2 at
Office hours: only by appointment. Please contact me per e-il t l i l@ ti2 t
mail at [email protected]
www.sti-innsbruck.at 5
Examination and grading
• VOExamination: 26 01 2009 14:15 16:00 HS 11– Examination: 26.01.2009, 14:15 – 16:00, HS 11.
– If needed, dates for a second and a third examination will be proposed.
• PS– Attendance: Students are allowed to miss maximally 2 hours
of the total PS time.of the total PS time.– Assignments: 6 assignments in total, at least 4 assignments
should be successfully solved by every student; the solutions developed by each student will be evaluated during the PS.
– Presentation: every student should give at least twoassignment presentations in front of the other students during the PS.
www.sti-innsbruck.at 6
Resources
• Course home pagehttp://www.sti-innsbruck.at/teaching/courses/ws200809/details/?title=einf%FChrung-in-die-modellierung-/?title einf%FChrung in die modellierung%28vo%29
• Textbooks (selected chapters) and additional reading available for each lecture.
www.sti-innsbruck.at 7
Course sylabus
• Mo 06.10. 14.15 - 15.45Introduction and motivation Definitions principles– Introduction and motivation. Definitions, principles, properties and characteristics. Typical usage scenarios. Model engineering.
• Mo 20.10. 14.15 - 15.45Mo 20.10. 14.15 15.45– Modeling elements. Core relationship types and their
properties.• Mo 03.11. 14.15 - 15.45
– ER modeling. Basic modeling elements, foundational theory, examples. Differences to other modeling paradigms.
• Mo 17.11. 14.15 - 15.45 – OO modeling. Basic modeling elements, UML. Differences to
other modeling paradigms.
www.sti-innsbruck.at 8
Course sylabus (cont)
• Mo 01.12. 14.15 - 15.45O t l i D fi iti t d li l t RDFS– Ontologies. Definitions, types, modeling elements, RDFS, OWL, ontology reasoning. Differences to other modeling paradigms.
• Mo 15 12 14 15 15 45• Mo 15.12. 14.15 - 15.45– Process modeling. Modeling elements, BPMN, BPEL,
UML. Differences to other modeling paradigms.Mo 12 01 14 15 15 45• Mo 12.01. 14.15 - 15.45– Modeling best practices. Rules of thumb, modeling
patterns.M 26 01 14 15 15 45• Mo 26.01. 14.15 - 15.45– Examination
www.sti-innsbruck.at 9
Course sylabus (cont)
• Mo 06.10. 16.15 – 17.45– No PS.
• Mo 20.10. 16.15 – 17.45Mo 20.10. 16.15 17.45– PS: Assignments 1/2
• Mo 03.11. 16.15 – 17.45 – PS: Assignments 3/4
• Mo 17 11 16 15 17 45• Mo 17.11. 16.15 - 17.45– PS: Assignments 5/6
• Mo 01.12. 16.15 - 17.45– PS: Assignments 7/8
• Mo 15.12. 16.15 - 17.45– PS: Assignments 9/10
• Mo 12.01. 16.15 - 17.45– PS: Assignment 11/12g
• Mo 26.01. 16.15 – 17.45– No PS.
www.sti-innsbruck.at 10
INTRODUCTION ANDLecture 2
INTRODUCTION AND MOTIVATIONwww.sti-innsbruck.at 11
Models
• A model (plural models)– A person who serves as a subject for artwork or fashion, usually in the p j , y
medium of photography but also for painting or drawing. • The beautiful model had her face on the cover of almost every fashion magazine
imaginable.– A miniature representation of.
• The boy played with a model of a World War II fighter plane.– A simplified representation (usually mathematical) used to explain the
workings of a real world system or event. • The computer weather model did not correctly predict the path of the hurricane.
– A style, type, or design. • He decided to buy the turbo engine model of the sports carHe decided to buy the turbo engine model of the sports car.
– The structural design of a complex system. • The team developed a sound business model.
– A praiseworthy example to be copied, with or without modifications • British parliamentary democracy was seen as a model for other countries to follow
• From Latin modellus, diminutive form of modulus ‘small measure’.
www.sti-innsbruck.at 12
General principles
• Abstraction.
• Structural or dynamic information.
• Application independent vs application dependent• Application-independent vs. application-dependent models.
• Communication• Communication.
• Modularity.
• Redundancy.
www.sti-innsbruck.at 13
Data models
• A data model is an abstract model that describes h d t i t d d dhow data is represented and accessed.
• A data model theory is a formal description of how• A data model theory is a formal description of how data may be structured and accessed.
• A data model instance is obtained from applying a data model theory to create a practical data model for some particular applicationfor some particular application.
www.sti-innsbruck.at 14
Types of data models
• We differentiate among three types of data model i t (ANSI 1975)instances (ANSI, 1975):– A conceptual model describes the semantics of a domain
of interest in terms of modeling primitives.– A logical model describes the semantics, as represented
by a particular data manipulation technology.– A physical model describes the physical means by which p y p y y
data is stored.
www.sti-innsbruck.at 15
The Zachman Framework
htt // if /www.sti-innsbruck.at 16
http://www.zifa.com/
Conceptual/semantic models
• A conceptual/semantic model is a mental model which captures ideas in a domain of interest in terms of modeling primitives.
• The aim of conceptual model is to express the meaning of terms and concepts used by domain experts to discuss the problem, and to find the correct relationships between different concepts.
• The conceptual model attempts to clarify the meaning of various usually ambiguous terms, and ensure that problems with different interpretations of the terms and concepts cannot occur.
• Once the domain of interest has been modeled, the model becomes a stable basis for subsequent development of applications in the domain.
• A conceptual model can be described using various notations• A conceptual model can be described using various notations.
www.sti-innsbruck.at 17
Domain/use case models
• A domain model is a conceptual model of a system which describes the various entities involved in the system and the yrelationships among them.
• The domain model is created to capture the key concepts and the vocabulary of the system.
• It identifies the relationships among all major entities within theIt identifies the relationships among all major entities within the system, as well as their main methods and attributes.
• In this way the model provides a structural view of the system which is normally complemented by the dynamic views in use case modelscase models.
• The aim of a domain model is to verify and validate the understanding of a domain of interest among various stakeholders of the project group It is especially helpful as astakeholders of the project group. It is especially helpful as a communication tool and a focusing point between technicaland business teams.
www.sti-innsbruck.at 18
General principles
• A model describes some domain of interest in a simplified, abstract way.simplified, abstract way.
• Contain structural.
• Application-independent vs. application-dependent models.
• Shared understanding.
• CommunicationCommunication.
• Reusability.
www.sti-innsbruck.at 19
More general principles
• A model is built according to a modeling theory.– ER modeling, OO modeling, ontologies, semantic
networks, object-role modeling etc.
• A model uses modeling primitives.g p– Concepts, classes, entities, objects, elements.– Attributes, properties, methods.
Relationships– Relationships. – Axioms, constraints, restrictions, rules.
• A model is represented using a particular notation.– Tables and columns, XML, UML, OWL etc.
www.sti-innsbruck.at 20
Example
www.sti-innsbruck.at 21
Example
www.sti-innsbruck.at 22
http://www.softwarefactories.com
Example
www.sti-innsbruck.at 23
http://iandavis.com/2006/owl-time/owl-time-ontology-20050404.png
Example
www.sti-innsbruck.at 24
http://www.w3.org/2005/Incubator/urw3/group/images/section4_figure3.jpg
Example
www.sti-innsbruck.at 25
http://www.sequenceontology.org/images/image001.jpg
Example
www.sti-innsbruck.at 26
http://www.nature.com/nrc/journal/v7/n1/images/nrc2036-f1.jpg
Example
www.sti-innsbruck.at 27
http://www.microsoft.com/library/media/1033/technet/images/prodtechnol/sql/2000/maintain/sscpop07_big.gif
Process models
• A process model is a description of a process. Process models
ft i t d ithare often associated with business processes.
• A business process is aA business process is a collection of related, structured activities that produce a service or product that meet the needs of a client.of a client.
• Related: Service-oriented modeling, SOA. Business
t The layers of SOAprocess management. Workflows.
The layers of SOA (http://www.ibm.com/developerworks/library/ws-soa-design1/)
www.sti-innsbruck.at 28
General principles
• A process model describes a process in a simplified, abstract way.abstract way.
• Contains dynamic information.
• Application-independent vs. application-dependent models.
• Shared understanding.
• CommunicationCommunication.
• Reusability.
www.sti-innsbruck.at 29
More general principles
• A model is built according to a modeling theory.
• A model uses modeling primitives.
• A model is represented using a particular notation.
www.sti-innsbruck.at 30
Example
www.sti-innsbruck.at 31
http://www.ibm.com/developerworks/library/ar-workflow2/WorkflowProcessModel_Full.jpg
Example
Flight Booking
Service Provider
Contract
Customer
Hotel Booking
uses & aggregates
Service Provider
provides
VTA
Customer
Booking Provider
Contract
www.sti-innsbruck.at 32
Example
www.sti-innsbruck.at 33
http://faculty.maxwell.syr.edu/gmbonham/CognitiveProcessModel-2.gif
Modeling and model engineering
• Modeling is the process of creating or building a model.
• Model engineering describes the main principles, phases and activities of the model life cycle.– How to build a domain model.How to build a domain model.– How to integrate/align different models.– How to evaluate a model.– How to modify a model.– How to build a shared model.– How to reuse a model.– …
• Related: Business process management, knowledge engineering, domain model engineering, service-oriented modeling.
www.sti-innsbruck.at
oriented modeling.34
Example: CommonKADS
• Describes the process of constructing knowledge d l i t f t d d ti itimodels in terms of stages, ordered activities,
support techniques.• Stages:Stages:
– Knowledge identification.• Domain familiarization, list of potential model components for reuse.
Knowledge specification– Knowledge specification.• Choose task template, construct initial domain conceptualization,
complete knowledge-model specification.
– Knowledge refinement.Knowledge refinement.• Validate knowledge model, refine knowledge base.
• Roles: knowledge engineer, domain expert.
www.sti-innsbruck.at 35
CommonKADS guidelines
• Knowledge identification– Challenges: knowledge engineer needs to find a balance
between learning about the domain without becoming a full domain expert.
– Guideline: talk to people in the organization who have to talk to experts, but are not experts themselves.
– Guideline: avoid diving into detailed, complicated theories unless their usefullness is proven.
– Guideline: construct a few typical scenarios which you understand at a global level.
www.sti-innsbruck.at 36
CommonKADS guidelines (cont)
• Knowledge specification– Guideline: Prefer task templates which have been used
more than once. – Guideline: Base domain-specific conceptualizations on
existing data models as much as possible.– Guideline: Use few modeling primitives (concepts,
subtypes, relations).– …
www.sti-innsbruck.at 37
CommonKADS guidelines (cont)
• Knowledge refinement.– Guideline: if it turns out to be difficult to find instances of
certain knowledge types, reconsider this type of the schema.
– Guideline: look also for existing knowledge bases in the same domain.
www.sti-innsbruck.at 38
Metamodeling
• Metamodeling is the analysis, construction and development ofconstruction and development of the frames, rules, constraints, models and theories applicable and useful for modeling aand useful for modeling a predefined class of problems.
• It applies the notions of meta- and modeling.modeling.
• Related: MDAs, Model Transformation Language Meta-
(Brinkkemper, 1990)Transformation Language, Meta-process modeling, Meta-data modeling
www.sti-innsbruck.at 39
Modeling languages
• Languages have a syntax and a semantics.
• The same applies for modeling languages, though their syntax and more often semantics is nottheir syntax and, more often, semantics is not always precisely defined.
• Modeling languages can be divided in two categories:
G hi l d li l– Graphical modeling languages.– Textual modeling languages.
www.sti-innsbruck.at 40
Examples
• UML: general-purpose modeling language typically used to specify software systems.
• IDEF: family of modeling languages IDEF0-IDEF14– IDEF1: information modeling.– IDEF1X: database design.– IDEF4: object-oriented design.
IDEF5: ontology description capture– IDEF5: ontology description capture.– …
• ER: database design modeling language.• RDFS/OWL: ontology modeling languages.• PetriNets: modeling language for the description of discrete distributed• PetriNets: modeling language for the description of discrete distributed
systems.• BPEL:language for specifying business process behavior based on Web
services• WSML: language for specifying semantic descriptions of Web services.WSML: language for specifying semantic descriptions of Web services.• SysML: domain modeling language used in systems engineering.• XML Schema/DTD: general-purpose schema languages which can be
used for data modeling.
www.sti-innsbruck.at 41
Use cases
• Software and system engineering.
• Communication among people and machines.
• Knowledge representation.
• Information management: search, indexing, classification, navigation.
www.sti-innsbruck.at 42
uptake.com
www.sti-innsbruck.at 43
Benefits
• ProductivityFaster decision making
• Quality improvement– Faster decision making– Increased productivity– Enhanced problem-
solving
– Increased quality of decisions
– Dealing with g– Solve complex problems– Reliability– Equipment operation
uncertainty• Training
– Educational benefits• Knowledge
preservation– Capture scarce
expertise
Educational benefits• Job enrichment
– Flexibilityexpertise
– Use in remote locations– Integrating knowledge
of several experts
www.sti-innsbruck.at 44
Schreiber et al. Knowledge Engineering and Management.
Summary
• Modeling and model engineering.
• Types of models and their properties.
• Modeling languages.
• Use cases.
www.sti-innsbruck.at 45
Further reading
• A. Newell. The Knowledge Level. Artificial I t lli 18(1) 87 127 1982Intelligence, 18(1):87-127, 1982.
• M. Uschold and M. Gruninger. Ontologies: principles methods and applications KER 11(2)principles, methods and applications. KER, 11(2), 1996.
http://www.uml.org/
www.sti-innsbruck.at 46
Assignments 1/2
a. Explain what is the difference between a model and a miniature? What is the difference between a model and a prototype?
b. Consider one or two domains of interest that you are familiar with. You might or might not have developed computer systemswith. You might or might not have developed computer systems dealing with your chosen subject matters. Note down 10 of the key entities in this domain. Discuss the choices with your colleagues.
c. You are defending your team’s request for a development budget increase by explaining the benefits of correctly and appropriately done modeling.
d. Explain the process of knowledge model construction in CommonKADS.
www.sti-innsbruck.at 47
Thank You!
Questions?
www.sti-innsbruck.at 48