In our research, we begin with considering the HTN planning algorithm, but all these papers do not consider formal grammar approach application as a system for defining the syntax of a language by specifying the strings of symbols or sentences that are considered grammatical.
In our paper, we are going to present the idea of how the using of the formal grammar can solve the problem of web services composition in the context of virtual enterprise synthesis and may essentially decrease the number of web services possible combinations to be processed by algorithm
Virtual Enterprise Synthesis by HTN-Like Parsing Algorithm
1. VIRTUAL ENTERPRISE SYNTHESIS BY WEB SERVICES COMPOSITION
WITH HTN-LIKE PARSING ALGORITHM
Victor Romanov, Ekaterina Yudakova,
Svetlana Efimova, Alexandra Varfolomeeva
2015 SUMMER SIMULATION MULTI-CONFERENCE (SUMMERSIM’15)
JULY 26-29, 2015
PALMER HOUSE HILTON
CHICAGO, IL, USA
2. Virtual Enterprise as a Global Trend
• Almost everything we use today is produced by a virtual
enterprise composed of a number of companies.
• A virtual enterprise is a temporary alliance of cooperating
enterprises that acts as a single organization to share skills,
core competencies and resources in order to react quickly to
changes in the market conditions and become agile
enterprises. This collaboration is carried out using computer
networks and web services.
• Collaboration of small enterprises gives them the chance to
provide effective and individual customer service, which
they couldn’t provide separately. Moreover, they get access
to the bigger capital and various technologies due to
cooperation with large organizations. Large enterprises
serve customers faster and become more flexible.
3. Virtual Enterprise Structure
Activity_M
Business Partner_1
Business Partner_2
End User
Static Connection
Activity Type
Business
Process
Service Request
Service Response
DynamicConnection
Service Catalogue
(UDDI)
4. Web Services
Web Service is, therefore, any service that:
• Is available over the Internet or private (intranet)
networks
• Uses a standardized XML messaging system
• Is not tied to any one operating system or programming
language
• Is self-describing via a common XML grammar
• Is discoverable via a simple find mechanism
A web service enables communication among various
applications by using open standards such as HTML, XML,
WSDL, and SOAP.
5. Web Services Provision Model
Universal Service Registries
-Public UDDU
-Private UDDI
Web Service
Providers
Web Service
Consumers
Role Operation Data Flows Message
Call
Link
Search
Publish
Inform
ation
about services and
businesses (W
SDL links)
W
SDLlinks
W
ebServicesSearching
Criteria
WSDL link
WSDL file
SOAP request
SOAP response
6. Main Stages of Virtual Enterprise
Development
• Stage 1: Elaborating requirements to the system being
developed and its architecture.
• Stage 2: Translating the requirements into the formal
language. Ontologies are used to declare and describe
services.
• Stage 3: Designing the standardized description for
searching web services based on SOAP, WSDL, OWL-S.
• Stages 4-5: Publishing/finding web service descriptions in
the global UDDI registry. UDDI is an XML-based standard
for describing, publishing, and finding web services.
• Stage 6: Virtual enterprise composition of obtained
services.
7. Composition and Automated Planning
• The most of composition approaches are
based on the automated planning algorithms.
• The problem of automated planning is not
new, research in this domain are continuing
for more than 50 years (STRIPS, HTN
algorithms, automated planning languages
ADL, PDDL).
• The languages of planning are based on the
situation calculus, that is some extension of
the first order predicate calculus.
8. The Statement of the Planning Task
• Let L - be first order predicate language, f – sentence (formula) at L.
We will denote the set of all sentences by F. Let some subset of
sentences is describing the definite state of some object. So the state s
is just the set of sentences s ∈ 2 𝐹.
• Let we have initial state 𝑠0 and goal state 𝑠 𝑔. Then we have some set of
actions A. The action a ∈ A has a name a(ξ), precondition pre(a),
positive post condition add(a), and negative post condition del(a).
• Post condition defines the result of action execution and situation
change. Positive post condition adds new true sentence to the
situation description and the negative one deletes true sentence from
the situation description.
• Therefore action is a tuple of the next elements:{a(ξ), pre(a), add(a),
del(a)}.
• Let y be transition function from state s to state s’ as the result of
action a: s’=y(s,a).
• Then formal definition of the planning task is: find a sequence of
actions and states, such as 𝑠1 = 𝑦(𝑠0, 𝑎1 ), 𝑠2 = 𝑦(𝑠1, 𝑎2 ),… 𝑠 𝑛 =
𝑦(𝑠 𝑛−1, 𝑎 𝑛) and 𝑠 𝑛 = 𝑠 𝑔.
9. Values Assignment to the Parameters of
the Actions
• Web service description 𝑊𝑆𝐷𝑖 , obtained by user from UDDI
registry, is translated into a definition of the operator 𝐴𝑖, on
the base of an OWL-S Profile of the action
name (Ai ) = WSDiID.
}}{}{
11
n
k
ki
n
k
ki itionhasPrecondWSDhasInputWSD
pre(Ai)
}}{}{
11
n
k
ki
n
k
ki hasEffectWSDhasOutputWSD
add(Ai)
}}{
1
n
k
ki hasEffectWSD
del(Ai)
10. STRIPS and HTN Algorithms
STRIPS(A, s, g) *
p = empty plan
loop…
if s satisfies g then return p
a = [an applicable action in A, relevant for g]
if a = null, then return failure
p’ = STRIPS(A, s, precond(a))
if p’ = failure, then return failure
s = apply p’ to s
s = apply a to s
p = p + p’ + a
The HTN-algorithm differs from classical in that here besides from elementary
operators the group operators are created, named as tasks and by such way
hierarchical network of tasks is formed. This approach reminds us the theory of
formal grammars with its terminal and non terminal string and possibility of
decreasing search process by excluding the combination of symbols belonging to
the different categories.
*http://www.sharprobotica.com/2011/04/strips-for-classical-plan-representation-and-planning/
STRIPS for Classical Plan Representation and Planning
11. Representation of the Virtual Enterprise
Structure as a Parsing Tree
S
&
TR ST
&
TH FLTA
&
AC FACT
Å
lt lpt
Å
dt dpt
&
pc leb
ᵛ
sh SPex ci
ᵛ
su wsd
ᵛ
r bih
12. Terminal and Non-terminal Symbols of
the Travel Agency Formal Grammar
The atomic services (terminal symbols) are
introduced by lowercase letters:
• “lt” is for local taxi atomic service;
• “lpt” is for local public transport atomic
service;
• “dt” is for destination taxi atomic service;
• “dpt” is for destination public transport
atomic service;
• “pc” is for passport control atomic service;
• “sh” is for shopping atomic service;
• “ex” is for excursions atomic service;
• “d” is for diving atomic service;
• “ws” is for water sports atomic service;
• “ci” is for check-in atomic service;
• “r” is for restaurant atomic service;
• “bih” is for breakfast in the hotel atomic
service.
The composite services (nonterminal symbols)
are introduced by uppercase letters:
• “S” is for tour package composite services;
• “TR” is for transportation composite
services;
• “TA” is for transportation to the airport
composite services;
• “TH” is for transportation to the hotel
composite services;
• “FL” is for flight composite services;
• “ST” is for stay composite services;
• “F” is for food composite services;
• “AC” is for accommodation composite
services;
• “ACT” is for activity composite services;
• “SP” sport composite services;
13. Formal Grammar Rules for Travel Agency
Formal grammar for travel agency
can be described in the following
way:
•S → TR & ST
•TR → TA & TH & FL
•TA → lt Å lpt
•TH → dt Å dpt
•FL → pc & b & le
•ST → ACT & AC & F
•F → r bih
•AC → ci
•ACT → sh ex SP
•SP → su d ws
The connection signs are used in
the following meanings:
→ (imply) substitution
(inference) rule
& – (and) all symbols must enter
to concatenation.
Å – (xor) any one symbol may
enter to concatenation.
– (or) one or more symbols
may enter to concatenation.
14. HTN-like Algorithm of Web Services
Composition
1. The string of terminal symbols appears on the
input stack. The string begins and ends with the
sign“#”.
2. The stack is connected with recognizers of terminal
symbols and recognizers of nonterminal symbols.
3. The recognizers of terminal symbols associate with
terminal symbol (or sequence of terminal symbols)
with one of the finite number of the categories of
nonterminal symbols.
4. Every recognizer of terminal symbols has memory
in the form of the list of terminal symbols that
belong to the certain category. Every recognizer
compares a terminal symbol in the stack with
every terminal symbol stored in its list.
5. One or several symbols are read and recognized by
the recognizer according to grammar rules as right
part and replaced by left hand part in the stack for
subsequent analysis and recognition.
6. According to the type of recognizer (&, Å, ) it
looks for all, only one or several low level
components.
7. The algorithm ends when the upper-level symbol S
is reached.
15. TR is for transportation atomic and
composite services
“TA” is for transportation to the
airport composite services;
“TH” is for transportation to the
hotel composite services;
“FL” is for flight composite services;
“It” is for local taxi atomic service;
“lpt” is for local public transport
atomic service;
“dt” is for destination taxi atomic
service;
“dpt” is for destination public
transport atomic service;
“pc” is for passport control atomic
service;
“b” is for boarding atomic service;
“le” is for luggage examination
atomic service.
Left Part of the Parsing Tree of Virtual
Enterprise
TR
&
TH FLTA
Å
lt lpt
Å
dt dpt
&
pc leb
16. How The Bottom-up Recognizer
Accepts The Input String While Parsing
(#ˇit lpt dpt pc b le#)
(#itˇlpt dpt pc b le#) CURSOR SHIFT
(#TA lptˇdpt pc b le#) XOR REDUCE, 2
(#TAˇdpt pc b le#) XOR ABSORPTION,2
(#TA dptˇpc b le#) CURSOR SHIFT,3
(#TA THˇpc b le#) XOR REDUCE, 3
(#TA TH pcˇb le#) CURSOR SHIFT,4
(#TA TH pc b le#) CURSOR SHIFT,4
(#TA TH pc b leˇ#) CURSOR SHIFT,4
(#TA TH FLˇ#) AND REDUCE,4
(#TR#) AND REDUCE,1
STRING IS ACCEPTED,
SUBSYSTEM OF VE IS CREATED
THE INPUT STRING
1.TR →TA &TH & FL
2.TA → lt Å lpt
3.TH → dt Å dpt
4. FL → pc & b & le
TR
&
TH FLTA
Å
lt lpt
Å
dt dpt
&
pc leb
17. Conclusion
• The rapidly changing business environment dictates the need for
enterprises to change their structures, processes and systems with the
same speed in order to save clients and to remain competitive and
compliant to the world around. The virtual enterprises provide such
opportunity.
• The limited functionality offered by an atomic web service or stable set
of services provided by traditional EIS (Enterprise Information System)
providers cannot usually satisfy complex and rapidly changing customer
requirements and appropriately reflect complicated business processes
of virtual enterprises.
• As a great number of web services are available through the Internet,
EIS providers should consider the new dynamic approach for building
information systems based on web services composition in order to
avoid the loss of significant part of potential customers and to satisfy
the demand of different categories of users.
• Automated planning algorithms are important part of such synthesis.
• In this paper, we have suggested to apply the theory of the formal
grammar and the appropriate procedures as means of automated
planning support for web services composition.
19. VIRTUAL ENTERPRISE SYNTHESIS BY WEB SERVICES COMPOSITION
WITH HTN-LIKE PARSING ALGORITHM
Victor Romanov, Ekaterina Yudakova,
Svetlana Efimova, Alexandra Varfolomeeva
2015 SUMMER SIMULATION MULTI-CONFERENCE (SUMMERSIM’15)
JULY 26-29, 2015
PALMER HOUSE HILTON
CHICAGO, IL, USA
Editor's Notes
From one side nowadays users' queries are changing very fast. Considering this, creating a stable set of ERP services for provider implies the loss of significant part of potential users. Modern ERP structure should be dynamic for satisfying the demand of different categories of users. From the other side, a great number of services, as the elements for building ERP system are being developed and posted through the Internet.
There is a clear trend, that the modern manufacturing process does not be carried on by a single enterprise any more, rather every enterprise is just one node, that adds some value (a step in the manufacturing chain) to the entire production cycle of the virtual enterprise .
A virtual enterprise is a temporary alliance of cooperating enterprises that acts as a single organization to share skills, core competencies and resources in order to react quickly to changes in the market conditions and become agile enterprises. This collaboration is carried out using computer networks and web services.
Virtual enterprises serve customers faster and more flexible, because their interaction is based on an electronic selection of partners.
The problem of web services composition for virtual enterprise synthesis is becoming more and more popular today. The limited functionality offered by an atomic web service or stable set of services provided by traditional EIS (Enterprise Information System) providers cannot usually satisfy complex and rapidly changing customer requirements and appropriately reflect complicated business processes of virtual enterprises.
As a great number of web services are available through the Internet, EIS providers should consider the new dynamic approach for building information systems based on web services composition in order to avoid the loss of significant part of potential customers and to satisfy the demand of different categories of users.
Stage 1: First of all, it is necessary to answer some questions: for what the web service will be used? Who will use it? How it will be used? Thus, user elaborates requirements to the developed system and its architecture.
Stage 2: On the following step it is necessary to translate the received requirements of the formal language. Ontologies are used for this purpose. A standard ontology consists of a set of basic classes and properties. It is used to declare and describe services.
Stage 3: Further the set of requests for search of a web service is worked out. Several technologies, such as SOAP, WSDL, are being developed to provide a standard way of describing Web Services.
Stages 4-5: UDDI is an XML-based standard for describing, publishing, and finding web services. UDDI allows businesses to promote their services by publishing their description in the global registry.
Stage 6: Finally, we propose to use HTN planning to compose VE from obtained web-services. HTN planning is similar to classical planning in that each state is provided by a set of literals, and each action attracts state transition.
As well known from literature, trying to find a way from initial states to the goal states makes an intermediary plan as sequence of the states looking for precondition that makes possible application some action