| 4 |
About this document: |
About this document: |
| 5 |
|
|
| 6 |
This manual is for GNU BPEL2oWFN, version 2.0.1, a tool translating |
This manual is for GNU BPEL2oWFN, version 2.0.1, a tool translating |
| 7 |
a BPEL process into an open workflow net (oWFN), last updated 28 April |
a BPEL process into an open workflow net (oWFN), last updated 11 May |
| 8 |
2007. |
2007. |
| 9 |
|
|
| 10 |
Copyright (C) 2005, 2006, 2007 Niels Lohmann |
Copyright (C) 2005, 2006, 2007 Niels Lohmann |
| 39 |
2.1.1 Modes |
2.1.1 Modes |
| 40 |
2.1.2 Additional parameters |
2.1.2 Additional parameters |
| 41 |
2.1.3 Output formats |
2.1.3 Output formats |
| 42 |
2.2 Examples |
2.2 Exit Values |
| 43 |
|
2.3 Examples |
| 44 |
3 Warnings and Error Messages |
3 Warnings and Error Messages |
| 45 |
4 File Formats |
4 File Formats |
| 46 |
5 FAQ and Known Bugs |
5 FAQ and Known Bugs |
| 175 |
|
|
| 176 |
`1' |
`1' |
| 177 |
No debug information, but display warning and error messages. |
No debug information, but display warning and error messages. |
| 178 |
|
Furthermore, detailled information about syntax errors are |
| 179 |
|
displayed. |
| 180 |
|
|
| 181 |
`2' |
`2' |
| 182 |
All messages from `-d1'. Additionally, information about the |
All messages from `-d1'. Additionally, information about the |
| 436 |
When the parameter `-o' is used, a file with the suffix |
When the parameter `-o' is used, a file with the suffix |
| 437 |
`.xml' is created. |
`.xml' is created. |
| 438 |
|
|
| 439 |
2.2 Examples |
2.2 Exit Values |
| 440 |
|
=============== |
| 441 |
|
|
| 442 |
|
0 |
| 443 |
|
No error occurred. |
| 444 |
|
|
| 445 |
|
1 |
| 446 |
|
A critical error occured; that is, a fault was detected that makes |
| 447 |
|
further processing impossible. |
| 448 |
|
|
| 449 |
|
2 |
| 450 |
|
An input file could not be opened. |
| 451 |
|
|
| 452 |
|
3 |
| 453 |
|
A syntax error in the input BPEL occurred. The input file cannot be |
| 454 |
|
further processed. |
| 455 |
|
|
| 456 |
|
4 |
| 457 |
|
Any other error. |
| 458 |
|
|
| 459 |
|
2.3 Examples |
| 460 |
============ |
============ |
| 461 |
|
|
| 462 |
In this section we show some examples how BPEL2oWFN can be invoked. |
In this section we show some examples how BPEL2oWFN can be invoked. See |
| 463 |
|
*Note File Formats:: for more examples. |
| 464 |
|
|
| 465 |
`bpel2owfn -i sample.bpel -flola -finfo -o -p reduce' |
`bpel2owfn -i sample.bpel -flola -finfo -o -p reduce' |
| 466 |
Reads the file `sample.bpel', generates a structural reduced |
Reads the file `sample.bpel', generates a structural reduced |
| 535 |
`CubeManagement.bpel' and the line number `566' of the displayed issue. |
`CubeManagement.bpel' and the line number `566' of the displayed issue. |
| 536 |
The line number might be imprecise; that is, it might deviate up or |
The line number might be imprecise; that is, it might deviate up or |
| 537 |
down a few lines. After the line number, the error code is displayed. |
down a few lines. After the line number, the error code is displayed. |
| 538 |
`W00114' stands for a warning with code 114. Further details can be |
`W00114' stands for a warning with code 114. The detailed description of |
| 539 |
taken from the table below. |
the messages can be suppressed with option `-d0'. |
| 540 |
|
|
| 541 |
|
Further details can be taken from the table below. |
| 542 |
|
|
| 543 |
Code Type Description |
Code Type Description |
| 544 |
------------------------------------------------------------------------ |
--------------------------------------------------------------------------- |
| 545 |
6 static The `<rethrow>' activity MUST only be used within |
2 static A WS-BPEL processor MUST reject any WSDL portType |
| 546 |
analysis a faultHandler (i.e. `<catch>' and `<catchAll>' |
analysis definition that includes overloaded operation names.(1) |
| 547 |
elements).(1) |
3 static If the value of `exitOnStandardFault' of a `<scope>' |
| 548 |
|
analysis or `<process>' is set to `"yes"', then a fault handler |
| 549 |
|
that explicitly targets the WS-BPEL standard faults |
| 550 |
|
MUST NOT be used in that scope. |
| 551 |
|
6 static The `<rethrow>' activity MUST only be used within a |
| 552 |
|
analysis faultHandler (i.e. `<catch>' and `<catchAll>' |
| 553 |
|
elements). |
| 554 |
|
5 static If the `portType' attribute is included for |
| 555 |
|
analysis readability, in a `<receive>', `<reply>', `<invoke>', |
| 556 |
|
`<onEvent>' or `<onMessage>' element, the value of the |
| 557 |
|
`portType' attribute MUST match the `portType' value |
| 558 |
|
implied by the combination of the specified |
| 559 |
|
`partnerLink' and the role implicitly specified by the |
| 560 |
|
activity. |
| 561 |
7 static The `<compensateScope>' activity MUST only be used |
7 static The `<compensateScope>' activity MUST only be used |
| 562 |
analysis from within a `faultHandler', another |
analysis from within a `faultHandler', another |
| 563 |
`compensationHandler', or a `terminationHandler'. |
`compensationHandler', or a `terminationHandler'. |
| 573 |
17 static The `initializePartnerRole' attribute MUST NOT be |
17 static The `initializePartnerRole' attribute MUST NOT be |
| 574 |
analysis used on a partnerLink that does not have a partner |
analysis used on a partnerLink that does not have a partner |
| 575 |
role. |
role. |
| 576 |
18 static The name of a `partnerLink' MUST be unique among |
18 static The name of a `partnerLink' MUST be unique among the |
| 577 |
analysis the names of all partnerLinks defined within the |
analysis names of all partnerLinks defined within the same |
|
same immediately enclosing scope. |
|
|
23 static The name of a variable MUST be unique among the |
|
|
analysis names of all variables defined within the same |
|
| 578 |
immediately enclosing scope. |
immediately enclosing scope. |
| 579 |
|
23 static The name of a variable MUST be unique among the names |
| 580 |
|
analysis of all variables defined within the same immediately |
| 581 |
|
enclosing scope. |
| 582 |
24 static Variable names are `BPELVariableNames', that is, |
24 static Variable names are `BPELVariableNames', that is, |
| 583 |
analysis NCNames (as defined in XML Schema specification) |
analysis NCNames (as defined in XML Schema specification) but |
| 584 |
but in addition they MUST NOT contain the `.' |
in addition they MUST NOT contain the `.' character. |
| 585 |
character. |
25 static The `messageType', type or `element' attributes are |
| 586 |
25 static The `messageType', type or `element' attributes |
analysis used to specify the type of a variable. Exactly one of |
| 587 |
analysis are used to specify the type of a variable. Exactly |
these attributes MUST be used. |
| 588 |
one of these attributes MUST be used. |
32 static For `<assign>', the `<from>' and `<to>' element MUST |
| 589 |
44 static The name of a `<correlationSet>' MUST be unique |
analysis be one of the specified variants.(2) |
| 590 |
analysis among the names of all `<correlationSet>' defined |
35 static In the from-spec of the partnerLink variant of |
| 591 |
within the same immediately enclosing scope. |
analysis `<assign>' the value `"myRole"' for attribute |
| 592 |
51 static The `inputVariable' attribute MUST NOT be used on |
`endpointReference' is only permitted when the |
| 593 |
analysis an `Invoke' activity that contains `<toPart>' |
partnerLink specifies the attribute `myRole'. |
| 594 |
elements. |
36 static In the from-spec of the partnerLink variant of |
| 595 |
52 static The `outputVariable' attribute MUST NOT be used on |
analysis `<assign>' the value `"partnerRole"' for attribute |
| 596 |
analysis an `Invoke' activity that contains `<toPart>' |
`endpointReference' is only permitted when the |
| 597 |
elements. |
partnerLink specifies the attribute `partnerRole'. |
| 598 |
55 static For `<receive>', if `<fromPart>' elements are used |
37 static In the to-spec of the partnerLink variant of |
| 599 |
analysis on a `<receive>' activity then the variable |
analysis `<assign>' only partnerLinks are permitted which |
| 600 |
attribute MUST NOT be used on the same activity. |
specify the attribute `partnerRole'. |
| 601 |
|
44 static The name of a `<correlationSet>' MUST be unique among |
| 602 |
|
analysis the names of all `<correlationSet>' defined within the |
| 603 |
|
same immediately enclosing scope. |
| 604 |
|
51 static The `inputVariable' attribute MUST NOT be used on an |
| 605 |
|
analysis `Invoke' activity that contains `<toPart>' elements. |
| 606 |
|
52 static The `outputVariable' attribute MUST NOT be used on an |
| 607 |
|
analysis `Invoke' activity that contains `<toPart>' elements. |
| 608 |
|
55 static For `<receive>', if `<fromPart>' elements are used on |
| 609 |
|
analysis a `<receive>' activity then the variable attribute |
| 610 |
|
MUST NOT be used on the same activity. |
| 611 |
56 static A "start activity" is a `<receive>' or `<pick>' |
56 static A "start activity" is a `<receive>' or `<pick>' |
| 612 |
analysis activity that is annotated with a |
analysis activity that is annotated with a |
| 613 |
`createInstance="yes"' attribute. Activities other |
`createInstance="yes"' attribute. Activities other than |
| 614 |
than the following: start activities, `<scope>', |
the following: start activities, `<scope>', `<flow>' |
| 615 |
`<flow>' and `<sequence>' MUST NOT be performed |
and `<sequence>' MUST NOT be performed prior to or |
| 616 |
prior to or simultaneously with start activities. |
simultaneously with start activities. |
| 617 |
57 static If a process has multiple start activities with |
57 static If a process has multiple start activities with |
| 618 |
analysis correlation sets then all such activities MUST |
analysis correlation sets then all such activities MUST share |
| 619 |
share at least one common correlationSet and all |
at least one common correlationSet and all common |
| 620 |
common correlationSets defined on all the |
correlationSets defined on all the activities MUST |
| 621 |
activities MUST have the value of the `initiate' |
have the value of the `initiate' attribute be set to |
| 622 |
attribute be set to `"join"'. |
`"join"'. |
| 623 |
59 static For `<reply>', if `<toPart>' elements are used on |
59 static For `<reply>', if `<toPart>' elements are used on a |
| 624 |
analysis a `<reply>' activity then the `variable' attribute |
analysis `<reply>' activity then the `variable' attribute MUST |
| 625 |
MUST NOT be used on the same activity. |
NOT be used on the same activity. |
| 626 |
62 static If `<pick>' has a `createInstance' attribute with |
62 static If `<pick>' has a `createInstance' attribute with a |
| 627 |
analysis a value of `yes', the events in the `<pick>' MUST |
analysis value of `yes', the events in the `<pick>' MUST all be |
| 628 |
all be `<onMessage>' events. |
`<onMessage>' events. |
| 629 |
63 static The semantics of the `<onMessage>' event are |
63 static The semantics of the `<onMessage>' event are |
| 630 |
analysis identical to a `<receive>' activity regarding the |
analysis identical to a `<receive>' activity regarding the |
| 631 |
optional nature of the `variable' attribute or |
optional nature of the `variable' attribute or |
| 632 |
`<fromPart>' elements, if `<fromPart>' elements on |
`<fromPart>' elements, if `<fromPart>' elements on an |
| 633 |
an activity then the variable attribute MUST NOT be |
activity then the variable attribute MUST NOT be used |
| 634 |
used on the same activity (see SA00055). |
on the same activity (see SA00055). |
| 635 |
64 static For `<flow>', a declared link's name MUST be |
64 static For `<flow>', a declared link's name MUST be unique |
| 636 |
analysis unique among all `<link>' names defined within the |
analysis among all `<link>' names defined within the same |
| 637 |
same immediately enclosing `<flow>'. |
immediately enclosing `<flow>'. |
| 638 |
65 static The value of the `linkName' attribute of |
65 static The value of the `linkName' attribute of `<source>' or |
| 639 |
analysis `<source>' or `<target>' MUST be the name of a |
analysis `<target>' MUST be the name of a `<link>' declared in |
| 640 |
`<link>' declared in an enclosing `<flow>' activity. |
an enclosing `<flow>' activity. |
| 641 |
66 static Every link declared within a `<flow>' activity |
66 static Every link declared within a `<flow>' activity MUST |
| 642 |
analysis MUST have exactly one activity within the `<flow>' |
analysis have exactly one activity within the `<flow>' as its |
| 643 |
as its source and exactly one activity within the |
source and exactly one activity within the `<flow>' as |
| 644 |
`<flow>' as its target. |
its target. |
| 645 |
67 static Two different links MUST NOT share the same source |
67 static Two different links MUST NOT share the same source |
| 646 |
analysis and target activities; that is, at most one link |
analysis and target activities; that is, at most one link may |
| 647 |
may be used to connect two activities. |
be used to connect two activities. |
| 648 |
68 static An activity MAY declare itself to be the source of |
68 static An activity MAY declare itself to be the source of |
| 649 |
analysis one or more links by including one or more |
analysis one or more links by including one or more `<source>' |
| 650 |
`<source>' elements. Each `<source>' element MUST |
elements. Each `<source>' element MUST use a distinct |
| 651 |
use a distinct link name. |
link name. |
| 652 |
69 static An activity MAY declare itself to be the target of |
69 static An activity MAY declare itself to be the target of |
| 653 |
analysis one or more links by including one or more |
analysis one or more links by including one or more `<target>' |
| 654 |
`<target>' elements. Each `<target>' element |
elements. Each `<target>' element associated with a |
| 655 |
associated with a given activity MUST use a link |
given activity MUST use a link name distinct from all |
| 656 |
name distinct from all other `<target>' elements at |
other `<target>' elements at that activity. |
|
that activity. |
|
| 657 |
70 static A link MUST NOT cross the boundary of a repeatable |
70 static A link MUST NOT cross the boundary of a repeatable |
| 658 |
analysis construct or the `<compensationHandler>' element. |
analysis construct or the `<compensationHandler>' element. This |
| 659 |
This means, a link used within a repeatable |
means, a link used within a repeatable construct |
| 660 |
construct (`<while>', `<repeatUntil>', `<forEach>', |
(`<while>', `<repeatUntil>', `<forEach>', |
| 661 |
`<eventHandlers>') or a `<compensationHandler>' |
`<eventHandlers>') or a `<compensationHandler>' MUST |
| 662 |
MUST be declared in a `<flow>' that is itself |
be declared in a `<flow>' that is itself nested inside |
| 663 |
nested inside the repeatable construct or |
the repeatable construct or `<compensationHandler>'. |
|
`<compensationHandler>'. |
|
| 664 |
71 static A link that crosses a `<catch>', `<catchAll>' or |
71 static A link that crosses a `<catch>', `<catchAll>' or |
| 665 |
analysis `<terminationHandler>' element boundary MUST be |
analysis `<terminationHandler>' element boundary MUST be |
| 666 |
outbound only, that is, it MUST have its source |
outbound only, that is, it MUST have its source |
| 667 |
activity within the `<faultHandlers>' or |
activity within the `<faultHandlers>' or |
| 668 |
`<terminationHandler>', and its target activity |
`<terminationHandler>', and its target activity |
| 669 |
outside of the scope associated with the handler. |
outside of the scope associated with the handler. |
| 670 |
72 static A `<link>' declared in a `<flow>' MUST NOT create |
72 static A `<link>' declared in a `<flow>' MUST NOT create a |
| 671 |
analysis a control cycle, that is, the source activity must |
analysis control cycle, that is, the source activity must not |
| 672 |
not have the target activity as a logically |
have the target activity as a logically preceding |
| 673 |
preceding activity.(2) |
activity.(3) |
| 674 |
73 static The expression for a join condition MUST be |
73 static The expression for a join condition MUST be |
| 675 |
analysis constructed using only Boolean operators and the |
analysis constructed using only Boolean operators and the |
| 676 |
activity's incoming links' status values. |
activity's incoming links' status values. |
| 677 |
74 static The expressions in `<startCounterValue>' and |
74 static The expressions in `<startCounterValue>' and |
| 678 |
analysis `<finalCounterValue>' MUST return a TII (meaning |
analysis `<finalCounterValue>' MUST return a TII (meaning they |
| 679 |
they contain at least one character) that can be |
contain at least one character) that can be validated |
| 680 |
validated as a `xsd:unsignedInt'. Static analysis |
as a `xsd:unsignedInt'. Static analysis MAY be used to |
| 681 |
MAY be used to detect this erroneous situation at |
detect this erroneous situation at design time when |
| 682 |
design time when possible (for example, when the |
possible (for example, when the expression is a |
|
expression is a constant). |
|
|
75 static For the `<forEach>' activity, `<branches>' is an |
|
|
analysis integer value expression. Static analysis MAY be |
|
|
used to detect if the integer value is larger than |
|
|
the number of directly enclosed activities of |
|
|
`<forEach>' at design time when possible (for |
|
|
example, when the branches expression is a |
|
| 683 |
constant). |
constant). |
| 684 |
76 static For `<forEach>' the enclosed scope MUST NOT |
75 static For the `<forEach>' activity, `<branches>' is an |
| 685 |
analysis declare a variable with the same name as specified |
analysis integer value expression. Static analysis MAY be used |
| 686 |
in the `counterName' attribute of `<forEach>'. |
to detect if the integer value is larger than the |
| 687 |
|
number of directly enclosed activities of `<forEach>' |
| 688 |
|
at design time when possible (for example, when the |
| 689 |
|
branches expression is a constant). |
| 690 |
|
76 static For `<forEach>' the enclosed scope MUST NOT declare a |
| 691 |
|
analysis variable with the same name as specified in the |
| 692 |
|
`counterName' attribute of `<forEach>'. |
| 693 |
77 static The value of the `target' attribute on a |
77 static The value of the `target' attribute on a |
| 694 |
analysis `<compensateScope>' activity MUST refer to the name |
analysis `<compensateScope>' activity MUST refer to the name of |
| 695 |
of an immediately enclosed `scope' of the `scope' |
an immediately enclosed `scope' of the `scope' |
| 696 |
containing the FCT-handler with the |
containing the FCT-handler with the `<compensateScope>' |
| 697 |
`<compensateScope>' activity. This includes |
activity. This includes immediately enclosed scopes of |
| 698 |
immediately enclosed scopes of an event handler |
an event handler (`<onEvent>' or `<onAlarm>') |
| 699 |
(`<onEvent>' or `<onAlarm>') associated with the |
associated with the same `scope'. |
|
same `scope'. |
|
| 700 |
78 static The `target' attribute of a `<compensateScope>' |
78 static The `target' attribute of a `<compensateScope>' |
| 701 |
analysis activity MUST refer to a `scope' or an `invoke' |
analysis activity MUST refer to a `scope' or an `invoke' |
| 702 |
activity with a fault handler or compensation |
activity with a fault handler or compensation handler. |
| 703 |
handler. |
79 static The root `scope' inside a FCT-handler MUST not have a |
| 704 |
79 static The root `scope' inside a FCT-handler MUST not |
analysis compensation handler. |
| 705 |
analysis have a compensation handler. |
80 static There MUST be at least one `<catch>' or `<catchAll>' |
| 706 |
80 static There MUST be at least one `<catch>' or |
analysis element within a `<faultHandlers>' element. |
| 707 |
analysis `<catchAll>' element within a `<faultHandlers>' |
81 static For the `<catch>' construct; to have a defined type |
| 708 |
element. |
analysis associated with the fault variable, the |
| 709 |
81 static For the `<catch>' construct; to have a defined |
`faultVariable' attribute MUST only be used if either |
| 710 |
analysis type associated with the fault variable, the |
the `faultMessageType' or `faultElement' attributes, |
| 711 |
`faultVariable' attribute MUST only be used if |
but not both, accompany it. The `faultMessageType' and |
| 712 |
either the `faultMessageType' or `faultElement' |
`faultElement' attributes MUST NOT be used unless |
| 713 |
attributes, but not both, accompany it. The |
accompanied by `faultVariable' attribute. |
| 714 |
`faultMessageType' and `faultElement' attributes |
82 static The peer-scope dependency relation MUST NOT include |
| 715 |
MUST NOT be used unless accompanied by |
analysis cycles. In other words, WS-BPEL forbids a process in |
| 716 |
`faultVariable' attribute. |
which there are peer scopes S1 and S2 such that S1 has |
| 717 |
82 static The peer-scope dependency relation MUST NOT |
a peer-scope dependency on S2 and S2 has a peer-scope |
| 718 |
analysis include cycles. In other words, WS-BPEL forbids a |
dependency on S1.(4) |
|
process in which there are peer scopes S1 and S2 |
|
|
such that S1 has a peer-scope dependency on S2 and |
|
|
S2 has a peer-scope dependency on S1.(3) |
|
| 719 |
83 static An event handler MUST contain at least one |
83 static An event handler MUST contain at least one |
| 720 |
analysis `<onEvent>' or `<onAlarm>' element. |
analysis `<onEvent>' or `<onAlarm>' element. |
| 721 |
84 static The `partnerLink' reference of `<onEvent>' MUST |
84 static The `partnerLink' reference of `<onEvent>' MUST |
| 722 |
analysis resolve to a partner link declared in the process |
analysis resolve to a partner link declared in the process in |
| 723 |
in the following order: the associated scope first |
the following order: the associated scope first and |
| 724 |
and then the ancestor scopes. |
then the ancestor scopes. |
| 725 |
88 static For `<onEvent>', the resolution order of the |
88 static For `<onEvent>', the resolution order of the |
| 726 |
analysis `correlation set'(s) referenced by `<correlation>' |
analysis `correlation set'(s) referenced by `<correlation>' |
| 727 |
MUST be first the associated scope and then the |
MUST be first the associated scope and then the |
| 728 |
ancestor scopes. |
ancestor scopes. |
| 729 |
91 static A scope with the `isolated' attribute set to |
91 static A scope with the `isolated' attribute set to `"yes"' |
| 730 |
analysis `"yes"' is called an isolated scope. Isolated |
analysis is called an isolated scope. Isolated scopes MUST NOT |
| 731 |
scopes MUST NOT contain other isolated scopes. |
contain other isolated scopes. |
| 732 |
92 static Within a scope, the name of all named immediately |
92 static Within a scope, the name of all named immediately |
| 733 |
analysis enclosed scopes MUST be unique. |
analysis enclosed scopes MUST be unique. |
| 734 |
93 static Identical `<catch>' constructs MUST NOT exist |
93 static Identical `<catch>' constructs MUST NOT exist within a |
| 735 |
analysis within a `<faultHandlers>' element. |
analysis `<faultHandlers>' element. |
| 736 |
100 notice Either a non-standard element(4) was parsed or a |
100 notice Either a non-standard element(5) was parsed or a BPEL |
| 737 |
BPEL activity was considered as misplaced. In the |
activity was considered as misplaced. In the first |
| 738 |
first case, a non-standard element was parsed when |
case, a non-standard element was parsed when the |
| 739 |
the parser expected a BPEL standard activity. Then, |
parser expected a BPEL standard activity. Then, a |
| 740 |
a syntax error is printed and the whole element is |
syntax error is printed and the whole element is |
| 741 |
ignored. The parse error and this message can |
ignored. The parse error and this message can usually |
| 742 |
usually be ignored, as non-standard elements would |
be ignored, as non-standard elements would neither we |
| 743 |
neither we translated to a Petri net model nor are |
translated to a Petri net model nor are constrained by |
| 744 |
constrained by the WS-BPEL specification. |
the WS-BPEL specification. |
| 745 |
|
|
| 746 |
In the second case, a syntactically correct BPEL |
In the second case, a syntactically correct BPEL was |
| 747 |
was skipped, because it was misplaced. As an |
skipped, because it was misplaced. As an example, |
| 748 |
example, consider two activities embedded in a |
consider two activities embedded in a `<while>' |
| 749 |
`<while>' activity without an enclosing `<sequence>' |
activity without an enclosing `<sequence>' activity. |
| 750 |
activity. In this case, the second activity |
In this case, the second activity triggers this |
| 751 |
triggers this message. |
message. |
| 752 |
101 notice The `<partners>' construct (only supported by |
101 notice The `<partners>' construct (only supported by BPEL4WS |
| 753 |
BPEL4WS 1.1) is skipped due to a syntax error. |
1.1) is skipped due to a syntax error. |
| 754 |
102 notice The `<to>' or `<from>' construct is skipped due to |
102 notice The `<to>' or `<from>' construct is skipped due to a |
| 755 |
a syntax error. |
syntax error. |
| 756 |
103 notice The `<condition>' construct is skipped due to a |
103 notice The `<condition>' construct is skipped due to a |
| 757 |
syntax error. |
syntax error. |
| 758 |
104 critical When a syntax error occurs, BPEL2oWFN tries to |
104 critical When a syntax error occurs, BPEL2oWFN tries to |
| 760 |
skipping the faulty or unknown element. Sometimes, |
skipping the faulty or unknown element. Sometimes, |
| 761 |
however, the skipping of activities yields to |
however, the skipping of activities yields to |
| 762 |
situations where a further analysis of the BPEL |
situations where a further analysis of the BPEL |
| 763 |
process is impossible. In this case, the syntax of |
process is impossible. In this case, the syntax of the |
| 764 |
the process has to be fixed or non-standard |
process has to be fixed or non-standard elements have |
| 765 |
elements have to be removed or out-commented. |
to be removed or out-commented. |
| 766 |
105 notice When a syntax error occurs, BPEL2oWFN tries to |
105 notice When a syntax error occurs, BPEL2oWFN tries to |
| 767 |
recover and continues parsing the input file after |
recover and continues parsing the input file after |
| 768 |
skipping the faulty or unknown element. If it is |
skipping the faulty or unknown element. If it is |
| 769 |
possible to continue, the analysis results might be |
possible to continue, the analysis results might be |
| 770 |
faulty. In this case, the syntax of the process has |
faulty. In this case, the syntax of the process has to |
| 771 |
to be fixed or non-standard elements have to be |
be fixed or non-standard elements have to be removed or |
| 772 |
removed or out-commented. |
out-commented. |
| 773 |
106 warning CFG analysis detected two receiving activities |
106 warning CFG analysis detected two receiving activities (i.e., |
| 774 |
(i.e., `<receive>', `<onEvent>', `<onMessage>', |
`<receive>', `<onEvent>', `<onMessage>', synchronous |
| 775 |
synchronous `<invoke>') that might be activated |
`<invoke>') that might be activated concurrently and |
| 776 |
concurrently and share the same partner link, port |
share the same partner link, port type, operation, and |
| 777 |
type, operation, and correlation set. When a |
correlation set. When a message is sent to the |
| 778 |
message is sent to the process, these activities |
process, these activities are in conflict; that is, it |
| 779 |
are in conflict; that is, it is not defined which |
is not defined which activity will receive an inbound |
| 780 |
activity will receive an inbound message. At |
message. At runtime, the standard fault |
| 781 |
runtime, the standard fault |
`bpel:conflictingReceive' would be thrown.(6) |
| 782 |
`bpel:conflictingReceive' would be thrown.(5) |
107 warning A mandatory attribute of an activity was not defined. |
| 783 |
107 warning A mandatory attribute of an activity was not |
Especially for communicating activities, the absence |
| 784 |
defined. Especially for communicating activities, |
of `partnerLink' and `operation' might hamper the |
| 785 |
the absence of `partnerLink' and `operation' might |
subsequent analysis and Petri net generation. |
|
hamper the subsequent analysis and Petri net |
|
|
generation. |
|
| 786 |
108 syntax An attribute was set to a value that violates the |
108 syntax An attribute was set to a value that violates the |
| 787 |
attribute's given type. Only the types `tBoolean', |
attribute's given type. Only the types `tBoolean', |
| 788 |
`tInitiate', `tRoles', and `tPattern' are checked. |
`tInitiate', `tRoles', and `tPattern' are checked. |
| 789 |
109 warning A variable referenced in an activity was not |
109 warning A variable referenced in an activity was not defined |
| 790 |
defined before; that is, no matching `<variable>' |
before; that is, no matching `<variable>' definition |
| 791 |
definition was found in a parent scope. |
was found in a parent scope. |
| 792 |
110 warning A partner link referenced in an activity was not |
110 warning A partner link referenced in an activity was not |
| 793 |
|
defined before; that is, no matching `<partnerLink>' |
| 794 |
|
definition was found in the process. |
| 795 |
|
111 warning A correlation set referenced in an activity was not |
| 796 |
defined before; that is, no matching |
defined before; that is, no matching |
|
`<partnerLink>' definition was found in the process. |
|
|
111 warning A correlation set referenced in an activity was |
|
|
not defined before; that is, no matching |
|
| 797 |
`<correlationSet>' definition was found in a parent |
`<correlationSet>' definition was found in a parent |
| 798 |
scope. |
scope. |
| 799 |
112 notice The `<literal>' construct is skipped due to a |
112 notice The `<literal>' construct is skipped due to a syntax |
| 800 |
syntax error. |
error. |
| 801 |
113 syntax A UTF-8 character was read in the input file. As |
113 syntax A UTF-8 character was read in the input file. As |
| 802 |
BPEL2oWFN's scanner does not support Unicode, all |
BPEL2oWFN's scanner does not support Unicode, all |
| 803 |
UTF-8 characters are ignored. This message is only |
UTF-8 characters are ignored. This message is only |
| 804 |
displayed when the first UTF-8 character is read. |
displayed when the first UTF-8 character is read. |
| 805 |
114 warning CFG analysis detected a read access to a variable |
114 warning CFG analysis detected a read access to a variable |
| 806 |
that was not initialized before. At runtime, the |
that was not initialized before. At runtime, the |
| 807 |
standard fault `bpel:uninitializedVariable' would |
standard fault `bpel:uninitializedVariable' would be |
| 808 |
be thrown.(6) |
thrown.(7) |
| 809 |
115 notice The process definition defines an abstract process |
115 notice The process definition defines an abstract process |
| 810 |
profile, and thus allows several "opaque" |
profile, and thus allows several "opaque" constructs. |
| 811 |
constructs. When processing and analyzing an |
When processing and analyzing an abstract process, |
| 812 |
abstract process, BPEL2oWFN might report error |
BPEL2oWFN might report error messages that where |
| 813 |
messages that where designed for executable |
designed for executable processes, for example missing |
| 814 |
processes, for example missing attributes. Static |
attributes. Static analysis errors detected in an |
| 815 |
analysis errors detected in an abstract process are |
abstract process are reported as warnings. |
| 816 |
reported as warnings. |
116 notice An `<opaqueActivity>' of an abstract process is |
| 817 |
116 notice An `<opaqueActivity>' of an abstract process was |
modeled by an `<empty>' activity. |
|
replaced by an `<empty>' activity. |
|
| 818 |
117 notice When using the parameter `communicationonly', the |
117 notice When using the parameter `communicationonly', the |
| 819 |
occurrence of join failures is not modeled. Thus, |
occurrence of join failures is not modeled. Thus, any |
| 820 |
any activity is treated as if the attribute |
activity is treated as if the attribute |
| 821 |
`suppressJoinFailure' is set to `yes'.(7) |
`suppressJoinFailure' is set to `yes'.(8) |
| 822 |
118 notice A user-defined transition condition is ignored and |
118 notice A user-defined transition condition is ignored and |
| 823 |
modeled as "n-out-of-n" (`true') instead. |
modeled as "n-out-of-n" (`true') instead. |
| 824 |
119 notice A user-defined transition condition is ignored and |
119 notice A user-defined transition condition is ignored and |
| 825 |
modeled as "1-out-of-n" (XOR) instead. |
modeled as "1-out-of-n" (XOR) instead. |
| 826 |
120 notice When using the parameter `communicationonly', the |
120 notice When using the parameter `communicationonly', the FTC |
| 827 |
FTC (fault, termination, and compensation) handlers |
(fault, termination, and compensation) handlers are |
| 828 |
are not modeled. |
not modeled. |
| 829 |
121 notice When using the parameter `communicationonly', |
121 notice When using the parameter `communicationonly', |
| 830 |
activities of the negative control flow (`<exit>', |
activities of the negative control flow (`<exit>', |
| 831 |
`<throw>', `<compensate>', and `<compensateScope>') |
`<throw>', `<compensate>', and `<compensateScope>') |
| 832 |
are replaced by an `<empty>' activity. |
are replaced by an `<empty>' activity. |
| 833 |
|
122 notice A syntax error in the BPEL4Chor chorography file |
| 834 |
|
occurred. |
| 835 |
|
123 notice A syntax error in the WSDL input file occurred. |
| 836 |
|
124 notice An XML Schema element nested in a WSDL <types> |
| 837 |
|
element was ignored. This is usually no problem, as |
| 838 |
|
WSDL `<types>' are not evaluated in subsequent analysis |
| 839 |
|
or translation. |
| 840 |
|
125 notice A variable property element was ignored while parsing |
| 841 |
|
the input WSDL file. |
| 842 |
|
126 warning A WSDL `<message>' referenced in a WSDL `<operation>' |
| 843 |
|
was not found. |
| 844 |
|
127 warning A WSDL `<portType>' referenced in a WSDL `<role>' was |
| 845 |
|
not found. |
| 846 |
|
128 warning A WSDL `<operation>' referenced in a BPEL activity |
| 847 |
|
was not specified in the input WSDL file. |
| 848 |
|
129 warning A WSDL `<role>' of a `partnerLinkType' referenced by |
| 849 |
|
a `<partnerLink>' was not defined in the specified |
| 850 |
|
`<partnerLinkType>' in the input WSDL file. |
| 851 |
|
130 warning A WSDL `<partnerLinkType>' referenced by a |
| 852 |
|
`<partnerLink>' was not specified in the input WSDL |
| 853 |
|
file. |
| 854 |
|
131 error An activity has neither a `name' or `id' attribute |
| 855 |
|
and thus can not be linked with a BPEL4Chor |
| 856 |
|
`<messageLink>'. |
| 857 |
|
132 error An activity has neither could not be linked with a |
| 858 |
|
BPEL4Chor `<messageLink>' using the activity's `name' |
| 859 |
|
or `id' attribute. |
| 860 |
|
133 notice An `<extensionActivity>' is replaced by an |
| 861 |
|
`<opaqueActivity>' (cf. notice 116). |
| 862 |
|
134 warning A BPEL4Chor `<participantType>' was defined twice. |
| 863 |
|
135 warning The `<participantType>' referenced by a BPEL4Chor |
| 864 |
|
`<participant>' was not found. |
| 865 |
|
136 error The value of a `<forEach>''s attribute `id' or `name' |
| 866 |
|
does not reference a BPEL4Chor `<participant>' or |
| 867 |
|
`<participantSet>'. Thus, the `<forEach>' activity is |
| 868 |
|
not grounded to the BPEL4Chor topology. |
| 869 |
|
137 error In a BPEL4Chor topology, no XML namespace was defined |
| 870 |
|
for a `<participant>'. In a WS-BPEL file, the |
| 871 |
|
attribute `targetNamespace' could not to be grounded |
| 872 |
|
to a BPEL4Chor `<participant>'. |
| 873 |
|
|
| 874 |
---------- Footnotes ---------- |
---------- Footnotes ---------- |
| 875 |
|
|
| 876 |
(1) The descriptions for static analysis messages are taken from |
(1) The descriptions for static analysis messages are taken from |
| 877 |
Appendix B of the WS-BPEL specification. |
Appendix B of the WS-BPEL specification. |
| 878 |
|
|
| 879 |
(2) This fault can only be detected in mode mode `cfg'. |
(2) The specification describes all allowed combinations of elements |
| 880 |
|
and attributes in from- and to-specifications. |
| 881 |
|
|
| 882 |
(3) This fault can only be detected in mode mode `cfg'. |
(3) This fault can only be detected in mode mode `cfg'. |
| 883 |
|
|
| 884 |
(4) All elements that are not explicitly defined in the WS-BPEL |
(4) This fault can only be detected in mode mode `cfg'. |
| 885 |
|
|
| 886 |
|
(5) All elements that are not explicitly defined in the WS-BPEL |
| 887 |
specification (e.g., elements from other namespaces) are considered as |
specification (e.g., elements from other namespaces) are considered as |
| 888 |
"non-standard". |
"non-standard". |
| 889 |
|
|
|
(5) This fault can only be detected in mode mode `cfg'. |
|
|
|
|
| 890 |
(6) This fault can only be detected in mode mode `cfg'. |
(6) This fault can only be detected in mode mode `cfg'. |
| 891 |
|
|
| 892 |
(7) If the attribute `suppressJoinFailure' is not explicitly defined |
(7) This fault can only be detected in mode mode `cfg'. |
| 893 |
|
|
| 894 |
|
(8) If the attribute `suppressJoinFailure' is not explicitly defined |
| 895 |
for an activity, the value is inherited by the parent activity. |
for an activity, the value is inherited by the parent activity. |
| 896 |
|
|
| 897 |
4 File Formats |
4 File Formats |
| 924 |
|
|
| 925 |
|
|
| 926 |
============================================================================== |
============================================================================== |
| 927 |
GNU BPEL2oWFN 2.0.0 reading from file `example.bpel' |
GNU BPEL2oWFN 2.0.1 reading from file `example.bpel' |
| 928 |
------------------------------------------------------------------------------ |
------------------------------------------------------------------------------ |
| 929 |
------------------------------------------------------------------------------ |
------------------------------------------------------------------------------ |
| 930 |
3 activities (2 basic, 1 structured, 0 scopes) + 3 implicit activities |
3 activities (2 basic, 1 structured, 0 scopes) + 3 implicit activities |
| 1089 |
|
|
| 1090 |
|
|
| 1091 |
{ |
{ |
| 1092 |
generated by: BPEL2oWFN 2.0.0 |
generated by: BPEL2oWFN 2.0.1 |
| 1093 |
input file: `example.bpel' (process `exampleprocess') |
input file: `example.bpel' (process `exampleprocess') |
| 1094 |
invocation: `bpel2owfn -i example.bpel -m petrinet -p communicationonly -f owfn' |
invocation: `bpel2owfn -i example.bpel -m petrinet -p communicationonly -f owfn' |
| 1095 |
net size: |P|=5, |P_in|= 1, |P_out|= 1, |T|=2, |F|=6 |
net size: |P|=5, |P_in|= 1, |P_out|= 1, |T|=2, |F|=6 |
| 1151 |
it allows to process BPEL4WS 1.1, WS-BPEL 2.0, and to some extend |
it allows to process BPEL4WS 1.1, WS-BPEL 2.0, and to some extend |
| 1152 |
BPEL4WS 1.0 processes. |
BPEL4WS 1.0 processes. |
| 1153 |
|
|
| 1154 |
However, the parser does not support XML namspaces. To this end, |
However, the parser does not support XML namespaces. BPEL2oWFN will |
| 1155 |
BPEL constructs are only recognized if the are either unprefixed |
ignore namespace prefixes and skip all elements that are not |
| 1156 |
or using the prefix `bpws:'. Any other elements are skipped by the |
explicitly covered by the WS-BPEL 2.0, BPEL4WS 1.2 or WSDL 1.1 |
| 1157 |
parser of BPEL2oWFN. Nevertheless, processes that use such |
specification, respectively. Nevertheless, skipping elements are |
| 1158 |
elements might be rejected with a syntax error message (cf. |
reported as syntax error message (cf. warning message [W00104]). |
|
warning message [W00104]). |
|
| 1159 |
|
|
| 1160 |
As a solution, try removing or commenting non-standard elements, |
As a solution, try removing or commenting non-standard elements. |
|
and remove any namespace prefixed from BPEL elements. |
|
| 1161 |
|
|
| 1162 |
* I validated my process using an XML validator. Why does BPEL2oWFN |
* I validated my process using an XML validator. Why does BPEL2oWFN |
| 1163 |
still reports syntax errors? |
still reports syntax errors? |
| 1164 |
|
|
| 1165 |
Well, because there are such errors. Many BPEL editors generate |
Well, because there are such errors. Many BPEL editors generate |
| 1166 |
invalid BPEL. Even the WS-BPEL specification contained processes |
invalid BPEL. Even the official WS-BPEL 2.0 specification contains |
| 1167 |
with syntax errors for a long time. Furthermore, a lot of syntax |
processes with syntax errors. Furthermore, a lot of syntax errors |
| 1168 |
errors cannot be covered with XSD (XML Schema Definition) |
cannot be covered with XSD (XML Schema Definition) validation. |
| 1169 |
validation. Even if the considered process run on existing |
Even if the considered process run on existing engines, BPEL2oWFN |
| 1170 |
engines, BPEL2oWFN might reject it, as it stubbornly follows the |
might reject it, as it stubbornly follows the WS-BPEL |
| 1171 |
WS-BPEL specification. |
specification. |
| 1172 |
|
|
| 1173 |
* Why LoLA does not accept the generated files and reports parse |
* Why LoLA does not accept the generated files and reports parse |
| 1174 |
errors in the first line? |
errors in the first line? |