scispace - formally typeset
Search or ask a question
Book ChapterDOI

A Concept for Modelling and Validation of Web Based Presentation Templates

TL;DR: This work presents an approach to integrating different programming languages in one homogeneous language and further in a formal model, which may be transferred to the specific model used by verification tools.
Abstract: The assurance of quality and reliability is essential for success in the e-business. However, missing validation mechanisms are a serious problem in web page development. Most web based programming languages do not support validation and other security features. Furthermore, the usage of different languages increases the complexity. We present an approach to integrating different programming languages in one homogeneous language and further in a formal model, which may be transferred to the specific model used by verification tools. Our concept enables the single analysis and validation of heterogeneous web based languages as well as in combination and interaction.

Summary (2 min read)

1 Introduction

  • In the early days of the Internet web designers used HTML to create static web pages composed of text and images.
  • In the Intershop’s e-commerce system Enfinity MultiSite a specific concept has been introduced to handle the large numbers of web pages: the template concept.
  • Web based scripting languages are supported by interpreters, but they cannot be used for an overall analysis.
  • The authors pick up again their example for describing the conversion from the defined model into a specific model of a model checker.

2 Enfinity MultiSite

  • Enfinity MultiSite distinguishes four different programming layers .
  • The inclusion of variable elements and expressions for dynamic content in templates allows to derive a large number of pages from each template.
  • The primary building blocks of the business object layer are the business objects and manager classes.
  • Figure 2 depicts an overview of how an HTTP request is processed in Enfinity MultiSite and illustrates the interaction of the key concepts mentioned above.
  • Moreover, the pipeline processor initiates the pipeline dictionary and manages the flow of the pipeline elements through the pipeline.

3 Modelling of Presentation Layer

  • Each heterogeneous template implementing with different languages is transformed in a 396 D. Fötsch, A.Speck, W.R.Rossak, J.Krumbiegel homogeneous template.
  • The authors use XML for representing the homogeneous template.
  • XML is a standardised extensible markup language [Bra+], which is a subset of SGML (standard generalized markup language [Inte86]).
  • XML allows easy specification of user-defined markup tags adapted to the document [Ahm+01].
  • This model (called presentation model) provides a basis for converting in the specific model of model checker or other verification tools.

3.1 Definition of the Presentation Model

  • The authors will now define the formal definition of the presentation model.
  • The states of the finite automaton represent computations and statements in the templates, which are performed in dependency of the transitions in a specific sequence.
  • Events, e.g. press a link, are responsible for triggering a transition.
  • In addition, states can be occupied with a label, which contains more information about the state (for example the name of a variable element).
  • The presentation model will be described as graphical notation in the further paper .

3.2 Physical Description of the Presentation Model

  • The physical description of the presentation model is realised in XML.
  • ATTLIST transition> 398 D. Fötsch, A.Speck, W.R.Rossak, J.Krumbiegel <!ELEMENT from EMPTY> <!ATTLIST from idref IDREF #REQUIRED> <!ELEMENT to EMPTY> <!ATTLIST to idref IDREF #REQUIRED> <!ELEMENT event EMPTY> <!ATTLIST event kind CDATA #REQUIRED> <!ELEMENT condition EMPTY> <!ATTLIST condition value (true|false) #REQUIRED>.
  • According to above DTD, there are nine element types.
  • The states element represents the states in the presentation model.
  • The transitions element maps the set of transitions to the presentation model.

3.3 Example of Modelling

  • In this section the authors demonstrate an example transformation from the original template in the graphical notation of the presentation model.
  • The authors example web page is generated from the template ApplicationFrame.
  • For that reason, each file can be single validated.
  • For example the ApplicationFrame includes the GlobalJavaScript file in the presentation model.
  • In the next section one validation technique is applied on the presentation model.

4.1 Validation with Model Checker

  • The authors apply model checkers, such as SPIN [Holz97] or SMV (Symbolic Model Validation [McMi92]), in order to validate the templates.
  • These checking tools need a model of the issue to be validated (the possible behaviour of the system) usually described as finite state machine.
  • For the objective of specification several temporal logics with different power exist, e.g. the LTL (Linear Time Logic [Pnue77]) or the CTL (Computation Tree Logic [ClDr89]).
  • These logics enhance common predicate logics by defining additional operators.
  • For LTL the temporal operators X (next time), F , G specify that a property holds at the second/some/each state on a path.

4.2 Example of Validation

  • It demonstrates some of the problems, which may occur when a template has to be examined.
  • The transformation from the presentation model to the finite state machine of a model checker, such as SMV, is straightforward.
  • The conditions and the events influencing the transition can be inherited from the automaton as additional guards.
  • But these information are not crucial for the dynamic behaviour of the template.
  • Examples for concrete rules to be checked may look like: .

Did you find this useful? Give us your feedback

