<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modelling and Verifying of e-Commerce Systems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Friedrich-Schiller-University Jena Department of Economics Integrated Application Systems Group</institution>
        </aff>
      </contrib-group>
      <fpage>857</fpage>
      <lpage>864</lpage>
      <abstract>
        <p>Static function hierarchies and models of the dynamic behaviour are typically used in e-commerce systems. Issues to be verifies are the completeness and correctness of the static function hierarchies, business rules valid in defined business domains and the consistency of models on different levels of abstraction. Today the systems are mostly tested manually. Automated support may the verification of static dependencies modelled in Boolean logic. Moreover, the checking of dynamic process models can be supported by temporal logic specifications and model checking tools.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Most large scale commercial systems share similar modelling and architecture
concepts. e-Commerce systems like Intershop Enfinity are typical examples of this type of
systems. Moreover other commercial e.g. the ERP system SAP R/3 have the same
modelling characteristics based on business processes. The design is modelled on different
abstraction levels. The static dependencies between the functionality are modelled in
hierarchies. The dynamic interactions are designed in process and workflow models.</p>
      <p>A typical modelling method for commercial systems in general is ARIS
(Architecture integrated Information Systems) supported by the ARIS tool set of IDS Scheer (a
closer description of a ARIS subsystem optimised for e-commerce is given in section 2).
The typical problems that arise from this modelling concept are:
• Static function hierarchies must be complete and correct.
• Specific business rules, which are valid in defined business domains, are to be kept.
• Dynamic models on different levels of abstraction must be consistent.
Current practice is to test and check systems manually. Besides specific rules and
regulations, experiences are used as base. However, it is obvious that the manual tests do
not cover all possible errors. Additionally they are very cost intensive especially for
commercial software developers.</p>
    </sec>
    <sec id="sec-2">
      <title>2 e-Commerce Modelling by ARIS</title>
      <p>
        As already mentioned the ARIS modelling concept is used in commercial systems in
general. In this section we will present ARIS for Enfinity [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] as a typical modelling
concept for e-commerce systems. Since there exist numerous modelling variants in
the general ARIS concept, we will focus on this specific version ARIS for Enfinity.
Function Hierarchy
(generic model)
      </p>
      <sec id="sec-2-1">
        <title>Event-driven Process Chain</title>
        <p>(generic model)</p>
      </sec>
      <sec id="sec-2-2">
        <title>Intershop Pipeline</title>
        <p>(proprietary model
ARIS for Enfinity)
However the ARIS for Enfinity modelling concept must still be considered as a very
generic model for e-commerce systems and may be applied for other systems e.g. like
mySAP. As there exist no final standards in e-commerce modelling (currently on base of
Web Services and BPEL4WS first approaches towards standardisation are in progress)
ARIS for Enfinity already gives a clear outlook on the future standard. Since there are
clear parallels between future BPEL4WS modelling and the already successfully
applied ARIS for Enfinity, this paper is based on the ARIS for Enfinity experiences.</p>
        <p>
          ARIS for Enfinity supports four layers of abstraction. The layers one to three are
standard in large scaled-commerce systems and other commercial applications. Only
the fourth layer uses an Enfinity specific model presentation (Intershop Pipelines).
However the basic concept is also base of generic modelling like in BPEL4WS, which
bears considerable similarities to the Intershop Pipelines.
1. Business Scenarios define the basic core, coarse grain elements of the e-commerce
application. They are very abstract. The verification on this level is and will be done
by human experts. Automation is not desirable.
2. Business Process Overview provides the overview over the functionality (main
functions). Usually only the static relations of the functions are considered
(function hierarchies).
3. Business Processes describe the dynamic processes in the system. Yet, the models
are abstract. However, the business process models may be refined to the concrete
workflows. Usually EPCs (Event-driven Process Chains, [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]) are applied as
modelling technique.
4. Workflows describe the executable processes of the system. Intershop invented a
proprietary model: Intershop Pipelines, which are on the one hand graphical models
and on the other hand are interpreted by the application server of the e-commerce
system. Modelling languages on a similar level are web-service descriptions like
BPEL4WS (which are issue of standardisation at the moment).
        </p>
        <p>The different ARIS model types are depicted in table 1. The Function Hierarchy
shows which function is member of which other function.</p>
        <p>The dynamic model Event-driven Process Chain is a rather abstract process
description. The main elements are the functions (rounded rectangles) and the events
(hexagons) which are connected by the organisational flow (arrows) and the logic
connectors (Boolean AND as depicted as well as OR and XOR). Examples of further
elements are organisational units executing certain functions, deliveries or application
systems providing functions.</p>
        <p>The Intershop Pipeline Models include different types of nodes: Pipelet nodes
implement the re-usable specific business function. This business function is realised by
a small Java class. For more complex operations these classes call library code (in the
persistence layer), e.g. access to data bases or other systems. Control nodes define the
control flow of Pipelines. An example in the table is the call of a Sub-Pipeline or the
termination of this Sub-Pipeline. The interaction of the Pipelines and the web pages
(templates) exported to the web clients is described in interaction nodes. These nodes
define which data a Pipeline receives from a template activating the Pipeline (start
interaction) and which data is delivered to the resulting template (interaction).</p>
        <p>&lt;&lt;CarletedrintaCtiavred&gt;&gt;
