Você está na página 1de 68

Semantic Web Application Models

Invited Talk at the


ER 2003 - 22nd International Conference on Conceptual
Modeling, Chicago, Illinois
13-16 October, 2003

Erich Neuhold
Claudia Niederée
Michael Fuchs
Fraunhofer Institute IPSI
Darmstadt Germany
http://ipsi.fhg.de

© Fraunhofer IPSI
Content

Trends for the next generation of the


Web
• Web Services
• The Semantic Web
Challenges for Web applications in
the Next
Generation of the Web
Semantic Web Application Models and

related Standards
Operationalization: A Semantic Web
Application Development Framework
Open Issues 2
© Fraunhofer IPSI
The Next Generation of the Web

Central trends for the next Generation of


the World Wide Web
 The Web as “Programming
Interface”:
Web Service Paradigm
 Semantic Enrichment for an
improved information and service
mediation: Semantic Web

3
© Fraunhofer IPSI
Semantic Web - Vision
User S+
Preferences S+

Calendar

Calendar
Request/Task Interpretation Preferences

Interpretation

Agents Communication, Negotiation,


Planning, Decisions, Proofs
Interpretation Ratings,
Signatures,
Certificates

S+ Interpretation S+
S+ S+
Semantically S+
enriched
information „Trust“-Services

Information and Service 4


© Fraunhofer IPSI Provider
The Web Services Architecture

Servic UDDI 2. locate service in the Web

WSDL e
1. register Regist
descriptio
n ry

SOAP
3. compose,
wrapping orchestrate

Service
component 4. call, exploit Application

Service provider Service client

Web Services support the flexible and dynamic


configuration of IT and service infrastructures

5
© Fraunhofer IPSI
Challenges for Web Applications

For effective operation in the Semantic Web, Web


applications
have to
move from a purely human user community of Web
towards a mixed user community (humans as well as
software agents);
support information to enable automatic
interpretation of delivered Web page content;
(interlinking local data and content with globally
defined interpretation schemes like vocabularies and
ontologies);

Exploitation of Web service paradigm for flexible


composition of Web Applications; General Challenges
Service Discovery
Service Composition 6
© Fraunhofer IPSI
Challenges for Web Applications
Web
Client
(HTML)
What?
How?

User Interface Layer


Software Agent
JSP, ASP, …
not nodel-based,
semi-structured document (HTML)
Application Layer
but
without explicit Schemata
ODBC, JDBC, …
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow

7
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar

© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
HTML-based UI Dialog Models -
Shortcomings
no (or little) client side validation
restricted client side interaction
restricted control of submitted data
strong bias towards one user
interface agent (Web Browser)
static form composition
Software Agent
HTML has not to be "well formed"
User Interface Layer
(not parseable)
Application Layer mixed layout and structure
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

8
© Fraunhofer IPSI
HTML – Properties and
Shortcomings
<html>
<BODY bgcolor=yellow>
<form action=followUpPage.cgi><p>
<CENTER><h2><font color=red>Travel Tours</h2></font>
<P><img src="palm.gif"></p>
<font face=Arial size="2">
Please enter the <br><i><b>start date</i></b> <br>of your
Journey in the following field
<br>&nbsp;&nbsp;&nbsp; > <input type=text name='start'><br>
and the <br><i><b>end date</i></b><BR> here <br>&nbsp;&nbsp;&nbsp;
> <input type="input" name='end'> <BR> After filling the
form please press <br>
<p><input type='submit' value="submit"></P>
</FORM>
</Body>
</Html>
9
© Fraunhofer IPSI
Use of Models for User Interface Creation

Mecano and MOBI-D (Model-based Interface Designer)


The Mecano Interface Models [Puerta 1997]
User Model
User-Task Model
Domain Model
Presentation Model
Dialog Model
Design Model
Uses object oriented
modeling language:
MIMIC

10
© Fraunhofer IPSI
Semantic Web Applications Models (1)
Web
Conceptual User Interface Model
Client
(HTML)
What?
How?
How 

Web User Interface Agent Interface


Software Agent
Conceptual UI Model
User Interface Layer

Application Layer

authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow

11
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar

© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
Requirements for Conceptual UI Model

The next generation of form-based user interfaces in


the Web requires:
 rich set of interaction types
 design of forms on a more abstract level
 dynamic client side behavior
 more powerful client-side interaction model
 independence of specific user interface agents

Software Agent  processors for different user interface agents


User Interface Layer  comfortable editors for form authoring

Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

12
© Fraunhofer IPSI
Conceptual UI Model - XForms

XForms - the next generation of form-based user


interfaces:
 rich set of interaction types 
 design of forms on a more abstract level 
 dynamic client side behavior (e.g. add new fields or
exchange form blocks while using the form) 
 more powerful client-side interaction model 
Software Agent
 independence of specific user interface agents 
User Interface Layer

Application Layer  processors for different user interface agents


id
authors
name id
authors
name
 comfortable editors for form authoring
autho rs autho rs
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

13
© Fraunhofer IPSI
XForms Example – SCHOLNET
Project
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-
operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:input ref="value"/>[<xforms:output
ref="../@type"/>]
</xforms:group>
</xforms:repeat>

14
© Fraunhofer IPSI
XForms Example – SCHOLNET
Project
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:input ref="value"/>[<xforms:output
ref="../@type"/>]
</xforms:group>
</xforms:repeat>

15
© Fraunhofer IPSI
XForms Example – SCHOLNET
Project
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete"
onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:input ref="value"/>[<xforms:output
ref="../@type"/>]
</xforms:group>
</xforms:repeat>

16
© Fraunhofer IPSI
XForms Example – SCHOLNET
Project
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:input ref="value"/>[<xforms:output
ref="../@type"/>]
</xforms:group>
</xforms:repeat>

17
© Fraunhofer IPSI
XForms Example – SCHOLNET
Project
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:input ref="value"/>[<xforms:output
ref="../@type"/>]
</xforms:group>
</xforms:repeat>

18
© Fraunhofer IPSI
XForms Example – SCHOLNET
Project
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:input ref="value"/>[<xforms:output
ref="../@type"/>]
</xforms:group>
</xforms:repeat>

19
© Fraunhofer IPSI
Semantic Web Application Models (2)
Web
Semantic Domain Model
Client
(HTML)

What?
What 
How 

Web User Interface Agent Interface


Software Agent
Conceptual UI Model

User Interface Layer


Flight Departure

Semantic Domain Model

Application Layer Flight Departure

authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow

Ontology
20
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar

© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
Requirements for Semantic
Domain Model

 Support of modeling primitives


 Flexible definition of relationships to global
conceptual models
 Representation of concept hierarchies
 Systematic support of data types
 Representation of additional domain
knowledge and constraints
Software Agent
 Consistent support of domain/ontology
User Interface Layer evolution
Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

21
© Fraunhofer IPSI
Conceptual Modeling in Software
Design
Example: Unified
Modeling Language
(UML)

Travel City
0..*
name : String
1
start
destination
0..* Flight 0..*
BusTravel TrainTravel PlaneTravel
number : String
contains

DirectFlight CompositeFlight

22
© Fraunhofer IPSI
Fulfillment of Requirements - UML
 Support of modeling primitives
• Definition of entities (class centric approach)
• Definition of relationships (association, aggregation,
composition, association classes)
• Properties of relationships (multiplicities, association +
role names)
 Flexible definition of relationships to global conceptual
models
• not supported
 Representation of concept hierarchies
Software Agent • subclass relationship
User Interface Layer  Systematic support of data types
• imported from DB Schema or Programming Language
Application Layer  Representation of additional domain knowledge and
constraints
id
1
2
autho rs
na me
Rudar
Best
id
1
2
3
authors
name
Rudar
Best
Glue
id
1
2
autho rs
na me
Rudar
Best
id
1
2
3
authors
name
Rudar
Best
Glue
• in textual form
3 Glue 4 Hollow 3 Glue 4 Hollow

Domain/Ontology evolution
4 Hollow 4 Hollow


5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

