Reusable Navigation Templates to Support Navigation Design in Hera Peter Barna, Geert-Jan Houben, Ad Aerts, Flavius Frasincar, and Philippe Thiran Technische Universiteit Eindhoven PO Box 513, NL-5600 MB Eindhoven, The Netherlands {p.barna, g.j.houben, a.t.m.aerts, f.frasincar, ph.thiran}@tue.nl Abstract modelling, reuse of navigation structure specification (often referred to as ”Web Patterns” or ”Web Design Patterns”) is a Reuse is a fundamental concept in software design. It very useful technique, but its full exploitation is still an open has many aspects and can be applied at various levels of problem. A good overview of common web patterns is pre- abstraction. In this paper we focus on the reuse of high- sented in [11]. The descriptions of patterns presented there level (design model) specifications of software components serve as a set of handy guidelines for web designers. Exist- in the design of web applications. Concretely, we discuss ing software libraries offer a wide variety of useful generic the reuse of navigation templates to specify (parts of) nav- primitives that can be (re)used during the construction of igation models in different application domains based on web applications, but they rarely contain larger navigation different data sources. While supporting this diversity of patterns. Since navigation models are usually tightly cou- applications, at the same time navigation templates should pled with concrete domains, specified by Conceptual Mod- allow easy deployment. In this paper we propose a solution els (CM), the achievement of the domain portability is not to this apparent contradiction using a component-specific a trivial task. conceptual model. By applying a mapping from this model Current methods for web design already benefit from to a concrete domain model, an automatic deployment of the reuse concept in various ways. WebML [3] specifies the navigation templates can be performed. The process of the navigation structure by means of different (predefined) navigation template design and deployment (including the types of units. The method allows easy and convincing process of defining the mapping) is explained and demon- composition of different units. Most of the units how- strated on two examples using the Hera framework and its ever are associated with concrete data (specified in a data HPG software. model), so using such composed patterns for different do- mains is not trivial. Object-oriented approaches like OO- 1 Introduction and Related Work H [5], UWE [7], or OOWS [10] show a solid approach supporting object-oriented reuse techniques like class ab- One of the major concepts in software design is the reuse straction. The problem of domain portability of navigation of software artifacts applied at different levels of abstraction models in object-oriented environments using the OOHDM - from reuse of system requirements to reuse of software method is discussed in [13]. The web design framework code, and at different levels of granularity - from reuse of introduced there represents abstract navigation models that software packages or whole applications through use of de- are isolated from concrete domains and can be instantiated sign patterns [4] to reuse of classes (concepts) organized in to a concrete domain. The deployment process consists hierarchies. of the derivation of a concrete OOHDM model from an The benefits of reuse are obvious, and include saving OOHDM-frame (a generic conceptual model). It is possible software development effort (avoiding redundant design), to build common navigation patterns, however the naviga- facilitating the maintenance of software systems, and mak- tion classes are derived from conceptual classes describing ing the design traceable and transparent. a concrete domain. Due to the specific nature of the Web, extensions of tra- In this paper we propose a practical approach for the de- ditional software design methods have been proposed for sign and deployment of domain portable reusable naviga- the development of web applications. The support of nav- tion patterns called Navigation Templates (NT). We focus igation and the necessity of navigation modelling is what on the explanation of the mapping from a Template Con- distinguishes web systems and web design methods from ceptual Model (TCM) describing the structure of data used traditional systems and design methods. In the navigation within an NT, to a concrete domain conceptual model (CM). 1 For an NT, such mapping is defined for every concrete do- concept relationships) that are used in the de- main, and it is a kind of NT parametrization. It allows not scription of the NT’s navigation structure (TAM). only a relatively easy deployment of an NT to a concrete Note that the content domain described by a domain, but it also facilitates the specification of possible TCM is not necessarily materialized, but the data manipulations in an NT. A mapping is similar to a data TCM is used in the parametrization when the NT (schema) integration model, and we can benefit from ex- is deployed. isting knowledge in this field of research. The process of – The Template Application Model (TAM) de- deployment of such an NT to a concrete domain can be au- scribes the navigation structure of the NT and its tomated by using an NT specification and an appropriate application logic. It is based on the data defined mapping to a concrete domain. This deployment process in a TCM. is demonstrated on two examples using the Hera frame- work [6, 16]. Despite the use of a concrete method for rea- • An NT parametrization that defines the mapping sons of illustration the proposed approach of mapping NTs from the TCM to a concrete domain. This mapping to concrete domains can be used for other methods. allows a (semi-)automatic translation of the NT into Section 2 explains the requirements for NTs and the con- (parts of) a concrete navigation model. text of their usage. The core of the paper is Section 3 that explains the approach in detail using two examples in Hera With a certain level of abstraction we can see an anal- and HPG (Hera Presentation Generator web server soft- ogy between NTs and MDA [9] models. A main concern of ware). Potential mapping (data integration) problems and MDA is the support for the design and integration of sys- solutions are also discussed here. The current work on the tems based on different platforms. In the same spirit, NTs creation of software tools supporting the design and deploy- represent domain independent models, so if we replace the ment of NTs for Hera is briefly explained in Section 4 and notion of platform with the notion of domain, a PIM (Plat- the text is concluded by Section 5. form Independent Model) of MDA can be compared to a domain independent NT specification, and PSM (Platform Specific Models) to concrete deployed NTs. Analogically, 2 Navigation Templates Overview domain independent NTs can be (semi)automatically de- ployed for different domains and frameworks using differ- A Navigation Template (NT) is a parameterized concep- ent transformation (deployment) tools. tual specification of a navigation structure. This specifica- tion has well-defined interfaces in terms of links and types 2.1 Benefits of NT Reuse and Methodological Is- of information they can carry. The NT parametrization al- sues lows its deployment within existing navigation models of similar applications based on different data domains. An The main benefit of building NTs and their later deploy- example of a primitive NT is a user-selection device (a vir- ment lies in saving development effort for parts of web ap- tual shopping basket) that is used in a web application for an plications that can be used again and again for different do- online sport equipment shop as a classical shopping basket, mains. An interesting application of NTs is the composition and in a university online library it can be used for instance of new web applications from an available NT on already as a tool facilitating the searching of publications by choos- existing domains (for instance on legacy databases). Fig- ing topics of interest. ure 1 sketches how NTs can be deployed within a naviga- Besides the navigation structure, NTs define also some tion model. The thick arrows represent hyperlinks (possi- basic application logic (functionality), in most cases related bly) carrying parameters (the depicted internal structure of to dynamic updates of the navigation structure and under- the NT does not reflect any real structure and is sketched lying data, both based on the user interaction. Although only for illustration purposes). The thin arrows show the NTs represent conceptual reusable units, we demonstrate deployment process with the transformation of an NT spec- how they can be converted to a specification that is directly ification to a concrete (part of) navigation model based on used by a web server software to provide desired function- a CM. This transformation is automatic, but uses a manu- ality on the Web. ally built TCM-to-CM mapping. The situation in Figure 1 For the generation of a deployed NT we need two kinds requires two mappings, since the same shopping basket NT of specification: is used for different data concepts (though within the same (larger) domain). The real benefit of NT as a conceptual • An NT specification that contains two sub-models: unit of reuse depends on several aspects including: – The Template Conceptual Model (TCM) de- • generality of NT design, in the sense of how easily scribes the structure of data concepts (and their they can be used for different applications. This is in- 2 and then subsequently enriched with appropriate data Library of Nav. TemplateSB Navigation Templates model and data manipulation specifications (in other words, first the process, then the navigation). From the Mapping 1 Mapping 2 data model an NT specification can be derived. This NTToNav. interesting, process-driven approach is part of ongoing Model Transformer work and will be described in a separate paper. Deployment Process The details of the NT specification and deployment tech- Navigation Template SB Instance (Shopping Basket1) Out niques may depend on the concretely used approach. In the In Page 1 (all Products1) (selection of Products1) following text we explain the principles of NT specifica- tion and deployment using two examples. The first example demonstrates a multiple use of a simple NT (in this case a guided tour) in a single application, and the second high- Navigation TemplateSB Out lights potential problems associated with mapping a TCM In Instance (Shopping Basket2) (all Products2) (selection of Products2) to a concrete domain and their resolution. Page 2 Page 3 3 Navigation Templates in Hera Figure 1. NT deployment example For a better explanation of the NT concept, we demon- strate its basic principles using the Hera framework and two examples. In the Hera design cycle, an NT can be generated fluenced by a good selection of ”typical” web appli- from a more abstract process model, or it can be designed cation patterns NTs represent, and also by minimizing manually. The role of NTs in the method and its models is the structure of NTs (smaller and simpler units are eas- depicted in Figure 2. It has already been mentioned, that ier to deploy and specialize). an NT contains a TCM describing the structure of the infor- • complexity of NT deployment, including: mation that will be presented and processed, and it contains an appropriate TAM specifying the navigation view on the – complexity of its parametrization. That can be in- TCM. The Articulations (see [16]) represent the NT para- fluenced by proposing simple TCMs with a min- metrization - the mapping from the TCM to a concrete CM, imal number of mappings to a concrete domain. i.e. the ”binding” of the TCM to the concrete domain. The The mapping specification can be facilitated by NT specification together with the Articulations are used by design tools. the NT2AM Transformer to generate a concrete (part of an) – automation of the transformation of the NT and AM describing the navigation structure and functionality of appropriate mapping to a concrete models and/or a concrete web application. The AM can then directly be executable specification eventually. This is given used by a Hera engine such as HPG-Java for the online gen- by availability of appropriate software transla- eration of pages in the web application. tors. In the context of the NT design process, we consider two 3.1 Brief Overview of Hera possible types of the design cycle: Within the Hera project we investigate methods for the • Data-driven design, where first the TCM (or a set of specification of (dynamic) hypermedia presentations and TCMs) is defined and then the TAM is built on top of we build and maintain appropriate server software and de- it (in other words, first the data, then the navigation). sign tools. The methodology determines a number of design This approach can be used when a simple and straight- steps resulting in a set of models (that specify how the hy- forward NT parametrization (mapping to a concrete permedia presentations get generated). The conceptual de- domain) is vital. For instance, when we want to use sign phase results in a Conceptual Model (CM) defining the concrete, complex legacy databases, TCMs are better structure of source data used in presentations. The appli- starting points. A concrete web application based on cation design phase results in an Application Model (AM) such a legacy database then can be easily composed defining a navigation structure over the CM, possibly with from already built NTs, because the structures of the data manipulation associated with user actions. The pre- concrete TCM are in accordance with the CM at hand. sentation design phase produces a Presentation Model (PM) • Process-driven design, where on the basis of user specifying the layout of presentations. All Hera models are requirements, a process model is defined for an NT expressed in RDFS [2]. 3 These models are used by a Hera engine, in this case Model Transformations (design-time) HPG-Java (a software module running as a servlet hosted Navigation Template Process PM2NT by a web server), first performing data retrieval, and then Model Transformer TCM nav. view on TAM performing data transformations resulting in presentation uses pages, possibly for different platforms and different for- from maps TCM to NT2AM mats (HPG supports HTML, WML, and SMIL for presen- Articulations Transformer tations without data manipulation, and HTML for presen- tations allowing forms and data manipulation). The bottom navigation view on NT Instance part of Figure 2 shows the transformations of the Hera/HPG used in pipeline, where retrieved data is transformed consecutively to a CM instance (CMI), an AM instance (AMI), and a pre- Concrete Concrete Concrete CM AM PM sentation in a concrete format (e.g. HTML). All intermedi- ate data chunks are internally represented in RDF [8]. Data CMI Creator CMI AMI Creator AMI Pres. Creator Pres The application modelling method is capable of express- ing more advanced functionality than only a navigation Hera Pipeline (run-time) view over static data content. It supports modelling of user inputs by means of forms allowing users to enter ar- Figure 2. Role of NTs in Hera architecture bitrary information possibly exploited by data manipula- tion queries. All queries in Hera AM are expressed in the SeRQL [1] RDFS query language with slight modifications Figure 3 presents the TCM and TAM of the guided tour (queries are pre-processed by the Hera engine) including the NT. It uses a special predefined sub-class of general slice management of session parameters (variables). (iterator) that allows easy implementation of a guided tour. An AM contains basic building blocks called slices that A slice of type Iterator comes with a default IteratorForm describe the structure of navigation pages (or their parts providing a navigation facility through a collection of the since they can be nested), and their linking (see Figure 3). Item instances and allowing to exit the iteration using the Slices can have root concepts (from the CM) drawn as large Out button. In the case of exit the instance of the last viewed ovals in the slice upper part. If a slice does not have the root Item is provided as the output parameter. The concrete data concept, it is a constant slice and it can have arbitrary con- source containing information about painters and paintings tent. If the target of a link is a non-constant slice, the link is specified by its CM shown in Figure 4. carries parametrization that determines the instantiation of Figure 5 shows an AM of a simple museum application the target slices (the anchor determines what instance of the using two instances of the Guided Tour NT. They contain target slice root concept is used for the target slice instan- attributes based on a mapping from the TCM to the CM and tiation). The instantiation of slices can be determined also also attributes not appearing in the original NT, but added by queries associated with slices. A slice can contain at- by the designer. The application presents a set of paint- tributes (literal properties in the CM) from a root concept ing techniques (the TechniquesList slice), for every tech- and attributes from concepts related to the root concept (the nique a list of paintings exemplifying the technique (the bottom part of the slice shape) connected with the root con- Technique.PaintingList slice), and the two guided tours for cept by CM properties. User interaction is facilitated by the browsing through the painters and paintings (GD-Painters use of forms that carry a number of input fields users can and GD-Paintings). fill in. Forms have associated processing queries that can retrieve data, change the data content, or update values of 3.3 Publications Example session variables. In the second example we demonstrate possible prob- 3.2 Guided Tour Example lems with mapping a TCM to a concrete CM. To a large extent, this is a problem of data integration. We show some In the first example we demonstrate the multiple use of typical cases appearing in RDFS schema integration and a very simple NT. The NT represents a guided tour - a step- present some practical solutions covering the needs of our by-step (one per web page) presentation of multiple concept method (including the rewriting of selection and data ma- instances. This concrete NT we deploy twice in a simple nipulation queries). Most of the problems have been recog- museum application. Once for the presentation of painters, nized and studied in [12, 14]. The example application and once for the presentation of paintings. For every con- is a publication database that stores publications, authors crete deployment we will show a set of articulations (map- (researchers), and research groups. The Publications NT ping the TCM to a CM). is specified in Hera and later deployed to an existing data 4 source with a different data structure. A set of articulations Image figure Item title String is defined. Guided Tour Set 3.3.1 Template Conceptual Model In Item (Item set ) The TCM contains only those concepts, concept properties, title and literal properties that are necessary for describing the figure core navigation structure and functionality (we show only IteratorForm the addition of a publication) associated with a concrete NT. Out Prev Next Out (Item) The TCM of the Publications NT is presented in Figure 6. Details (Iterator) 3.3.2 Template Application Model Figure 3. Guided Tour NT, the TCM on top, the Unlike the first example, here the TAM also con- TAM below tains the specification of input forms and their process- ing. The Publications TAM shown in Figure 7 con- sists of three slices presenting research groups (the Group slice), listing researchers in groups (the Group.Researcher String String Integer String slice), and listing publications of a researcher (the Re- tname title year name searcher.Publications slice). The AddPaper slice allows Technique examplified_by * Painting * painted_by * Painter adding a publication created by a concrete researcher (only exemplifies paints description picture one in our example). For the sake of simplicity the applica- biography bdate tion has not been detailed completely. We omit here more String Image String Date comprehensive data manipulations, like removing publica- tions, adding a new researcher, and managing groups. The Figure 4. CM of a museum application AddPaper query is activated when the AddPaper form is submitted: CONSTRUCT DISTINCT Technique {P}rdf:type{tcm:Paper}; tname tcm:ptitle(Title); description tcm:url{URL}; Set exemplified_by tcm:published_at{Published}; Set Technique Painting tcm:author{Author}; tname title tcm:year{Year} TechniquesList PaintingList FROM {form:AddPaper}{Title}, GD-Paintings GD-Painters {form:AddPaper}{URL}, Set Set Painting {form:AddPaper}{Published}, Painter In title name {session:session}{Author}, year picture bdate {form:AddPaper}{Year} biography painted_by In paints Painting Set Painter Set title In this query a new instance of a paper is created where its IteratorForm IteratorForm Out Out Prev Next Out Prev Next properties are taken from the AddPaper form inputs. The Details (Iterator) Details (Iterator) value assigned to the Author variable represent the ID of the Out last presented researcher (refreshed by the SetResearcher query during the AddPaper slice instantiation and temporar- Concepts, Attributes, and Relationships added for a concrete NT instance ily stored in the session:resID session parameter). The Set- Concepts, Attributes, and Relationships based on mapping from TCM to CM Researcher query is very simple: Figure 5. AM of a museum application deploy- SELECT ing instances of the Guided Tour NT R FROM {session:session}{R} 5 Integer Publications year Group Start String ptitle Paper published_at String gname * members String url Set papers Set Group Researcher String email Researcher name String gname name Groups Researchers * members SetResearcher Researcher Group gname String name AddPaper email Figure 6. Publications TCM AddPaper papers iT iptitle Set iT iyear Paper iT iurl ptitle year iT ipub ToAddPaper URL The session:sliceid is a default session variable containing url AddPaper Details the URI of the root concept instance of the last completely instantiated slice (that is why it is attached to the AddPaper slice and not to Researcher.Publications slice, although it Figure 7. Publications TAM contains the URI of the current Researcher). The value of the R variable is in the RDFS TAM specification assigned to session:resID. The complete query and session parameter main of publications. There are two categories of mapping. specification does not appear in the TAM diagram, but it is The first one is concept-to-concept, which facilitates the de- in the TAM RDFS file: termination of root concepts and data manipulation queries during transformation of the TAM slices into concrete AM lows the transformation of slice attributes and is used in path expressions specifying concept-property chains in the form {Concept1}property1{Concept2}.... Inverse prop- SELECT R erties are denoted as {Concept}property −1 . If the value FROM {session:session} of a TCM property is constructed from the values of sev- {R} eral properties in the CM (concatenation), we write it as {Concept1}property1 ⊙ {Concept2}property2. The fact that the value of a TCM property is retrieved from sev- eral CM properties is captured as {Concept1}property1 ∪ concepts relies on the uniqueness of the concept names (in • for tcm:Group no mapping is defined 3.3.3 Mapping NTs to Concrete Domains • tcm:Researcher is mapped to cm:Person A necessary condition for the automated transformation of • tcm:Paper is mapped to cm:Paper an NT to an AM for a concrete CM is the existence of a mapping from the abstract TCM to a concrete domain For the mapping of attributes we define articulations con- model. We demonstrate the specification of such a map- taining pairs of path expressions for the TCM and the CM. ping using the Publications example and show possible sit- The mapping is described in Table 1. Further details of the uations. Figure 8 presents a concrete CM describing a do- mappings are explained in Section 3.4. 6 Attribute in TCM Mapping to CM String fname Person surname String {Group}gname no appropriate range concept in CM, and thus no mapping. In CM String it will be represented by a constant role string (a name of a working group) Member * * Contributor {Researcher}name {P erson}f name ⊙ * created_by contributed_by {P erson}surname members {Researcher}email no appropriate attribute in CM Project String {Researcher}papers {M ember}created by −1 ∪ pname title String {Contributor}contributed by −1 * topics String {P aper}ptitle {P aper}title Topic Paper link {P aper}published at {P aper}published as tname published_as year String {P roceedings}ctitle ∪ String Publication {P aper}published as {Journal}jtitle {P aper}year {P aper}year Proceedings Journal Thesis {P aper}url {P aper}link ctitle location jtitle issue mark String String String String String Table 1. TCM to CM attribute mapping Figure 8. Concrete Publications domain CM 3.3.4 Deployed Navigation Template When the Articulations are specified, an appropriate de- ployed NT can be generated. A deployed NT is an (part of) Publications AM. In this process slice relationships based on the TCM are replaced by those based on the CM at hand. Due to Start possibly different schema structures of a TCM and a con- crete CM, in some cases simple slice aggregations based on Set a single CM relationship must be replaced by more com- Person fname sname plex queries. For instance, this is the case when for a path ConstLink expression in the TCM with the length (number of proper- Groups Researchers ties in the path expression) one, there exists a correspond- SetResearcher ing path expression in the CM with length more than one Person (the result would be a join query). During the deployment AddPaper1 fname process the papers slice aggregation in the original TAM sname Researcher.Details slice is automatically transformed to a AddPaper iT iptitle AddPaper2 PaperQuery Set query (we name it here PaperQuery) that is a union of the iT iyear iT iurl ToAddPaper Paper URL two queries (for the Person subclasses Member and Con- iT ipub AddPaper Details Details tributor): SELECT X Details of the Publications.Details slice FROM {P}contributed_by{X} Publication Paper and Details title year link SELECT X Proceedings Journal Details of the Paper.Details published_as FROM {P}created_by{X} slice Publication ctitle jtitle where P is an instance of the Person concept given by the Details Details Details Details Person.Details slice instance. The AddPaper query appearing in the original TAM is during the deployment process automatically transformed Figure 9. Deployed Publications NT into two different queries, one for the Proceedings subclass of Publication: 7 CONSTRUCT DISTINCT we mention the conflicts and their possible solutions. This {P}rdf:type{cm:Paper}; descriptions are used as guidelines for developing the NT cm:created_by{M}, deployment software (NT2AM Transformer in Figure 2). {Proc}rdf:type{cm:Proceedings}; Most of the possible situations have been discussed and cm:ctitle{Title}; classified in [14]. Concretely we name: cm:link{URL}; cm:year{Year}; • Data representation conflict: corresponding literal cm:ptitle{Published}, properties in the TCM and a concrete CM have dif- {P}cm:published_at{Proc} ferent data types. An example is the {P aper}year FROM property (String and Integer types). {session:session}{M}, • Missing literal property conflict: a TCM concept at- {form:AddPaper}{Title}, tribute does not have its counterpart in the CM. An ex- {form:AddPaper}{URL}, ample would be the {tcm : Researcher}tcm : email {form:AddPaper}{Published}, attribute. {form:AddPaper}{Year} • Concept-property and property-concept conflicts can and one for the Journal subclass of Publication: appear when a concept in the TCM is modeled as a CONSTRUCT DISTINCT (literal) property in the CM and vice versa. {P}rdf:type{cm:Paper}; • A few cases of schema isomorphism conflicts: cm:created_by{M}, {Proc}rdf:type{cm:Journal}; – A TCM concept does not have its counterpart in cm:title{Title}; the CM. An example would be the tcm:Group cm:link{URL}; concept. cm:year{Year}; – A TCM concept literal property has only a cm:jtitle{Published}, reversed counterpart in the CM. An example {P}cm:published_at{Proc} is {tcm : Researcher}tcm : papers that FROM can be mapped to {cm : M ember}cm : {session:session}{M}, created by −1 (or to {cm : Contributor}cm : {form:AddPaper}{Title}, contributed by −1 ). {form:AddPaper}{URL}, {form:AddPaper}{Published}, – A TCM literal property is mapped to (composed {form:AddPaper}{Year} of) multiple attributes in the CM. An example is {tcm : Researcher}tcm : name that is mapped The queries create different Publication types (subclasses) into a concatenation of {cm : P erson}cm : with different attributes. The user of the application decides f name and {cm : P erson}cm : surname. what kind of Publication he wants to add. This is facilitated by two buttons (one for each subclass and executing the first • Generalization conflicts where a TCM concept is or the second query) that are automatically generated (dur- mapped into a CM concept with more specializa- ing the NT deployment process) and placed to the AddPa- tions. An example of this would be the {tcm : per form (see Figure 9). Note the simplification we made P aper}tcm : published at literal property that can here due to the lack of space. Both queries are applicable be mapped to {cm : P aper}cm : published as{cm : for the Member type of Researcher (can be determined by P roceedings}cm : ctitle and to {cm : P aper}cm : the cm:created by property appearing in the CONSTRUCT published as{cm : Journal}cm : jtitle clause). In a real example, every form button would execute We do not mention other possible conflicts such as integrity two optional queries depending on the type of last visited constraint conflicts that can arise when more sophisticated Researcher (Contributor or Creator). constraints are imposed on the concepts and their properties. 3.4 Major Problems in TCM to CM Mapping 3.4.1 Data Representation Conflicts We can highlight a few typical situations, where the map- In this case the data types of the corresponding literal prop- ping from the TCM to a CM is not as straightforward as erties are not compatible. A simple type conversion is for instance the naming conflicts naturally solved by paired made: concretely, the type of a conflicting TCM attribute path expressions explained in Section 3.3.3. In this section is transformed (possibly during the model transformation 8 since we can transform schemas) to the data type of the cor- instances are created), despite the fact that there is no responding CM attribute. Applied to our example, the type notion of these specializations in the TCM. One of the Integer of attribute {tcm : P aper}year at in the TAM is possible solutions is the automatic generation of a se- changed to String in the resulting AM. lection input field allowing the user to choose the type of concept to be created (according to existing concept 3.4.2 Missing Literal Property Conflict subclasses). In the example it would be a selection between the Proceedings and Journal concepts when In the case of such a conflict such a literal property (at- adding a new publication. tribute) is omitted in the resulting concrete AM. An example is the email attribute of the Researcher.Details in TAM that 3.4.6 A TCM Concept Property Has Only a Reversed does not appear in the resulting AM (see Figures 7 and 9). CM Counterpart 3.4.3 Concept-property and property-concept conflicts This situation occurs when a TCM property does not have a directly matching counterpart in the CM, but there is a CM This conflict appears if a concept in the TCM is modeled property with inverse semantics. There is no direct illustra- as a literal property in the CM or vice versa. An exam- tion of this in the example, but {tcm : Researcher}tcm : ple of the property-concept conflict is {tcm : P aper}tcm : papers can be mapped to the union of the inversions of published at that is mapped to {cm : P aper}cm : {cm : P aper}cm : created by and {cm : P aper}cm : published as. This conflict is discussed in Section 3.4.5. contributed by. 3.4.4 A TCM Concept Does not Have a Counterpart in 3.4.7 A TCM Literal Property is Mapped to a Con- the CM catenation of Multiple CM Literal Properties In this case the NT2AM Transformer must replace the miss- This is a case when an attribute is mapped to a concate- ing concept with a single (virtual) constant concept, so all nation of multiple literal properties. An example is the its attributes are constants. For instance, the example pub- concatenation of {cm : P erson}cm : f name and {cm : lication CM is intended for a single research group, so the P erson}cm : surname for the {tcm : Researcher}tcm : group name will be replaced with a constant string. The re- name. The solution is to replace one TAM slice attribute in placement by a constant is needed due to the fact that some the TAM by several attributes in the resulting AM. top-level slices can be based on non-existing concepts. Dur- ing the transformation process these slices are replaced by constant slices. 4 Implementation 3.4.5 Generalization Conflict The usefulness of the approach described in this text re- lies to a large extent on the availability of tools supporting This problem typically occurs when the TCM concept has the design and automated deployment of NTs. The most es- specializations with a different property structure. An sential tool is the NT2AM Transformer (Figure 2) that trans- example is the mapping of the {tcm : P aper}tcm : forms an NT specification to a concrete Hera AM or a part published at attribute that can be mapped into {cm : of it using the mapping to a concrete domain CM. This tool P aper}cm : published as{cm : P roceedings}cm : ctitle, is a single Java application that reuses some classes from but also into {cm : P aper}cm : published as{cm : the Hera Mediator [16] for the processing of articulations. Journal}cm : jtitle depending on the type of the publi- A design support tool for the graphical specification of cation (Proceedings or Journal). mappings (articulations) is currently under development, The solution to this problem needs to cover the following and uses part of the functionality of the EROS RDFS Ex- two situations (as well as some other problems, but they plorer [15] that provides an interface for building SeRQL appear to be simpler): queries, and thus also supports the building of path expres- • Transformation of slices for presentation purposes (i.e. sions, which are the essential part of articulations. It will transformation of SELECT queries). In this case the allow rapid and easy specification of needed articulations. result should be the union of two queries containing The main window of the tool is shown in Figure 10. The NT both path expressions. graphical design tools are based on existing Hera CM and AM Builders (for the construction of the TCM and TAM) • Transformation of data manipulation queries. For the that are also used for the regular (graphical) design of Hera data consistency reasons the type of the manipulated applications (i.e. without using an NT). These tools are be- concept should be determined (especially when new ing updated for specification of the NT interfaces. 9 [6] G. Houben, F. Frasincar, P. Barna, and R. Vdovjak. Mod- eling user input and hypermedia dynamics in hera. In In- ternational Conference on Web Engineering (ICWE 2004), Munich, Germany, 2004. [7] N. Koch, A. Kraus, and R. Hennicker. The authoring process of the uml-based web engineering approach. In Proceedings of The First International Workshop of Web-Oriented Soft- ware Technology, 2001. [8] F. Mannola and E. Miller. Rdf primer. W3C Recommanda- tion 10 February 2004. [9] J. Miller J., Mukerji. Mda guide version 1.0.1. OMG, June 2003. [10] O. Pastor, J. Fons, and V. Pelechano. Oows: A method to develop web applications from web-oriented conceptual models. In Proceedings of International Workshop on Web Oriented Software Technology (IWWOST), 2003. Figure 10. The main window of the mapping [11] G. Rossi, F. Lyardet, and D. Schwabe. Patterns for e- commerce applications. In Proceedings of Europlop 2000, tool 2000. [12] K. Sattler, S. Conrad, and G. Saake. Interactive example- driven integration and reconciliation for accessing database 5 Conclusion federations. Inf. Syst., 28(5):393–414, 2003. [13] D. Schwabe, G. Rossi, L. Esmeraldo, and F. Lyardet. Engi- neering web applications for reuse. IEEE Multimedia, pages In this paper we have shown the principles of building 2–12, Spring 2001. NT specifications that are portable over domains. These [14] A. Sheth and V. Kashyap. So far (schematically) yet so near principles use existing expertise of modelling techniques (semantically). In Proceedings of the IFIP WG 2.6 Database and data integration. In the implementation we exploit soft- Semantics Conference on Interoperable Database Systems ware packages we have already developed, for instance the (DS-5). North-Holland, 1993. [15] R. Vdovjak, P. Barna, and G. J. Houben. Eros: A user inter- Hera Mediator and the EROS RDFS explorer. Although we face for the semantic web. In 7th World Multiconference on chose a concrete (Hera) method for demonstrating the ap- Systemics, Cybernetics and Informatics, 2003. proach, we believe that the idea of mapping from a TCM [16] R. Vdovjak, F. Frasincar, G. J. Houben, and P. Barna. En- to a concrete CM is rather universal. The advantage of gineering semantic web information systems in hera. Jour- our method compared to some other approaches lies in the nal of Web Engineering (JWE), Rinton Press, 2(1-2):3–26, possibility of precise specification of the navigation struc- 2002. ture and the data manipulation within an NT that is sub- sequently automatically transformed to appropriate speci- fication matching a concrete domain. Thus, this approach and its implementation will facilitate the reuse of naviga- tion primitives in web engineering. References [1] Openrdf, the serql query language, rev. 1.1. http://www. openrdf.org/doc/users/ch06.html. [2] D. Brickley and R. V. Guha. Rdf vocabulary description lan- guage 1.0: Rdf schema. W3C Recommandation 10 February 2004. [3] S. Ceri, P. Fraternalli, A. Bongio, M. Brambilla, S. Comai, and M. Matera. Designing Data-Intensive Web Applications. Morgan Kaufmann Publishers Inc., 2003. [4] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison Wesley, Reading, MA, 1995. [5] J. Gomez and C. Cachero. Oo-h method: Extending uml to model web interfaces. Idea Group Publishing, pages 144– 173, 2003. 10