environment.
XChor Language facilitates to create three
different models. Configuration interface models
cover variability specifications stated in (Nguyen et
al., 2011). Choreography model can specify twelve
service interaction patterns described in (Barros et
al., 2005).
The basic elements of XChor is shown under
three model to cope with variability in
choreography. Models are exemplified based on a
part of a real life case study, verification of a user in
adaptable security system.
Adaptable Security System is an authentication
system residing between customers and third party
applications or institutions that supports different
authentication types of data, including software and
hardware (biometric device) parts. The system has
the ability to be integrated and applied to a military
installation or to a banking system, which requires
fulfilling different stakeholder needs. Applicability
to different stakeholder systems requires different
functionality support and behaviour. User
verification can be done offline or online by a third
party authority such as web services or certain
devices like: PDA, PC, ATM, or mobile phone. The
third party authority gets different types of data as
required user credentials: (1) username and
password, (2) username and password with instant
mobile text, (3) e-sign, (4) biometric data;
fingerprint, finger vein, and/or iris. Then, according
to the online and offline verification result, the
system will allow or ban users entering the
integrated application.
Device support is important as different devices
have different capabilities. ATM, PDA and mobile
phone can be used with (1), (2) and (3). PC supports
(1), (2), (3) and (4). Therefore, the system should
change verification processing functions according
to used devices and parameters to be verified.
While modeling this system, user verification is
treated as a choreography utilizing other
choreographies and services. In the following
sections, (i) configuration interfaces for defining and
managing variability of choreographies and services,
(ii) interfaces of user verification choreography and
interrelated services, and (iii) user verification
choreography are depicted.
4.1 Configuration Interface
Configuration interface model covers service and
choreography variability specifications internally
and externally to depict possible abilities, to
configure others and to be configured by others. To
depict possible abilities; Choreography can specify
internal, external and configuration variation points,
whereas services can only depict external variation
points. The external ones are used to be configured
by choreographies and services. Capabilities to
configure its own interface or other services’
intefaces as activating/deactivating and
setting/unsetting parameters are also specified in this
model. Numerical or logical constraints among
variability specifications are depicted.
Different user authentication types such as
biometric authentication, supported authentication
modes (online and/or offline), transaction types (real
or fake transaction) are the system’s behaviours need
to be configured differently. Therefore, each is
treated as variability in configuration interface of
user verification choreography.
To enable authentication variability, both types
of authentication and parameters used in encryption
function are changed with regard to the usage of
biometrics or not. For this purpose a configuration
variation point named as “authentication_type” as
external and two internal variation points
“i_auth_type” and “i_encryption_parameters” are
defined. Binding of “authentication_type”
configures consistent bindings of “i_auth_type” and
“i_encryption_parameters”.
“i_auth_type” is specified with “internalVP”
keyword (line 5). “username_passw” is a mandatory
variant, whereas “onetimepassw” (line 9) and
“esign” (line 10) are optional in other words can be
selectable. At least one and at most two variants can
be selected among the following alternatives:
"fingerprint” (line 12), “fingervein” (line 13), “iris”
(line 14), and “face” (line 15). The binding time of
this variation point is runtime (line 17).
“authentication_type” is specified as external (line
26). The variation point has two optional variants
specified (lines 29-30); “userinfo” and “biometrics”.
“userinfo” variant is realized (line 33) by selection
of “defaultparams” variant of
“i_encryption_parameters” variation point.
For “biometrics”, the realization requires two
selections at the same time: (i) minimum one variant
among “fingerprint fingervein iris face” set should
be selected from “i_auth_type” variation point (line
35) and “setparams” variant of
“i_encryption_parameters” variation point (line 36).
Default variant of the “authentication_type”
configuration variation point is “userinfo” (line 37).
Configuration type is parameterization and it is
bound at development time represented as “devtime”
(line 39).
Third International Symposium on Business Modeling and Software Design
126