• not supported 23
© Fraunhofer IPSI
Conceptual Modeling in the Semantic Web –
RDF & Co
The Resource Description Framework (RDF + RDF
Schema):
Defines a framework for structuring and
describing resources in the Semantic Web
Enables the definition of vocabularies for the
description of resources in an application
domain;

Software Agent
Goals:
User Interface Layer
Extensibility, interoperability, and reuse of
Application Layer vocabularies;
authors authors
Improved support for interpretation of data by
machines
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

24
© Fraunhofer IPSI
Resource Description Framework
City
Example: RDF + RDF

e
Schema

ng a

rdf
s: r

s: r
rdf

a
ng
Travel start

e
destination

r dfs
rdfs:subClassOf
contains

rd fs
f
sO

:d om
:
l as

sub

a in
ai n

rd
bC

a in e

m
fs
Cl

do
su

ra
a ssO

do

ng
s:

fs:
fs:
rdf

rd
rd
f

Bus Travel Train Travel PlaneTravel Flight


rdf:type

rdf:type
MyTravel Flight/05
contains

de s
rt
sta
t
inat
ion
Frankfurt

Rome 25
© Fraunhofer IPSI
Fulfillment of Requirements - RDF

 Support of modeling primitives


• Definition of entities (classes + property centric
approach)
• Definition of relationships (via properties)
• Properties of relationships (properties are also
resources)
 Flexible definition of relationships to global
conceptual models
Software Agent • use of URI references, subclasses relationship
User Interface Layer
(see next slide)
 Representation of concept hierarchies
Application Layer • yes, subclass relationship
authors authors
 Systematic support of data types
id name id name

• only on the instance level (typed literal), use of


autho rs autho rs
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow

XSD
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

26
© Fraunhofer IPSI  Representation of additional domain knowledge and
Relationships to global Conceptual Models
- RDF
Example Travel

“Different types of travel can be defined


starting from the concept Travel defined in BusTravel TrainTravel PlaneTravel
another global schemes”

<rdfs:Class rdf:about="#busTravel">
<rdfs:label>Bus Travel</rdfs:label>
<rdfs:subClassOf rdf:resource="travel:Travel"/>
</rdfs:Class>
<rdfs:Class rdf:about="#planeTravel"> Gobally
<rdfs:label>Plane Travel</rdfs:label> defined
<rdfs:subClassOf rdf:resource="travel:Travel"/>
</rdfs:Class>

27
© Fraunhofer IPSI
What is still missing?

 definition of richer types of


relationships between conceptual
models
 representation of domain constraints
and further domain knowledge
 ontology/domain model evolution
support
Software Agent

User Interface Layer

Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

28
© Fraunhofer IPSI
Defining Domain Ontologies -OWL

„An ontology is a specification of a


conceptualization.” *

OWL (Web Ontology Language) is


• is a language for defining ontologies for the
Semantic Web
• is currently developed by the W3C Web Ontology
Group (Status: Working Draft) - successor of
DAML + OIL
• is building upon RDF and RDF Schema
• enables the representation of additional domain
knowledge (compared with RDF)

*T. R. Gruber. A translation approach to portable ontologies. Knowledge


Acquisition, 29
© Fraunhofer IPSI
5(2):199-220, 1993
Ontology Definition - Protégé

30
© Fraunhofer IPSI
Fulfillment of Requirements - RDF
+ OWL
 Support of modeling primitives
• Definition of entities (property centric approach like
RDF)
• Definition of relationships (via class properties)
• Properties of relationships (cardinalities,transitivity,
symmetry, ...)
 Flexible definition of relationships to global conceptual
models
• additional to RDF: disjoint, union, intersection,
equivalent class, equivalent property
Software Agent  Representation of concept hierarchies
• yes like RDF + additional relationships
User Interface Layer
 Systematic support of data types
Application Layer • on schema level (“data type properties”)
 Representation of additional domain knowledge and
id
autho rs
na me
id
1
authors
name
Rudar id
autho rs
na me
id
1
authors
name
Rudar
constraints
• examples see next slides
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

 Domain/Ontology evolution 31
© Fraunhofer IPSI • only basic support
Relationships to global Conceptual Models -
RDF+OWL Travel

