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