&lt;&lt;PaaltyerbnyatBiviell&gt;&gt;
P&lt;a&lt;yalotenrnative&gt;&gt;</p>
        <p>Delivery</p>
        <p>O&lt;r&lt;dceornPcreopct&gt;es&gt;s
&lt;&lt;weak Constraint&gt;&gt;</p>
        <p>mutex
&lt;&lt;requires&gt;&gt;
&lt;&lt;mutex&gt;&gt;</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Verification Concepts</title>
      <sec id="sec-3-1">
        <title>Static Function Hierarchies</title>
        <p>
          The static function hierarchies are rather easy to verify. The configurations of functions
may be represented by Boolean formulae [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] which may be verified automatically (e.g.
by theorem proofer or term rewriting).
        </p>
        <p>The more interesting question is how to visualise the hierarchy. One possibility may
be to extend the ARIS model. Another alternative is to apply a more complex model.
UML class models may serve as compromise. They support numerous expressive
modelling elements and can be exported from the ARIS tools.</p>
        <p>Besides the ordinary inclusion relationship (represented by aggregation) there
exist variability (inheritance). Functions may be mandatory (AND), optional (OR) or
alternative (XOR). Moreover cross-tree constraints are introduced (either both functions
required or are mutual exclusive).</p>
        <p>Typical rules on the level of static function hierarchies are:
• The number of times specific functions have to occur. E.g. a web-shop does not
support all types of payment or delivery which are potentially possible.
• The locations in the hierarchy, where functions or sub-hierarchies of functions are
placed, are relevant.</p>
        <p>Depending on the specific application type (called solution) like business to business
(B2B), business to consumer (B2C) or e-procurement there are variants (considered
as rules) in the characteristic hierarchies, e.g. B2C and e-procurement solutions offer
a comparatively large, predefined sub-hierarchy of price management functions while
B2B solutions support only a single function.</p>
        <p>Fig. 2. Example: Login and Presentation Process</p>
      </sec>
      <sec id="sec-3-2">
        <title>Business Rules in Dynamic Models</title>
        <p>At Intershop a set of business rules (best practices) have been collected. Usually
these rules are base of the manual testing. Figure 2 shows a business process to be
verified. This process describes the login and identification of a customer and the
resulting different purchase and presentation functions. In contrast to the most other process
models the chosen example is quite small and easy to overlook. Usually the models are
much larger.</p>
        <p>
          These rules, which have to be verified, deal with the temporal dependencies.
Therefore they can be transformed in temporal logic. In our case we apply Computational
Tree Logic (CTL) which is supported by the model checking tool Symbolic Model
Validation (SMV) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The process models are transformed to automata verified by SMV.
1. A customer must be presented a catalogue choice in all cases. This rule is valid for
all customer categories. An appropriate CTL formula representing this rule is:
AG(Customer is on Home Page -&gt; AF(Catalog Choice))
It is generally assumed Always Globally (AG) that the customer is already an the
home page of the shop (Customer is on Home P age = ). Now it has to be
verified that this precondition implies Always in the Future (AF) the customer will
have a Catalog Choice. There is no path that will not lead to Catalog Choice.
2. In this example a path has to be identified on which customer data are checked (is
true). Here we have to check that there is no state where customer data are checked
in order to receive a counter-example form the model checker.
        </p>
        <p>AG(Customer is on Home Page -&gt; AG(!Customer Data Check))
Again, we start with the same assumption as in the first example
(Customer is on Home P age = ).</p>
        <p>The results of the SMV model checker are shown in figure 3.</p>
        <p>Further examples for best practices / business rules are:
• Before a customer pays always a product presentation page is shown.
• There is no path which leads to an unintended loss of the content in the customer’s
shopping cart.
• The customer’s order may be identified in the different subsystems (ERP, logistic
system or e-commerce system).</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Consistency between Models on Different Levels of Abstraction</title>
        <p>
          There are no typical rules for the refinement of more abstract models (e.g. EPC models)
to more detailed ones (e.g. Pipelines or BPEL4WS). However, usually characteristic
sequences in abstract models should appear in detailed models. These characteristic
sequences may serve as specifications, which have to be verified. These sequences may
be considered as a rules which are then checked as demonstrated in section 3.2.
However up to now there is little research how to manage this kind of very specific rules
which are different for each application. The versioning approach for static features
like presented in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] may be starting point for future work.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Approaches</title>
      <p>
        In hardware verification there are a considerable number of model checking approaches.
The verification of software and specifically the dynamic processes is still at it’s very
beginning. An early example for software checking is Bandera, an integrated collection
of program analysis and transformation components [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which allows to validate Java
code to a certain extend (e.g. limited lines of code).
      </p>
      <p>
        Assuming the system is developed starting with manually produced state charts (as
realised in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], for instance) it is possible to translate programs and requirements
applying a generation technique. However, consistency problems arise if the model is
produced independently from the implementation.
      </p>
      <p>
        The validation of the behaviour of components is also related to this work since it