Example
“A Travel is defined a bus travel, a plane
BusTravel TrainTravel PlaneTravel

or a train travel, assuming that this three


types of travel are defined in other global
schemes”

<owl:class rdf:about = “#Travel” >


<owl:unionOf rdf:parseType= “Collection”>
<owl:Class rdf:about = “airWays:Flight”
<owl:Class rdf:about = “busWorld:Travel”
<owl:Class rdf:about = “railway:TrainTravel”>
</owl:unionOf>
</owl:class>

32
© Fraunhofer IPSI
Representation of Domain Knowledge in
RDF+OWL
Example
“A city can be either reached by a direct flight
or by connecting several flights”

<owl:transitiveProperty rdf:about = "#connect">


<rdfs:domain rdf:about = "map:City">
<rdfs:range rdf:about = "map:City">
</owl:transitiveProperty>

<owl:objectProperty rdf:about="travel:directFlight">
<rdfs:subpropertyOf rdf:resource = "#connect">
</owl:objectProperty>

33
© Fraunhofer IPSI
Additional Requirements for Semantic Web
Applications
Mappings between the Models
Conceptual UI Model
Semantic Domain Model
Domain Model (represented by Database
Schema)

Mappings which are Software Agent

bidirectional User Interface Layer

flexible (e.g. caching) Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

34
© Fraunhofer IPSI
Operationalization

Software Agent

System Authoring
Tool Suite Web User Interface Agent Interface
System
Authoring
Tool(s)
Publishing Tools Conceptual UI Model
- Form Dialog Manager
- Menu Manager User Interface Layer
DOMM
Domain Object Web Services
Task-specificTools Mapping Semantic Domain Model
- Booking Manager Manger
- User Manager
Application Layer
authors authors
authors id name authors id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 4 Hollow
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id na me
8 Hollow 8 Hollow

35
1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

© Fraunhofer IPSI
36
© Fraunhofer IPSI
Open Issues

 Adequate Authoring for UI – Web


service binding
 Development of globally accepted
Ontologies
 Development of adequate
processors for the transformation of
conceptual UI model into different
agent-specific UI formats

37
© Fraunhofer IPSI
Thank
s!

38
© Fraunhofer IPSI
In the following some Backup Slides

39
© Fraunhofer IPSI
Requirements for Semantic Web
Applications (2)
Additional Mappings between
Conceptual UI Model
Semantic Domain Model
Domain Model (represented by Database
Schema) S
User and Agent Interface
Layer

Mappings which are Conceptual User Interface


Layer

bidirectional Application Layer

flexible (e.g. caching) Semantic Domain Layer

Relational XML DB
DB
Persistant Data Storage
Layer

40
© Fraunhofer IPSI
Web Application - Typical Architecture
Web
Client
(HTML)

User Interface Layer

JSP, ASP, …

Application Layer

ODBC, JDBC, …
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow

41
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar

© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
HTML-based UI Dialog Models -
Properties
 Composition of forms from a basic
set of form elements
 Provision of static data for selection
lists etc,
 Provision of upload functionality and
different types of Submit Logic

 for dynamic client side behaviour


additional scripting language is
required (JavaScript)
 for handling of dynamic data
coupling with technologies like JSP or 42
© Fraunhofer IPSI
The Semantic Web

"The Semantic Web is an extension of


the current Web in which information is
given well-defined meaning, better
enabling computers and people to work in
cooperation."
Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web,
Scientific American, May 2001

43
© Fraunhofer IPSI
Web Services in Dynamic Web
Applications

Dynamic changes of organizational and business processes

Flexible and dynamic configuration IT and service infrastructure

Web Services offer:


 Just in time integration (run-time)
 High degree of platform independence
 XML-based communication

44
© Fraunhofer IPSI
Challenges for Web Applications

Software Agent

User Interface Layer

Application Layer Software Agent

User Interface Layer


Software Agent

Application Layer
User Interface Layer
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar authors authors
10 Best 10 Best id name id name
2 Best autho rs autho rs