Content maybe subject to copyright    Report

Association for Information Systems
AIS Electronic Library (AISeL)
Wirtscha8sinformatik Proceedings 2005 Wirtscha8sinformatik
February 2005
A Concept for Modelling and Validation of Web
Based Presentation Templates
Daniel Fötsch
Friedrich-Schiller-Universität Jena
Andreas Speck
Friedrich-Schiller-Universität Jena
Wilhelm R. Rossak
Friedrich-Schiller-Universität Jena
Jörg Krumbiegel
Intershop Communications AG
Follow this and additional works at: h9p://aisel.aisnet.org/wi2005
7is material is brought to you by the Wirtscha8sinformatik at AIS Electronic Library (AISeL). It has been accepted for inclusion in
Wirtscha8sinformatik Proceedings 2005 by an authorized administrator of AIS Electronic Library (AISeL). For more information, please contact
elibrary@aisnet.org.
Recommended Citation
Fötsch, Daniel; Speck, Andreas; Rossak, Wilhelm R.; and Krumbiegel, Jörg, "A Concept for Modelling and Validation of Web Based
Presentation Templates" (2005). Wirtscha$sinformatik Proceedings 2005. 21.
h9p://aisel.aisnet.org/wi2005/21

In: Ferstl, Otto K, u.a. (Hg) 2005. Wirtschaftsinformatik 2005: eEconomy, eGovernment, eSociety;
7. Internationale Tagung Wirtschaftsinformatik 2005. Heidelberg: Physica-Verlag
ISBN: 3-7908-1574-8
© Physica-Verlag Heidelberg 2005

A Concept for Modelling and Validation of Web
Based Presentation Templates
Daniel Fötsch, Andreas Speck, Wilhelm R. Rossak
Friedrich-Schiller-Universität Jena
Jörg Krumbiegel
Intershop Communications AG
Abstract: The assurance of quality and reliability is essential for success in the e-
business. However, missing validation mechanisms are a serious problem in web
page development. Most web based programming languages do not support vali-
dation and other security features. Furthermore, the usage of different languages
increases the complexity. We present an approach to integrating different pro-
gramming languages in one homogeneous language and further in a formal
model, which may be transferred to the specific model used by verification tools.
Our concept enables the single analysis and validation of heterogeneous web
based languages as well as in combination and interaction.
Keywords: Modelling, Validation, Model Checker, Template
1 Introduction
In the early days of the Internet web designers used HTML to create static web
pages composed of text and images. However, static web pages must be manually
created and maintained. Naturally, this is practical only for comparative small web
sites containing just a few pages of information, which only need to be changed
from time to time.
In contrast to a simple, often non-commercial web site, an online shop possibly
contains thousands of different pages making it impractical to create and maintain
all the storefront pages manually. In the Intershop’s e-commerce system Enfinity
MultiSite a specific concept has been introduced to handle the large numbers of
web pages: the template concept. Without such a template concept, storefronts re-
quire that every page be hard-coded in standard HTML.
In general, templates contain information about how to format or present data.
This skeleton may be developed in the form of a rule or mould with one or more
shapes used to apply different looks and feels to specific documents and web sites.

392 D. Fötsch, A.Speck, W.R.Rossak, J.Krumbiegel
Furthermore, templates may include instructions to replace placeholder variables
with current values or content from another source. The technique of templates
supports the following significant benefits:
A template can be used to display variations, e.g. thousands of products.
Calculations or other processing flows are not possible in standard HTML.
Information, which are subject to regular changes, such as product prices, may
be stored and maintained in a database.
A storefront page may display user-defined pieces of information, for example
a list of products matching a customer’s search criterion.
Comprising with templates, it is possible to generate storefront pages dynamically
each time a user requests a page. This dynamic procedure increases the complex-
ity considerably. Ensuring the high stability and quality of a web presence, an
automatic verification concept and technique is essential.
Admittedly, templates have some oppressive characteristics for an automatic veri-
fication. The fundamental problems to resolve are:
Generally, templates are developed with heterogeneous web based program-
ming languages, e.g. HTML, JavaScript, and other different server-side script-
ing languages.
Web based scripting languages are supported by interpreters, but they cannot
be used for an overall analysis.
The examination of linked web pages is very difficult and currently not enough
supported.
Especially, no concept exists for the verification of the mutual interaction from
pipelines and templates in Enfinity MultiSite.
We develop a concept of a multi-level transformation process from templates im-
plemented with different programming languages in a formal model. The formal
model is the basis for the further conversion in a specific model of verification
tools [Föts04].
In this paper we concentrate on the technique of model checking. Model checking
is an automatic approach to formal verification. This verification is performed by
software tools, which are capable of deciding whether or not a formal specifica-
tion is satisfied by a given model. In this context the model is a state-transition
system and the specification is formalised with temporal logic formulas, which
pinpoint desired behaviour over paths and states in the model [Cla
+
01].
In the following of the paper we apply our developed transformation process to
the template concept of Intershop’s e-commerce system Enfinity MultiSite.
Hence, we introduce in section 2 the programming layers of Enfinity MultiSite
and demonstrate a use case model of an HTTP request. Based on this background