meets the problems in the lower abstraction levels. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] an approach called PACC is
presented. It allows component certification and documentation. The approach
considers enforcing predefined and designed interaction patterns. Another approach to model
and validate the dynamic activities of components may be found in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In this approach
model checking is explicitly applied in order to validate the behaviour of the
components and composites.
      </p>
      <p>
        Some approaches deal with the validation of workflows in general by applying
model checkers. An example for a workflow checking approach is [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Here web service
workflows are to be validated.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>The testing of large scale commercial systems such as e-commerce systems is currently
manually realised. Function hierarchies may be modelled in Boolean logic which are
automatically verified by theorem proofer or with term rewriting. The checking of
dynamic process models (e.g. against business rules) can be supported by temporal logic
and model checking techniques.</p>
      <p>Future work will be to improve the workflow models on the most detailed level.
Further semantic information has to be captured. Code characteristics of the Pipelets
will be included in the models.</p>
      <p>Another issue is the improvement of the model checking technology. Since the SMV
is quite optimal for the representation of hardware, the support of workflows and
software requires new verification systems to be invented. Specifically properties (e.g.
representing further semantics) and their hierarchical arrangement have to be dealt with.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Breitling</surname>
          </string-name>
          . Business Consulting,
          <source>Service Packages &amp; Benefits. Technical report, Intershop Customer Services, Jena</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>E.M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Heinle</surname>
          </string-name>
          .
          <article-title>Modular translation of statecharts to smv</article-title>
          .
          <source>Technical Report CMU-CS-00-XXX</source>
          , Department of Computer Science, CMU, Pittsburgh,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>K.</given-names>
            <surname>Fisler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Krishnamurthi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Batory</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>A Model Checking Framework for Layered Command and Control Software</article-title>
          .
          <source>In Proceedings of the Workshop on Engineering Automation for Software Intensive System Integration</source>
          ,
          <year>June 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>J.</given-names>
            <surname>Hatcliff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pasareanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. S.</given-names>
            <surname>Laubach</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Zheng</surname>
          </string-name>
          . Bandera:
          <article-title>Extracting Finite-state Models from Java Source Code</article-title>
          .
          <source>In Proceedings of the 22nd International Conference on Software Engineering</source>
          ,
          <year>June 2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>C.</given-names>
            <surname>Karamanolis</surname>
          </string-name>
          ,
          <string-name>
            <surname>Giannakopoulou D.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Magee</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Wheater</surname>
          </string-name>
          .
          <article-title>Model Checking of Workflow Schemas</article-title>
          . In
          <source>In Proc. of the 4th International Enterprise Distributed Object Computing Conference (EDOC'00)</source>
          .
          <source>IEEE Computer Society</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. G. Keller, M.
          <article-title>Nu¨ttgens and</article-title>
          <string-name>
            <given-names>A.-W.</given-names>
            <surname>Scheer</surname>
          </string-name>
          . Semantische Prozessmodellierung.
          <source>Technical report Nr</source>
          . 89,
          <string-name>
            <surname>Vero</surname>
          </string-name>
          <article-title>¨ffentlichungen des Instituts fu</article-title>
          ¨r Wirtschaftsinformatik,
          <source>Saarbru¨cken</source>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>K.</given-names>
            <surname>McMillan. Symbolic Model</surname>
          </string-name>
          <article-title>Checking</article-title>
          .
          <source>PhD Thesis</source>
          , CMU, Pittsburgh,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E.</given-names>
            <surname>Pulvermu</surname>
          </string-name>
          <article-title>¨ller, A. Speck, and</article-title>
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Coplien</surname>
          </string-name>
          .
          <article-title>A Version Model for Aspect Dependencies</article-title>
          .
          <source>In Proceedings of 2nd International Symposium of Generative and Component-based Software Engineering (GCSE</source>
          <year>2001</year>
          ), LNCS, Erfurt, Germany,
          <year>September 2001</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Speck</surname>
          </string-name>
          , E. Pulvermu¨ller, M. Jerger, and
          <string-name>
            <given-names>B.</given-names>
            <surname>Franczyk</surname>
          </string-name>
          . Component Composition Validation.
          <source>International Journal of Applied Mathematics and Computer Science</source>
          ,
          <volume>12</volume>
          (
          <issue>4</issue>
          ):
          <fpage>581</fpage>
          -
          <lpage>589</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>J.</given-names>
            <surname>Stafford</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Wallnau</surname>
          </string-name>
          .
          <article-title>Predicting Assembly from Certifiable Components</article-title>
          .
          <source>In Proceedings of the Workshop on Feature Interaction in Composed Systems, ECOOP 2001, Technical Report No. 2001-14, ISSN 1432-7864</source>
          . Universitaet Karlsruhe, June/September 2001.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>