Application Layer
11 Glue 11 Glue id name 1 Rudar id name 1 Rudar
3 Glue 1 Rudar 2 Best 1 Rudar 2 Best
4 Hollow 2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
4 Hollow 4 Hollow
5 Rudar 5 Rudar
6 Best 6 Best
autho rs 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
1 Rudar 9 Rudar 9 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

45
© Fraunhofer IPSI
Semantic Web Application Models
Web
Client
(HTML)

Web User Interface


<xforms:repeat nodeset="flights">Agent Interface
<xforms:select ref="start"/>
<xforms:select ref="end"/> Software Agent
</xforms:repeat>
Conceptual UI Model
User Interface Layer

Semantic Domain Model

Application Layer
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow

46
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar

© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
Requirements for Semantic Web
Applications (1)
Semantic Web Application Models:
Semantic Domain Model (Semantic Domain
Layer)
• "references to Ontologies"
• support of automatic interpretation
• extensibility
Conceptual UI Model (Conceptual UI Layer)
Software Agent

User Interface Layer


• separation of data, layout, and conrol
(MVC*)
Application Layer
• rich set of interaction types
id
1
2
3
4
autho rs
na me
Rudar
Best
Glue
Hollow

id
•…
authors
name
id
1
2
3
4
5
6
7
8
authors
name
Rudar
Best
Glue
Hollow
Rudar
Best
Glue
Hollow
id
1
2
3
4
autho rs
na me
Rudar
Best
Glue
Hollow
id
1
2
3
4
5
6
7
8
authors
name
Rudar
Best
Glue
Hollow
Rudar
Best
Glue
Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

* Model View Control Paradigm 47


© Fraunhofer IPSI
Requirements for Semantic Domain
Model
"references to Ontologies"
support of automatic interpretation
extensibility

Software Agent

User Interface Layer

Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

* Model View Control Paradigm 48


© Fraunhofer IPSI
Conceptual Modeling

Starting point: Relational Model (Database)


Traditional conceptual Models for semantic extensions
like UML and EER support
Subclass hierarchies
Explicit relationships
Cardinalities/Multiplicities
Aggregation
Software Agent
Association Classes (UML)
User Interface Layer
Main Focus is Software Design
Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

49
© Fraunhofer IPSI
– RDF & Co

The Resource Description Framework:


Defines a framework for structuring and
describing resources like documents in the
Semantic Web
Enables the definition of vocabularies for
the description of resources in an
application domain;
Goals:
Software Agent
Extensibility, interoperability, and
reuse of vocabularies;
User Interface Layer
Improved support for interpretation of
Application Layer data
by machines
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

50
© Fraunhofer IPSI
Defining Semantics on the Web

There is a need to describe resources on the


Web
in a form that can be interpreted
by machines across the Web
Interpretation depends on the context of a
resource
e.g. Jaguar (car vs. beast);
Using their experience and cognitive abilities
humans may infer the context of a resource
Software Agent in many ways even if it is not made explicit;
User Interface Layer
Software can interpret context
only if it is described explicitly and formally;
Application Layer RDF and the ontology languages building
upon RDF
provide means to explicate (part of) this
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 4 Hollow

context.
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

51
© Fraunhofer IPSI
Ideas for constraints

 ein Flugziel kann man über einen Direktflug


oder über mehrere Zwischenstops erreichen
(transitive property)
 A Travel is a bus travel, a train travel or a
plane travel (use owl.union, assume train,
plane, and bus travel are already defined)
 disjount
 Bus travel can be defined via allValuesFrom
Software Agent

User Interface Layer

Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

52
© Fraunhofer IPSI
Travel Medium Example

A Travel is a bus travel, a flight or a train


travel”

<owl:class rdf:about = “#Travel” >


<owl:unionOf rdf:parseType= “Collection”>
<owl:Class rdf:about = “airWays:Flight”
<owl:Class rdf:about = “busWorld:Travel”
<owl:Class rdf:about = “railway:TrainTravel”
Software Agent
</owl:unionOf>
</owl:class>
User Interface Layer

Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

53
© Fraunhofer IPSI
UML

A Travel is a bus
travel, a plane or a
train travel”

Software Agent

User Interface Layer

Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

54
© Fraunhofer IPSI
Representation of Domain
Knowledge Flight
“A city can be either reached by a direct flight
or by connecting several flights”