A Concept of Modelling and Validation of Web Based Presentation Templates 393
information, the detailed steps of the transformation process are discussed in sec-
tion 3. At the beginning of this section our formal model to be checked is defined.
In the following subsections we explain the physical description of the defined
model and depict an example from the e-commerce domain. In section 4 we elabo-
rate the problem of validating. We pick up again our example for describing the
conversion from the defined model into a specific model of a model checker. Fi-
nally, we consider related works, conclude this work, and provide an insight into
our future work.
2 Enfinity MultiSite
Enfinity MultiSite is a large e-commerce system implemented by Intershop. En-
finity MultiSite distinguishes four different programming layers (cf. Figure 1).
Each programming layer has a distinct function, contains distinct objects, and is
programmed in dedicated development tools [Schw03].
Figure 1: The programming layers of Enfinity MultiSite [Schw03, p. 3].
1. Pipeline Layer: The highest level of the layered Enfinity MultiSite model real-
ises the concept of a pipeline. A pipeline is a graphical model of a particular
business process and combines a number of business tasks using a determined
syntax to delineate the business process. Every request to Enfinity MultiSite
triggers the execution of a pipeline. The requested URL always identifies,
which pipeline is to be invoked to serve the request. A pipeline may include
different types of nodes: pipelet node (implements the reusable specific busi-
ness function), control node (defines the flow of a pipeline) and interaction
node (generates a response). Pipelines are created, managed, and manipulated
within the Visual Pipeline Manager.

Citations
More filters
10 Dec 2010
TL;DR: Concerns crosscu ng, 32 concrete syntax, 25 constraint separa on, 58 f.
Abstract: syntax, 25 adapta on phase, 24, 46, 58, 60, 152 advice, 32 analysis phase, 24 ANLTR, 44 AOP, 16, 20 f., 32, 39, 179 approxima on, 100 aspect, 32 AspectJ, 16, 34 AspectXML, 33 AST, 33 authoring constraint, 103 authoring phase, 24, 59 f., 92, 180 authoring me, 24, 56, 87 f. Basse , Paul, 9 BETA, 35 f., 240 f. bind composi on operator, 37 broad applicability, 14, 53, 55–59, 178, 180 Brzozowski deriva ves, 98 build me, 13, 33 bypassing, 62, 64 f., 78, 80, 82 f. C, 35 C+, 9, 35 f., 53 character data, 28, 88 Cheetah, 31 CMS, 16, 31, 52 f. Cocoon, 80 computability, 55 f. concerns crosscu ng, 32 concrete syntax, 25 constraint separa on, 58 f., 87–91, 93 f., 100 f., 103 ff., 107–112, 117 ff., 121, 150, 163, 166 f., 170 f., 174, 180, 187, 190 f. ContentHandler, 17, 129 contract, 56 f. core, 32 coverage requirement, 55, 58 CST, 33 CXSD, 17, 93–101, 104, 108, 110–113, 115 f., 118–121, 166 ff., 170 f., 178, 180 ff., 192, 206, 215 design phase, 24, 58 Dijkstra, Edsger W., 8 DOM, 95, 119 f., 127, 129 DTML, 30 ease of use, 10, 15 EMODE, 15, 78, 175, 179 entanglement index, 15, 40, 53 ERB, 30 evaluateForEach, 74, 79 evaluateIf, 72, 74 evaluateInclude, 70, 74 evaluateText, 66, 74, 79 expressiveness requirement, 56, 58 f., 62, 71, 129 extend composi on operator, 37 extensibility ISC, 37

3 citations


Cites methods from "A Concept for Modelling and Validat..."

  • ..., the use of model checkers [66] or control- and data-flow analysis....

    [...]

Proceedings Article
01 Jan 2010
TL;DR: Three approach to transform process models to checkable automata are presented, one of which reduces the gap between process models (consisting of different model element types) and verification models and the third introduces specializers enabling semantic-rich requirement specifications.
Abstract: Process and workflow models are typical means to describe the dynamic activities of a system. Therefore, it is of high interest to validate these models. Many kinds of (business) rules, best practices, patterns, legal regulations may serve as specifications which the models have to fulfill. An already established technique to validate models of dynamic activities is model checking. In model checking the requirements are expressed by temporal logic. Temporal logic allows describing temporal dependencies. The models to be verified by model checkers are automata. In this context the question is how to transform process or workflow models into automata and how to specify the temporal logic in the way that the semantic of the process models is considered sufficiently. In our paper we present three approach to transform process models to checkable automata. We use the example of ARIS Event-driven Process Chains. In particular, the third approach introduces specializers enabling semantic-rich requirement specifications. This reduces the gap between process models (consisting of different model element types) and verification models.

