=Paper=
{{Paper
|id=Vol-105/paper-6
|storemode=property
|title=Conceptual Modelling versus Semantic Web: the two sides of the same coin?
|pdfUrl=https://ceur-ws.org/Vol-105/www04-WebSemantic.pdf
|volume=Vol-105
|authors=Oscar Pastor,Joan Fons,Victoria Torres,Vicente Pelechano
|dblpUrl=https://dblp.org/rec/conf/www/PastorFTP04
}}
==Conceptual Modelling versus Semantic Web: the two sides of the same coin?==
Conceptual Modelling versus Semantic Web: the two sides of the same coin?
Oscar Pastor, Joan Fons, Victoria Torres, Vicente Pelechano
Politechnic University of Valencia
Department of Information Systems and Computation
{ opastor, jjfons, vtorres, pele } @dsic.upv.es
Abstract properly managed (OOHDM [7], WebML[1],
OOWS[2],…). Furthermore, how to go from the
A Web Application must have a precise semantics. In conceptual schema (system specification) to the
currently Web Engineering environments, this can be implementation (final software product) is precisely
achieved either by specifying a Web Conceptual Schema, stated by defining a set of mappings between conceptual
or by using a Semantic Web-language where the Web primitives and their corresponding software
Application meaning is properly captured. In any case, representations (OlivaNova [6]). Some concrete tools are
the set of relevant conceptual primitives has to be even already present in industry, giving some kind of
properly represented. In this paper both approaches are automated support to this web-oriented software
studied as two different strategies to solve a common production process
problem. The required conceptual primitives are According to these approaches, any Web Application
presented, including those data and functional more is the result of systematically applying a set of
conventional primitives, and those navigation and transformation rules specified at a higher level of
presentation more specific of Web Appls. abstraction in a Web Conceptual Schema. If Web
Applications would have been built from the beginning
following these ideas, the semantic of any Web
1. Introduction Application would be precisely characterized by its
corresponding specification. Obviously this has not been
Philosophers are facing for centuries the problem of the case.
how to represent properly reality. The existence or non Generally speaking, Web Applications Development
existence of universals -concepts whose representation in practice has been during the last years and ad-hoc,
we can perceive- has been an issue from the platonic informal process, where modelling support has not been
realism –that defend the existence of universals- till the considered at all an essential approach to deal with the
more modern nominalism and conceptualism complexity of Web development. In consequence, we
philosophical approaches –arguing that universal or face a situation where a huge number of Web
concepts are just a linguistic mechanism to model real Applications are running in the Web, with a mostly
world phenomena-. unknown semantic structure, and all of them independent
In some way, this philosophical discussion has been from each other.
present in Software Engineering through Conceptual But as we commented before, humans are insistent in
Modelling approaches. We could see Conceptual trying to structure the world. The World Wide Web has
Modeling-based methods as a projection on Software not escaped to this human goal. If we want to
Engineering of realism, in the sense that the only software communicate Web Applications providing efficient web
components that are present in a final product are those services to exploit the advantages of the global web, the
that have a conceptual counterpart in the corresponding semantic of a Web site needs to be precisely known.
source conceptual schema. Agile Methods, Extreme Semantic Web languages are introduced to represent Web
Programming-based would constitute the nominalism site modes. They play the role of the Conceptual Schema
approach, not accepting the need of having previous, pre- in the Model-based Web Development approaches
existing modelling constructs as a required basis for any provided in the context of the most advanced Web
software representation at the solution space. Engineering methods. Semantically tagged data start to
Within the emergent Web Engineering community, become available: the Semantic Web technology is just
model-based approaches are providing sound methods to here.
deal with a precise Web Application Production Process, But it is very interesting to remark that Conceptual
where the features associated to system structure, Modelling for Web Applications and Semantic Web
dynamics, functionality, navigation and presentation are related technologies are facing a common, well-known
problem: to understand the world, by providing a clear
system specification. Conceptual Modelling selects a top- relationships between classes
down strategy –from the model to the implementation- The class specification includes the definition of
while current Semantic Web technology opts for a attributes and operations. Every attribute has associated
bottom-up approach –we have the software product: let’s its type, its default value, whether it is a constant, variable
provide any kind of structured specification in a clear- or derived and if it accepts null values. For every
enough language. operation, its arguments must be specified, together with
According to this idea, a basic aspect is to characterize a special label to distinguish new and destroy operations,
the set of conceptual primitives required to model a Web and shared operations with other classes when this is the
Application. Either if we chose a top-down or a bottom- case.
up approach, the required conceptual primitives should be The valid relationships between classes are those of
the same. For representation purposes, different association / aggregation and generalization /
languages can be selected to specify them, but the specialization. Association / aggregation are
important point is to describe precisely those conceptual characterized by the binary cardinality (minimum and
constructs needed to characterize the structure of any maximum) and by the constant or variable property of the
Web Application. In this paper, we basically introduce established relationship. If the relationship is
such a set of conceptual constructs, independently of any unidirectional, the induced part-of relation converts the
particular language or conceptual modelling approach. association in aggregation.
Our final intention is to characterize the expressiveness Generalization/specialization conceptual primitives
that has to be provided by any particular solution, either include the specification of roles as specialization
coming from the Conceptual Modelling or the Semantic mechanisms that gets activated only in periods of a given
Web domain. object live. The condition or operation that activates the
To accomplish our objective, after this introduction we role, and the condition or operation that deactivates it has
present in the next sections the quoted set of conceptual to be specified.
primitives: in section 2 we introduce the conventional Finally, integrity constraints allow specifying
static and dynamic primitives, following an Object- conditions that must hold in any valid state of an object.
Oriented Model to characterize the data and functional They are specified within the class scope as well-formed
system architecture. In the section 3, the navigation and formulas built on attributes.
presentation conceptual primitives that complement the From the dynamic point of view, the list of conceptual
previous static and dynamic system views are presented. primitives is composed of:
The work is ended with the conclusions and the preconditions of operations, to state what
corresponding references. conditions must hold for activating an operation;
valuations of operations, to state what is the
2. Conceptual Primitives related to Data and change of state generated by the occurrence of an
Functionality operation, in terms of new attribute values or
object creation / destruction;
Of course, a Web Application is still an application… transaction definition, which provide complex
What we mean by this is that beyond specific web- operations consisting of a set of operations
oriented aspects that we will face in the next section, a belonging to the same class (if the transaction is
Web Application must be based on a precise Class local) or belonging to different classes (if global);
Architecture –to characterize the static system’s view- trigger specification, to fix when an operation will
and a precise Functional Model –to characterize the be activated in an automated way, because a given
dynamic system’s view. condition is fulfilled.
We chose an Object Oriented Model for Conceptual These primitives have traditionally been present in a
Modelling purposes because it has been proved in many sound model-based software development process, and
previous works that the OO Model is especially they need to be present in particular if we want to provide
appropriate for conceptual modelling purposes due to its a method for developing Web Applications.
proximity to human cognitive mechanisms. It seems to be But the data and functional specification is not all. A
a natural way of modelling to look at the world as a Web Application needs to specify particular navigation
society of interacting objects, belonging to classes where and presentation characteristics, specific of Web
data and functionality are formally specified. The environments.
question now is to fix what conceptual primitives need to
be taken into account. 3. Conceptual Primitives related to
From the static point of view, the list of conceptual Navigation and Presentation
primitives is composed of:
classes, and
It is not an easy task to define navigation, as there is If it implies navigation some more properties have to be
no general definition accepted by everybody. According specified:
to interesting discussions hold within previous IWWOST which is the target navigational context
editions (International Workshop of Web-Oriented which is the attribute that will be used as “anchor”
Software Technology, [3], [4], [5]), our position is that for activating the navigation
navigation implies the change of a conceptual node These are the most basic conceptual navigation
through the activation of a navigational link. This implies primitives that must be provided. We also talked about
that what do we mean by conceptual node –interaction presentation patterns. Now, we briefly introduce a set of
unit that provides access to relevant data and functionality conceptual presentation patterns, intended to complement
for a given agent- and navigational link –reachability the navigational view by specifying some presentation
relationship between conceptual nodes to satisfy a given properties. These properties will also guide the user
agent’s goal- is basic for characterizing a navigational interaction provided by the Web Application.
model. The conceptual presentation patterns are basically:
For navigational purposes, we assume that any valid information layout (register, table, tree, master-
navigation must be accomplished by traversing a path that detail, etc.)
exists in the underlying class model. This means that we ordering criteria to indicate the chosen order to
can navigate from one class to another if and only if there view the required information
is specified a relationship between the involved classes. how to group the visualization of objects (page
The navigation specification must fit the features of cardinality, access mode)
particular agents. In consequence, the main navigation With them, how the user will “see” and interact with
conceptual primitive is the navigational map that will be the information provided at any navigational step, is
attached to any particular type of user. The navigational precisely specified.
map represents the valid paths that any user of the
corresponding type can go through. 4. Conceptual Primitives Representation:
The other primitives are hierarchically structured. Any
navigational map is made up of: Conceptual Modelling vs. Semantic Web
navigational nodes, that includes a set of
navigational contexts, that are the basic user Once established the set of conceptual primitives that
interaction units, containing a set of navigational must be captured to properly specify the requirements of
classes and navigational relationships a Web Application, we must follow an approach to tackle
navigational links, which are binary relationships with the software development process.
specifying a reachability relationship between two From a Conceptual Modelling point of view, the
navigational nodes. representation of those concepts must be defined before
Any Web Conceptual Modelling or Semantic Web system implementation. At a higher level of abstraction,
based approach has to provide the way to specify the any conceptual modelling approach must provide with
required specific properties of both navigational classes graphical notations to represent the system requirements
and relationships. A navigational class includes the set of by using those conceptual primitives. Usually these
attributes and the set of operations that a user can access. primitives are organized into different diagrams. In an
These accessible properties must exist in the structural OO paradigm, we use a Class Diagram to represent the
class diagram introduced in section 2. This allows us to structural system properties (see Figure 1) and a
define a navigational class as a view of a class, where the Functional Model to represent the dynamics (see Figure
subset of visible and accessible class properties is 2).
Figure 1.- Static Primitives: Class Diagram
specified. As not all of the class population has to be
available, additionally filters on the class population can
be defined associated to any navigational class.
Finally, a navigational relationship is defined as
unidirectional, binary relationship that exists between two
navigational classes of a given navigational context. They
need to have a structural relationship counterpart in the
associated Class Diagram. Depending on if the
navigational relationship induces or not navigation, we
have navigation relationships of two different types.
If the navigational relationship does not imply
navigation, we are just adding more information to the
basic user interaction unit that the navigational context is.
Figure 2.- Dynamic Primitives: Functional Model
Class name
...
Attribute
...
In addition, the navigational primitives are represented
Attribute name
by means of a Navigational Model (see Figure 3) and the
presentation primitives within a Presentation Model (see
Figure 4).
Attribute type
Figure 3.- Navigational Primitives: Navigational Model
Constant Attribute
...
Aggregation Relationship
1
...
Figure 4.- Presentation Primitives: Presentation Model
...
...
...
User
1
From a Semantic Web point of view, the
representation of those primitives must be placed at
...
implementation level. Development strategies oriented to
apply the semantic web use implementation semantic
languages (such as RDF [8]) to take into account those
conceptual primitives. The specification of these ...
properties is usually specified in schema files (such as Exploration context
RDF-Schema) defining the valid implementation
structures. A piece of the schema that defines some static ...
and some navigation primitives is shown in Figure 5.
Figure 5.- Static and Navigation Primitives Class View
...
Class ...
...
...
Class View
...
...
Navigational Relationship
...
...
...
Figure 7.- Navigational Primitives (in use)
...
User
Figure 6 shows the representation of some static ...
primitives and Figure 7 shows the representation of some
navigation primitives.
Figure 6.- Static Primitives (in use)
... ...
]>
xmlns:rdf = "&rdf;" ...
xmlns:rdfs = "&rdfs;"
xmlns:cm = "&cm;"
...
>
...
Class1
attribute1
integer
...
attribute2
integer
rdf:about="&cm;NavRelationship1">
...
operation1
...
...
...
In this way, we have a different representation but a
attribute1 gt 0
common set of basic concepts. Having a fix set of
conceptual primitives, it is feasible to define a set of
mappings between conceptual primitives and their
corresponding software representations, making possible conceptual primitives. The final intention is to fix the
the implementation of Web Conceptual Model Compilers. required expressiveness for any Web Conceptual
Modelling strategy, or any Semantic Web-based ontology
In this environment, a fruitful strategy could be based language. According to that, we could conclude that
on taking the best of these two approaches by: Conceptual Modelling and Semantic Web are really the
having complete conceptual models of web two sides of the same coin: the coin required to develop
applications, at a higher conceptual (problem correct Web Applications.
space) level, and
implementing final applications by applying a set
of systematic translation rules from those
conceptual primitives into web semantic concepts
representation, at the solution space level. References
5. Conclusions [1] S. Ceri, P. Fraternalli and A. Bongio, “Web Modeling
Language (WebML): a Modeling Language for
The main goal of the emerging Web Engineering Designing Web Sites”, WWW’00, Elsevier, Amsterdam,
discipline is to develop correct Web Applications, where The Nederlands, May, 2000, pp. 135-157.
structure, functionality, navigation and user interaction
have to be properly represented. To make this possible, [2] J. Fons, V. Pelechano, M. Albert and O. Pastor,
any Web Application has to provide a precise semantic “Development of Web Applications from Web Enhanced
associated to it. Only if such a precise meaning is given, it Conceptual Schemas”. ER’2003, Springer-Verlag,
makes sense to provide web services whose structure and Volume 2813, Chicago, USA, October, 2003, pp. 232-
functionality is clearly specified, and that can be accessed 245
and used by different agents.
[3] International Workshop on Web-Oriented Software
This semantics can be provided in a top-down way, by Technology, First Edition. June, 2001. Valencia, Spain.
defining a Web Conceptual Schema where all the relevant http://www.dsic.upv.es/~west/iwwost01/
modelling components are specified. The resulting Web
software product is the corresponding representation of [4] International Workshop on Web-Oriented Software
the Conceptual Model at the solution space level. Technology, Second Edition. June, 2002 Malaga, Spain.
http://www.dsic.upv.es/~west/iwwost02/
Alternatively, a bottom-up strategy can be used. In this
case, a Semantic Web-based language (i.e. RDF) allows [5] International Workshop on Web-Oriented Software
to specify those relevant conceptual constructs that Technology, Third Edition. July, 2003 Malaga, Spain.
characterize the meaning of the corresponding Web http://www.dsic.upv.es/~west/iwwost03/
Application. This specification makes possible the
connection of the application to any external potential [6] OlivaNova Model Execution System. CARE
agent. Web site models can be represented in this way by Tecnologies S.A. http://www.care-t.com/
Semantic Web languages. The available Semantic Web
infrastructure is immediately applicable for the Web [7] D. Schwabe, G. Rossi and S. Barbosa, “Systematic
Engineering field, thus making the processing of Web site Hypermedia Design with OOHDM”, ACM Conference on
models effective. Hypertext, USA, 1996
In any case, the set of conceptual primitives required to [8] W3C Recommendation 10 February 2004. RDF
fix the semantics of a Web Application must be clearly Vocabulary Description Language 1.0: RDF Schema.
defined. In this paper, this set is introduced. They are http://www.w3.org/TR/2004/REC-rdf-schema-20040210/
structured in data and functional conceptual primitives,
and more web-oriented navigational and presentation