DirectFlight CompositeFlight

<rdfs:Class rdf:about="travel:Flight">
<rdfs:label>Flight</rdfs:label>
<rdfs:subClassOf rdf:resource="travel:Flight"/>
</rdfs:Class>
<rdfs:Class rdf:about="travel:directFlight">
<rdfs:label>DirectFlight</rdfs:label>
Software Agent <rdfs:subClassOf rdf:resource="travel:Flight"/>
</rdfs:Class>
User Interface Layer <rdfs:Class rdf:about="travel:compositFlight">
<rdfs:label>CompositFlight</rdfs:label>
Application Layer <rdfs:subClassOf rdf:resource="travel:Flight"/>
</rdfs:Class>
<rdf:Description rdf:about=
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

55
© Fraunhofer IPSI
Example with cardinalities

Aircompany to CompositFlight
Aircomp. to Traveltarget (only 3 are
allowed;-)

Software Agent

User Interface Layer

Application Layer

authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

56
© Fraunhofer IPSI
Defining Semantics on the Web

There is a need to describe resources on the


Web
in a form that can be interpreted
by machines across the Web
Interpretation depends on the context of a
resource
e.g. Jaguar (car vs. beast);
Using their experience and cognitive abilities
humans may infer the context of a resource
Software Agent in many ways even if it is not made explicit;
User Interface Layer
Software can interpret context
only if it is described explicitly and formally;
Application Layer RDF and the ontology languages building
upon RDF
provide means to explicate (part of) this
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 4 Hollow

context.
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

57
© Fraunhofer IPSI
Semantic Domain Model – RDF &
Co
The Resource Description Framework:
Defines a framework for structuring and
describing resources like documents in the
Semantic Web
Enables the definition of vocabularies for
the description of resources in an
application domain;
Goals:
Software Agent
Extensibility, interoperability, and
reuse of vocabularies;
User Interface Layer
Improved support for interpretation of
Application Layer data
by machines
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

58
© Fraunhofer IPSI
Comparison between UML and RDF

UML RDF
structural
class centric property centric
reference
approachto
global
no yes
conceptualization
notions of a
resource no yes
(metadata)
representation of
yes yes
relationships
reification no yes
representation of
concept yes yes
hierarchies

59
© Fraunhofer IPSI
Defining Semantics on the Web

There is a need to describe resources on the


Web
in a form that can be interpreted
by machines across the Web
Interpretation depends on the context of a
resource
e.g. Jaguar (car vs. beast);
Using their experience and cognitive abilities
humans may infer the context of a resource
Software Agent in many ways even if it is not made explicit;
User Interface Layer
Software can interpret context
only if it is described explicitly and formally;
Application Layer RDF and the ontology languages building
upon RDF
provide means to explicate (part of) this
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 4 Hollow

context.
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

60
© Fraunhofer IPSI
RDF Schema

The RDF vocabulary description language - RDF


Schema
stresses
Reuse and extension of existing schemata
Semantic enrichment by concept hierarchies
allows mixing of schemata
enables statements on the schema level to
define classes of resources
Software Agent
define relationships between these classes
User Interface Layer
define the kinds of properties that instances
Application Layer of that classes have
define relationships between properties
id
1
2
3
4
autho rs
na me
Rudar
Best
Glue
Hollow
to restrict possible combinations of classes
id
1
2
3
4
5
authors
name
Rudar
Best
Glue
Hollow
Rudar
id
1
2
3
4
autho rs
na me
Rudar
Best
Glue
Hollow
id
1
2
3
4
5
authors
name
Rudar
Best
Glue
Hollow
Rudar

and relationships/properties
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

61
© Fraunhofer IPSI
RDF Schema Example

rdf:Literal FlightNumber
rdfs:range

in
DepatureDate

o ma
assignedTo rd

d
ai n fs

rd fs:
:r
r dfs om an
ain :ra n s :d ge
o m ge r df
s:d Flight rdf:Literal
r df rdfs:range isFor
Plane ain
m
f s:do
rd

rdf s
hasPassenger

om:d
ai
rd

