Strong vs. Weak Links: Making Processes Prevail Over Structure in Navigational Design José H. Canós, Carlos Solís, Mª Carmen Penadés, Manuel Llavador Department of Computer Science (DSIC) Technical University of Valencia Valencia, Spain +34 96 387 7007 Ext. 73588
{ jhcanos, csolis, mpenades, mllavador }@dsic.upv.es diagrams. A typical example can be found in e-commerce applications, whose user interfaces normally include links such as “buy”, “add item to cart”, and others. None of these links has its origin in associations between classes; rather, their provenance is the underlying business process the application is implementing, and that may be specified as a directed graph, with nodes representing the different tasks and edges defining the order of execution of the tasks. This graph defines the control and data flows (as in traditional workflow models).
ABSTRACT We introduce a process-based approach to navigational design of hypermedia applications. Unlike most current methods, which use the information structure as the basis for building the navigational structure, we start from a workflow-like process model to create a two-level navigational model. On one hand, the strong navigational schema is composed of nodes called activity views and links derived from control flow relationships of the process model. On the other hand, a weak navigational schema is developed for each activity view based on the information a given actor has to use to perform the associated activity. Our approach allows designers to solve in a natural way the problems where the business processes prevail over the information structure.
Some Hypermedia Engineering methods have included the process perspective in the development of hypermedia models only recently [2][3][4]. In most cases, it is a complement of the structure-driven navigational design, which remains the most important part of the method. Other proposals have considered the process model as the starting point; one of them is [5], which uses workflow models that are mapped to Event-Condition-Action rules for code generation.
Categories and Subject Descriptors H.5.4 [Information interfaces and presentation] Hypertext/Hypermedia – Navigation; D.2.2 [Software Engineering]: Design Tools and Techniques – User Interfaces
In this work we advocate the use of a process model as the starting point of a two-phase navigational design. A first navigational schema is derived from the control flow defined at the process. Such schema is called the Strong Navigational Schema; it is composed of task views and strong links (see section 2) and represents the process-driven navigation of the application. This schema is completed with the Weak Navigational Schema, which includes intra-task view navigational structures, and is derived from the structure as in classical Web Engineering methods (see section 3). We do not impose any constraint to further implementations of the navigational model; rather, our proposal is part of MDHDM, a model driven hypermedia development method which is described in [6] and that, according to Model Driven Engineering principles, is independent of the implementation technology.
General Terms Design, Human Factors.
Keywords Hypermedia, navigational design, processes.
1. INTRODUCTION The navigational model is the artifact used to specify the paths between information objects in hypermedia applications. In most Hypermedia Engineering methods, navigational design is a stage of the development lifecycle that follows domain conceptual modeling. The conceptual model (e.g. a UML class diagram) is used to build the navigational structures (e.g. navigational classes and links). A navigational class is obtained from classes of the class diagram, whereas links are derived from the relationships between classes [1].
2. STRONG NAVIGATIONAL SCHEMA A process is composed of a number of tasks which must be executed in an order defined by the control flow relationships. Every task has associated an actor responsible for its execution. Depending on the actor being a human or a computer, we talk about manual or automatic tasks, respectively. Control flow relationships connect two or more tasks in different ways, including sequence, and-split, or-split, and-join and or-join, among others. When control passes from a task to the following one(s), some data can be transmitted. This means that there are also data flow relationships between tasks, which can be of diverse nature (variable sharing, file write/read, etc.).
Although this approach is useful to implement navigation in classical Information Systems, there is a large set of domains for which it is insufficient, as there are behavioral aspects that can influence navigation that are not directly derived from structural
Copyright is held by the author/owner(s). HT’07, September 10–12, 2007, Manchester, United Kingdom. ACM 978-1-59593-820-6/07/0009.
Normally, business processes involve different actors with different user interfaces. To obtain the navigational model
139
Actor A
T
Actor B
Actor A
Actor B
SA A
SB
T
Figure 1. Projecting the global process by actor using synchronization points
Figure 2. Strong and weak navigational schemas corresponding to actor A the association between classes book and author at the class diagram. We can go forward and backward in the navigational structure of the activity view, but the process remains all the time in the same state (“select book”). Only when we click on a strong link (e.g. “buy” or “checkout”) does the process advance.
corresponding to a specific actor’s interface, a projection of the process must be done including only the tasks where the actor participates. If we repeat the projection for all the users, we will get a set of subprocesses from which the different navigational models will be derived (Figure 1). The projection must preserve the connection of tasks in the subprocesses. For instance, task T in Figure 1 is assigned to actor A, and one of its predecessor tasks is assigned to actor B. This dependency is removed via the insertion of synchronization points. We insert a synchronization point SA in the process of actor A, and another one SB in the process associated to actor B. SB is a task consisting of the signaling of an event that will be captured by SA. Other cases are solved similarly. This way, we implement a control flow mechanism between subprocesses that preserves the semantics of the global process.
4. CONCLUSION Process-driven navigational design appears to be a natural to develop navigational models of hypermedia applications. We have shown how a two phase design method can produce navigational models in a very simple way. We have developed a tool that implements the method using Model Driven Engineering principles. From a process model and a class diagram, a set of transformations allow the automatic generation of the navigational model, which is further transformed to the implementation. Further work includes the refinement of the transformations and the extension to other structure models.
Once individual subprocesses have been obtained from the global process, the Strong Navigational Schema associated to each subprocess is built. Figure 2 shows the schema for the subprocess associated to Actor A. It is a graph that mirrors the graph structure of the subprocess; its nodes are called activity views, and its edges are called strong links. Apparently, links are just like those of classical Hypermedia Engineering methods, but they have an additional semantics: the traversal of any link of the strong navigational schema will produce a change of the state of the process the actor is executing, as the control passes from a task to the following one(s) in the workflow. Each activity view includes a weak navigational structure which is described in the following section.
5. ACKNOWLEDGMENTS This work has been supported by CICYT España (TIC 200307804-C05-01) and CONACYT México (178867/193415).
6. REFERENCES [1] Schwabe, D., Rossi, G., Barbosa, S.D.J. Systematic Hypermedia Application Design with OOHDM, In Proceedings of Hypertext ’96, (Washington D.C, USA, March 16-20, 1996). ACM Press New York, NY, 116-128 [2] Rossi, G., Schmid, H. and Lyardet, F. Engineering business processes in web applications: Modeling and navigation issues, In Proceedings of Third International Workshop on Web-Oriented Software Technology. (Oviedo, Spain, 2003).
3. WEAK NAVIGATIONAL SCHEMA To complete the navigational design, the next step is to define the navigational structures derived from the process’ data flow and associated to each activity view. An activity view represents the information space through which a user can navigate during the execution of the activity. It is composed of information pieces and the weak links. The former are views of objects of some class defined in the conceptual model, whereas the latter are obtained, as in classical Web Engineering methods, from the relationships between such classes. We call them weak links because their traversal produces navigation in the information space, but does not change the state of the process under execution.
[3] Koch, N., Kraus, A., Cachero, C. and Melia, S. Integration of business processes in Web application models, Journal of Web Engineering, 3, 1 (May 2004), 22-49. [4] Brambilla, M., Ceri, S. and Fraternali, P. Process Modeling in Web Applications, ACM Transactions on Software Engineering and Methodology 15 , 4 (Oct. 2006), 360–409. [5] Barna, P., Frasincar, F., and Houben, G. A workflow-driven design of web information systems. In Proceedings of the 6th International Conf.. on Web Engineering ICWE '06 (California, USA, July 11-14, 2006). ACM Press, New York, NY, 321-328.
For instance, when buying a book at an electronic bookstore, when we select a book, possibly after a search, we can see different book’s metadata items. It is very common to have the value of the “author” field as one or more links that leads to page(s) showing information about the author(s), including links to all his (their) works. The links in both pages are derived from
[6] Solís, C., Canós, J. H., Penadés, M. C., and Llavador, M. A Model-Driven Hypermedia Development Method. In Proc. of WWW/Internet Conference. IADIS Press, 2006.
140