=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?== https://ceur-ws.org/Vol-105/www04-WebSemantic.pdf
    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