n
fs:
r an
ge Ticket
Person

e
ng
rdf
s: d

ra
o ma

s:
f
in
owns rd
62
© Fraunhofer IPSI
Ontology Languages

OWL is language for defining ontologies


DAML+OIL is a combination of the two
predecessor ontology languages
DAML – DARPA Agent Markup Language
OIL - Ontology Inference Layer
OWL (Web Ontology Language) is the
successor DAML + OIL currently developed by
the W3C Web Ontology Group (Status:
Working Draft)
Building on RDF ideas
OWL Lite is a subset of OWL

63
© Fraunhofer IPSI
OWL Characteristics

OWL enables the definition of


various types of relationships between
classes
(in addition to subclass hierarchies)
additional restrictions for property values
additional types of relationships between
properties
different kinds of properties
OWL distinguishes between
classes and instances (objects) on the one
side,
and data types and value on the other side
(XML Schema datatypes) 64
© Fraunhofer IPSI
OWL Example

tp://www.daml.org/cgi-bin/hyperdaml?http://www.daml.org/2001/06/itinerary/itinerary-ont

http://ontoserver.aifb.uni-karlsruhe.de/texttoonto/

http://www.iiia.csic.es/~pedro/francois-techreport0301.pdf

http://www.nextwebgeneration.org/telecoop03/33

http://www2.darmstadt.gmd.de/bib/News.html

s. Lecture Notes in Computer Science 2503 Springer 2002, ISBN 3-540-4

65
© Fraunhofer IPSI
Conceptual UI Model - XForms

The next generation of form-based user


interfaces in the Web:
design of forms on a more abstract
level
dynamic client side behavior
(e.g. add new and delete form fields)
more powerful client-side interaction
Software Agent
model
User Interface Layer
support of different user interface
Application Layer agents
autho rs id
1
authors
name
Rudar
autho rs id
1
authors
name
Rudar
to (separately) re-use the three
kind of models of a form
id na me id na me
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

66
© Fraunhofer IPSI
XForms provides …

a model and formal language for the


definition of form dialogs on an conceptual
level
under standardization of W3C
builds upon existing system
components and
standards (XSLT proc., XML access
Software Agent
layer)
User Interface Layer
platform independent (database, Web
server)
Application Layer
supports different types of UI
id
1
2
3
autho rs
na me
Rudar
Best
Glue
id
1
2
3
authors
name
Rudar
Best
Glue
id
1
2
3
autho rs
na me
Rudar
Best
Glue
id
1
2
3
authors
name
Rudar
Best
Glue
agents
(mobile phone, PDA, HTML-Browser,
4 Hollow 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

67
© Fraunhofer IPSI XML-Browser, Java and Flash
Software Agent

Flight
Flight Departure
Departure

<xforms:repeat nodeset="flights"> <xforms:repeat nodeset="flights"> <xforms:repeat nodeset="flights">


<xforms:select ref="start"/> <xforms:select1 ref="start"/> <xforms:input ref="start"/>
<xforms:select ref="end"/> <xforms:input ref="end"/> <xforms:input ref="end"/>
</xforms:repeat> </xforms:repeat>
Flight
Flight Departure
Departure </xforms:repeat>
Flight Departure Flight Departure

Flight Departure Flight Departure

authors authors authors authors


authors id name authors id name authors id name authors id name
id name 1 Rudar id name 1 Rudar id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best 1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue 2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue 3 Glue 3 Glue
4 Hollow 4 Hollow 4 Hollow 4 Hollow
4 Hollow 4 Hollow 4 Hollow 4 Hollow
5 Rudar 5 Rudar 5 Rudar 5 Rudar
6 Best 6 Best 6 Best 6 Best
authors 7 Glue 7 Glue authors 7 Glue 7 Glue

68
id name 8 Hollow 8 Hollow id name 8 Hollow 8 Hollow
1 Rudar
9 Rudar 9 Rudar 1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best 10 Best 10 Best
2 Best 2 Best
11 Glue 11 Glue 11 Glue 11 Glue

© Fraunhofer IPSI
3 Glue 3 Glue
4 Hollow 4 Hollow

Você também pode gostar