1 citations


Cites methods from "A Concept for Modelling and Validat..."

  • ...This often embraces an automatic transformation of higherlevel models to a model format the checker understands (Fötsch et al., 2005)....

    [...]

  • ...This often embraces an automatic transformation of higherlevel models to a model format the checker understands (Fötsch et al., 2005)....

    [...]

01 Jan 2010
TL;DR: This paper presents an approach how to verify the realization of the system still realizes this process, and uses model checkers to use as tools to check.
Abstract: Business process models are the fundamental models of commercial systems. Therefore the business processes are issue of optimization as well as verification. When a business process has been identified as comparatively good (or optimal) it is of interest if the realization of the system still realizes this process. In this paper we present an approach how to verify such realizations. As application system we use the e-commerce system Intershop Enfinity which provides an executable process model: the Pipeline Model. These Pipeline Models have to be transferred to formal automata models which then may be checked. As tools to check we use model checkers.
References
More filters
01 Sep 1996
TL;DR: Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation that often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs.
Abstract: Turing Lecture from the winners of the 2007 ACM A.M. Turing Award. In 1981, Edmund M. Clarke and E. Allen Emerson, working in the USA, and Joseph Sifakis working independently in France, authored seminal papers that founded what has become the highly successful field of model checking. This verification technology provides an algorithmic means of determining whether an abstract model---representing, for example, a hardware or software design---satisfies a formal specification expressed as a temporal logic (TL) formula. Moreover, if the property does not hold, the method identifies a counterexample execution that shows the source of the problem. The progression of model checking to the point where it can be successfully used for complex systems has required the development of sophisticated means of coping with what is known as the state explosion problem. Great strides have been made on this problem over the past 28 years by what is now a very large international research community. As a result many major hardware and software companies are beginning to use model checking in practice. Examples of its use include the verification of VLSI circuits, communication protocols, software device drivers, real-time embedded systems, and security algorithms. The work of Clarke, Emerson, and Sifakis continues to be central to the success of this research area. Their work over the years has led to the creation of new logics for specification, new verification algorithms, and surprising theoretical results. Model checking tools, created by both academic and industrial teams, have resulted in an entirely novel approach to verification and test case generation. This approach, for example, often enables engineers in the electronics industry to design complex systems with considerable assurance regarding the correctness of their initial designs. Model checking promises to have an even greater impact on the hardware and software industries in the future. ---Moshe Y. Vardi, Editor-in-Chief

7,392 citations

Journal Article
TL;DR: XML is an extremely simple dialect of SGML which is completely described in this document, to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML.
Abstract: Extensible Markup Language (XML) is an extremely simple dialect of SGML which is completely described in this document. The goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. For this reason, XML has been designed for ease of implementation, and for interoperability with both SGML and HTML. Note on status of this document: This is even more of a moving target than the typical W3C working draft. Several important decisions on the details of XML are still outstanding members of the W3C SGML Working Group will recognize these areas of particular volatility in the spec, but those who are not intimately familiar with the deliberative process should be careful to avoid actions based on the content of this document, until the notice you are now reading has been removed.

5,749 citations

Proceedings ArticleDOI
30 Sep 1977
TL;DR: A unified approach to program verification is suggested, which applies to both sequential and parallel programs, and the main proof method is that of temporal reasoning in which the time dependence of events is the basic concept.
Abstract: A unified approach to program verification is suggested, which applies to both sequential and parallel programs. The main proof method suggested is that of temporal reasoning in which the time dependence of events is the basic concept. Two formal systems are presented for providing a basis for temporal reasoning. One forms a formalization of the method of intermittent assertions, while the other is an adaptation of the tense logic system Kb, and is particularly suitable for reasoning about concurrent programs.

5,174 citations

Book
07 Jan 1999

4,478 citations

Journal ArticleDOI
Gerard J. Holzmann1
01 May 1997
TL;DR: An overview of the design and structure of the verifier, its theoretical foundation, and an overview of significant practical applications are given.
Abstract: SPIN is an efficient verification system for models of distributed software systems. It has been used to detect design errors in applications ranging from high-level descriptions of distributed algorithms to detailed code for controlling telephone exchanges. The paper gives an overview of the design and structure of the verifier, reviews its theoretical foundation, and gives an overview of significant practical applications.

4,159 citations

Frequently Asked Questions (1)
Q1. What have the authors contributed in "A concept for modelling and validation of web based presentation templates" ?

The authors present an approach to integrating different programming languages in one homogeneous language and further in a formal model, which may be transferred to the specific model used by verification tools.