Full text
Experiences from building a WS–Agreement document analyzer tool (Including use cases in WS–Agreement and WSAg4People) v1.0 Carlos M¨uller, Amador Dur´an, Manuel Resinas, A. Ruiz–Cort´es and O. Mart´ın–D´ıaz {cmuller,amador,resinas,aruiz,omartindiaz}@us.es Applied Software Engineering Research Group University of Seville, Spain July 2010 Technical Report ISA-10-TR-03
This report was prepared by the Applied Software Engineering Research Group (ISA) Department of computer languages and systems Av/ Reina Mercedes S/N, 41012 Seville, Spain http://www.isa.us.es/ Copyright c 2010 by ISA Research Group. Permission to reproduce this document and to prepare derivative works from this document for internal use is granted, provided the copyright and ’No Warranty’ statements are included with all reproductions and derivative works. NO WARRANTY THIS ISA RESEARCH GROUP MATERIAL IS FURNISHED ON AN ’AS-IS’ BASIS. ISA RESEARCH GROUP MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTIBILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder Support: This work has been partially supported by the European Commission (FEDER) and Spanish Government under CICYT project SETI (TIN2009-07366) and the Andalusian Government project ISABEL (TIC-2533).
List of changes Version Date Description 1.0 July 2010 First release (Submitted work to ICSOC’10 + use cases) 3
Experiences from building a WS–Agreement document analyzer tool1 1 Amador Durán, Carlos Müller, Manuel Resinas, A. Ruiz–Cortés and O. Martín–Díaz2 Department of Computer Languages and Systems3 Av Reina Mercedes S/N, 41012 Seville, Spain4 {amador,cmuller,resinas,aruiz,omartindiaz}@us.es5 Abstract The WS–Agreement specification has gained a wide acceptance in the web services community as a means6 for establishing service level agreements between service providers and consumers. Although there are some implemen-7 tations of the WS–Agreement protocol, the lack of user–friendly tools for the edition and analysis of WS–Agreement8 documents is still a problem. In this paper, we present some experiences gained during the design and implementation of9 the ADA framework and the WSAg4People language. On the one hand, ADA is a framework for the automated analysis10 of WS–Agreement documents, including the detection and explanation of conflicts, which can be used through a web11 service API and a web–based user interface. On the other hand, the WSAg4People language is a plain–text language12 equivalent to the XML–based language proposed in the WS–Agreement specification, which is much easier to read13 and write for human users than its XML–based counterpart. During our work, we have had to make decisions about the14 variability points in WS–Agreement and we have also identified potential enhancements to the current specification that15 could be of interest for the WS–Agreement practitioners in particular and for the web services community in general.16 Key Words: WS–Agreement, SLA, agreement document analysis17 1 Introduction18 In a context of service–oriented computing (SOC), the provision and consumption of services should take19 place under the supervision of service level agreements (SLAs). In the last years, the WS–Agreement speci-20 fication [1] has became the most relevant proposal related to SLAs in SOC. This specification describes both21 an XML–based language for specifying SLA documents and a web services protocol for the publication,22 discovery, and monitoring of SLAs between two parties, usually a service provider and a service consumer,23 or other entities acting on behalf of them.24 Despite its popularity, the inherent built–in flexibility in the WS–Agreement specification presents some25 challenges for the automated or manual processing of compliant SLA documents. Although there are some26 implementations of the WS–Agreement protocol (see [2] for a comparison among them), the lack of user–27 friendly tools for the edition and analysis of WS–Agreement documents is still a problem to be solved in28 order to make the acceptance and use of WS–Agreement wider.29 Our previous works on applying constraint programming to the automated procurement of web ser-30 vices [3], extending WS–Agreement with temporal awareness [4, 5], and explaining inconsistencies in31 WS–Agreement documents [6, 7], have paved the way for the development of ADA (Agreement Doc-32 ument Analyser), a framework for the automated analysis of WS–Agreement documents, including the33 detection of conflicts and their explanations. Together with ADA, on the one hand we have developed34 the WSAg4People language, which is a plain–text language with the same structure and semantics than35 the XML–based language proposed in [1] but much easier to read and write for human users than its36 XML–based counterpart. On the other hand, we have also developed a web–based rich user interface37 (http://www.isa.us.es/ada) for the edition and analysis of WS–Agreement documents that use both38 the ADA framework and the WSAg4People language in a user–friendly manner.39 In this paper, we provide an introduction to ADA, WSAg4People and its user interface, and we also40 discuss some lessons learned during their development such as the decisions we have had to make about41 the variability points included as extension mechanisms in the WS–Agreement specification, developing42 XML–based domain–specific languages (DSLs) for that purpose. We have also identified some potential43 enhancements to the current WS–Agreement specification, that could be of interest for the community of44 WS–Agreement practitioners in particular and for the web services community in general.45 1This work without the appendixes has been submitted to ICSOC’10 international conference. 1
The rest of the paper is structured as follows. Section 2 briefly introduces the WS–Agreement document46 structure and variability points for those readers not familiar with [1]. Section 3 presents the ADA frame-47 work, including some concrete DSLs, the WSAg4People notation and its web–based rich user interface48 for the edition and analysis of SLA documents. Section 4 discusses potential enhancements to the current49 WS–Agreement specification. Finally, Section 5 details the conclusions and future work.50 2 WS–Agreement documents51 The structure and semantics of the XML–based language proposed for SLA documents in [1] are briefly52 discussed in this section from a practical point of view.2 53 2.1 WS–Agreement document general structure54 The WS–Agreement recommendation [1] specifies two types of agreement documents, offers and templates,55 as can be seen on the left of the UML class diagram3in Fig. 1. Agreement offers are supposed to be56 created by agreement initiators from discovered agreement templates previously published by agreement57 responders.58 Agreement templates can be considered as partially completed offers with default values for offer items,59 which describe the relevant features of the services to be agreed upon. Templates can include agreement60 creation constraints restricting the space of template–compliant offers that can be created from them. Cre-61 ation constraints can specify not only the mandatory presence of specific offer items and their acceptable62 values but also complex constraints involving more than one offer item.63 2.2 WS–Agreement document metadata64 From an abstract point of view, a WS–Agreement document is composed of agreement metadata and agree-65 ment terms. Agreement metadata (identified by the metadata stereotype in the diagram in Fig. 1) include66 an agreement identifier, an optional agreement name and an agreement context. The context contains op-67 tional information about the agreement parties, the agreement’s lifetime, and references to the template68 from which the agreement offer is created if this is the case. The only mandatory information in the context69 is whether the service provider is the agreement initiator or responder.70 2.3 WS–Agreement document terms71 The terms section of a WS–Agreement document describes both the services to be agreed upon and the72 guarantees on such services. Both kinds of elements can be grouped logically using and,or and xor–like73 compositors, thus allowing the specification of agreement options and alternatives. At the top level of the74 terms section, all terms must be inside an and–like compositor.75 2.4 WS–Agreement service terms76 Service terms describe those service features that are relevant for an agreement, including service descrip-77 tion terms,service references and service properties. All service terms must have a name and are related78 to one of the services under agreement by means of the service name attribute in the corresponding XML79 elements, i.e. they can be considered as being tagged or prefixed with a service name.80 Service description terms include the offer items that must be set by the agreement initiator when cre-81 ating an offer and whose default values are specified by the agreement responder in a template. Service82 2The WS–Agreement specification [1] contains some internal differences between the description in natural language and the proposed XML schema available at http://schemas.ggf.org/graap/2007/03/ ws-agreement. When necessary, we have taken the XML schema as the prevalent option since we are focused on the automated treatment of SLAs. 3The UML class diagram in Fig. 1 represents our interpretation of the metamodel described by the XML schema specified in [1]. 2
class WS-Agreement metamodel Service Terms Guarantee Terms Agreement «metadata» agreementId: string name: string [0..1] ...: ... «metadata» Context initiator: anyType [0..1] responder: anyType [0..1] serviceProvider: enum { initiator, responder } expirationTime: dateTime [0..1] templateId: string [0..1] templateName: string [0..1] ...: ... Term name: string TermCompositor AbstractTerm All OneOrMore ExactlyOne ServiceDescriptionTerm ...: ... ServiceReference ...: ... ServiceProperties ServiceTerm serviceName: string GuaranteeTerm obligated: enum { consumer, provider } [0..1] qualifyingCondition: ... [0..1] Variable name: string metric: string [0..1] AgreementOffer AgreementTemplate «metadata» templateId: string ConstraintSection Item name: string [0..1] itemConstraint: XSD ...: ... Constraint ...: ... ServiceScope serviceName: string ...: ... ServiceLevelObjective KPIName: string [0..1] customServiceLevel: ... Compensation valueUnit: string valueExpr: ... AssesmentInterval TimeInterval value: duration BusinessValueList importance: integer [0..1] RewardPenalty Count value: positiveInteger Preference utility: float CustomBusinessValue ...: ... Ellipsis as attributes is used throughout the diagram to indicate that the element can be extended with other XML elements and attributes. Ellipsis as type of attributes is used throughout the diagram to indicate that element type is open for extension. variableSet 1..* 0..* 1 0..* terms 0..1 creationConstraints 1 location 1location 1 0..* 0..* 1 0..* 0..* 1..* serviceTermReference 1 0..* 1 Figure 1: UML metamodel of WS–Agreement documents 3
references provide endpoint references for the services under agreement. Service properties define named83 sets of variables that can be used for the specification of service–level objectives and must be therefore84 considered for agreement monitoring. All variables must be related to one or more offer items inside some85 service description term.86 2.5 WS–Agreement guarantee terms87 Guarantee terms describe the assurance on service quality that an obligated party, usually the service88 provider, must fulfil as part of the SLA. Since guarantee terms can apply to several of the services (or89 service offer items) under agreement, they can be scoped with the corresponding service names (and ser-90 vice offer items references if needed). They can also be guarded by an optional qualifying condition, i.e.91 only if the qualifying condition holds the service quality is guaranteed. The structure of a guarantee term in92 the WS–Agreement specification also includes a service level objective (SLO) and a list of business values.93 The SLO of a guarantee term is a predicate defined over service offer items and variables and over ex-94 ternal factors such as date, time, etc. Optionally, SLOs can be related to externally defined key performance95 indicators (KPIs).96 The business values of a guarantee term can include the relative importance of meeting the SLO, penal-97 ties and rewards to be assessed for meeting the SLO or not, preferences for different alternatives of meeting98 the SLO, and other domain–specific customized business values. Penalties and rewards are expressed as the99 amount of value units (usually money) the obligated party looses (or earns) for not meeting (or meeting)100 the associated SLO during an assessment interval, which can be expressed as a duration (a week, a month,101 etc.) or as a service–specific count (number of service invocations, for example). Preferences are expressed102 as a list of pairs indicating the utility value of using a specific offer item to achieve the SLO associated to103 the guarantee term.104 3 ADA: a WS–Agreement document analysis framework105 ADA is an Agreement Document Analysis framework developed in Java mainly based on our previous theo-106 retical works on applying the constraint satisfaction problem (CSP) paradigm to the automated procurement107 of web services [3] and explaining inconsistencies in WS–Agreement documents [6, 7]. The main goal108 of ADA is to provide WS–Agreement practitioners not only with the automated capabilities of checking109 consistency and compliance properties of agreement offers and templates but also with the corresponding110 explanations if some problems are identified once checks are performed.111 Foreseeing the need for more analysis operations, we have designed a plug–in oriented architecture for112 ADA so it could be easily extended in the future with new capabilities (see Fig. 2). Currently, ADA uses the113 open source Java library for CSP Choco [8], although other solvers, not necessarily CSP–oriented, could be114 used in the future.115 Interfaces ADA CorePlugins ADA API ADA OSGi ADA WS Operations Consistency Compliance Inconsistency explaining Noncompliance explaining Analysers Choco ... Formats WSAG XML WSAG4 People DSLs SDT DSL ... Figure 2: Architecture of the ADA framework 4
On the other hand, developers can use ADA through a conventional Java application programming116 interface (ADA–API); as an OSGi bundle [9] (ADA–OSGi), for example for its integration in the Eclipse117 platform [10]; or as a web service (ADA–WS) automatically generated from the OSGi bundle and deployed118 into an OSGi web container.119 In order to provide the community of WS–Agreement practitioners with a user–friendly environment120 for the edition and analysis of WS–Agreement documents and get feedback for our research, we have121 developed a rich user interface that can be accessed via web using the JavaFX technology [11] at the ADA122 website (http://www.isa.us.es/ada), including demonstration videos in English and Spanish.123 Some of the most relevant features of the rich user interface are the following, where the number in124 parenthesis refers to the corresponding part of Fig. 3: (1) syntax highlight; (2) skeletons for the creation of125 agreement documents, specially developed for users not familiar with the WS–Agreement complexity; (3)126 multiple views of agreement documents, including an XML view, a WSAg4People view and a tree view, that127 can be easily switched by the user using the button panel in (4); (5) a wizard to launch analysis operations128 and several document samples preloaded, in order to reduce the learning curve.129 3.1 DSLs choices in ADA130 The XML–based language for SLAs specified in [1] is intentionally open for extension in order to allow131 a high degree of flexibility. This flexibility is based on the use of specific XML–based DSLs in some132 variability points, thus allowing a whole family of WS–Agreement languages as depicted in the feature133 model [12] in Fig. 4, developed by the authors of this paper taking into account not only [1] but also the134 (1) (2) (3) (4) (5) Figure 3: Screenshot of the rich user interface of the ADA framework 5
usage results of different WS–Agreement terms described in [2]. A brief description of these variability135 points is provided as follows.136 WS-Agreement Context Service Description Terms Guarantee Terms Service Properties Creation Constraints Qualifying Cond. DSL Service Level Objective DSL Key Process Indicators Metrics DSL Business Value DSL General Constraint DSL Service Reference mandatory optional Context DSL SDT DSL SR DSL Figure 4: WS–Agreement feature model (variability points) – Context DSL: the agreement metadata in the context element can be extended with any information137 needed by means of new XML elements and attributes. For example, some of the authors of this paper138 have proposed the extension of metadata for introducing temporal awareness in WS–Agreement [4, 5].139 – Service Description Term DSL: the offer items describing the relevant features of offered or requested140 services must be expressed using a DSL. Most of the available examples of WS–Agreement documents141 [2, 1, 13] use the Job Submission Description Language [14] or WSDL as service description term142 DSLs.143 – Service Reference DSL: the specification of the endpoint references for the services under agreement144 is considered as domain specific by the WS–Agreement recommendation and is therefore left open to145 the use of XML–based DSLs.146 – Guarantee Term DSLs:guarantee terms can be extended using three different DSLs, described below.147 •Qualifying condition DSL: the qualifying condition can be expressed using any predicate–oriented148 DSL. For example, in [15], the WSLA [16] predicate tags are used as the qualifying condition DSL.149 •Service Level Objective DSL: in a similar way to the qualifying condition, the service level objec-150 tive must be expressed using any predicate–oriented DSL. The only difference with the qualifying151 condition is the possibility to use externally defined, domain–specific KPIs in the expressions.4The152 set of domain–specific KPIs can be considered as another variability point.153 •Business Value DSL: some value expressions inside penalty and reward elements, and the concept154 of business value itself can be expressed using DSLs.155 – Service property DSL: the service properties are described as sets of variables defined over externally156 defined, domain–specific metrics, which can be considered as another variability point.157 – Creation constraint DSL: the creation constraints of an agreement template can be specified at an158 offer item level using a subset of XSD [17], or at a general level using any predicate–oriented DSL.159 The former is fixed in the specification but the latter can be considered as another variability point.160 In order to achieve our goals on the analysis of WS–Agreement documents, some DSLs must be set as161 the concrete choice of the previously discussed variability points. In ADA, we have specified three DSLs162 described as follows.163 3.1.1 Service description term DSL164 From our point of view, service description terms (SDTs) can be considered as named sets of offer items165 with their corresponding values, independently of their domain–specific, internal (possibly hierarchical)166 4The KPI element specification in section 4.2.6.3.1 of [1] is different from the one in the XML schema in the same document. 6
14. Anjomshoaa A, Brisard F, Drescher M, Fellows D, Ly A, McGough S, et al., editors. Job Submission Description308 Language (JSDL) Specification GFD–R.056; 2005. Open Grid Forum, Job Submission Description Language309 (JSDL) WG. Available from: http://www.gridforum.org/documents/GFD.56.pdf.310 15. Oldham N, Verma K. Semantic WS–Agreement Partner Selection. In: Proc. of the 15th International WWW311 Conference. ACM Press; 2006. p. 697–706.312 16. Ludwig H, Keller A, Dan A, King RP, Franck R. Web Service Level Agreement (WSLA) Language313 Specification; 2003. IBM Corporation. Available from: http://www.research.ibm.com/wsla/314 WSLASpecV1-20030128.pdf.315 17. Fallside DC, Walmsley P, editors. XML Schema Part 0: Primer; 2004. W3C Recommendation. Available from:316 http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/.317 18. Frankova G, Malfatti D, Aiello M. Semantics and Extensions of WS–Agreement. Journal of Software.318 2006;1(1):23–31.319 19. Parejo JA, Fernández P, Ruiz-Cortés A. FAST–SE: An ESB based Framework for SLA Trading. In: Proc. ICSOC320 2009; 2009. p. 643–644.321 13
A Use cases322 In this appendix, we present some use cases7included in the current version of the rich user interface323 (ADA–FrontEnd) depicted in Fig. 3 of Section 3 that can be accessed via web at the ADA website (http:324 //www.isa.us.es/ada). The use cases regard with a translation service providing scenario in which325 news agencies prepare agreement offers to be sent to the translation service provider. For each operation,326 associated use cases are detailed in the XML–Schema of [1] and in WSAg4People, and the metrics for327 service properties is defined in the external XML document 1.328 329 <metricXML>330 <Per centa ge ty pe =" i n t e g e r " min="1" max="100"/ >331 <Time t yp e=" i n t e g e r " min="1" max="100"/>332 < Bi na ry In teg er t yp e=" i n t e g e r " min="0" max="1"/>333 <LowInteger typ e=" i n t e g e r " min="1" max="10"/>334 <MediumInteger typ e=" i n t e g e r " min="1" max="100"/>335 < Lar ge Int eg er ty pe =" i n t e g e r " min="1" max="500"/>336 < / metricXML>337 338 External XML metrics document 1: Metrics for translation service properties A.1 Operation Consistency Checking339 The WS–Agreement template of document 2 and its equivalent WSAg4People document 3 are consistent340 templates because they do not include any conflict inside themselves.341 342 <?xml v e r s i o n ="1.0" e nc odi ng ="UTF−8"?>343 <wsag : Template wsag : TemplateId ="1.0" xmlns : x s i =" h tt p : / / www. w3 . org / 2 0 0 1 / XMLSchema−i n s t a n c e "344 xmlns : wsag=" h tt p : / / schemas . g gf . org / graap / 2 0 0 7 / 0 3 / ws−agreement"345 xmlns : xs =" htt p : / /www. w3 . org / 2 0 0 1 / XMLSchema"346 x s i : schemaLocation=" http : / / schemas . ggf . org / graap / 2 0 0 7 / 0 3 / wsagreement agr eement_ types . xsd347 htt p : / /www. w3 . org / 2 0 0 1 / XMLSchema XMLSchema . xsd ">348 <wsag :Name> TranslateIt !< / wsag :Name>349 <wsag : Context>350 <wsag: AgreementInitiator>I n e e d T r a n s l a t i o n C o r p .</wsag: AgreementInitiator>351 <wsag : AgreementResponder> ITranslate< / wsag : AgreementResponder>352 <wsag:ServiceProvider>AgreementResponder</wsag:ServiceProvider>353 <wsag : ExpirationTime >2012−01−01T00 :00:00< / wsag : ExpirationTime>354 < / wsag : Context >355 <wsag : Terms wsag :Name=" T r a n s l a t i o n S e r v i c e ">356 <wsag : A ll >357 <wsag : S e r v i c e P r o p e r t i e s wsag :Name="SP1"358 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">359 <wsag : V ar i ab le S et >360 <wsag : V ar ia bl e wsag :Name="DemandedTranslationTime" wsag : Metric =" m etr ics / metricXML : Time">361 <!−− Time i n mi n u te s −−>362 <wsag : Location> \ \ DemandedTranslationTime< / wsag : Loca tion >363 < / wsag : V ar ia bl e >364 < / wsag : V ari ab l eS et >365 </wsag: ServiceProperties>366 <wsag : S er vi ce De sc riptionTerm wsag :Name="SDT1"367 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">368 <OfferItem name="SourceLang">1</ OfferItem> <!−− SourceLang "1" = EN−UK −−>369 <OfferItem name="TargetLang">2</ OfferItem> <!−− TargetLang "2" = SP −−>370 < Of fer It em name=" S i z e ">20</ OfferItem>371 </wsag: ServiceDescriptionTerm>372 <wsag : GuaranteeTerm wsag :Name=" TranslationTime1 "373 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">374 <wsag:QualifyingCondition>HumanSupervised=1</wsag:QualifyingCondition>375 <wsag : S e r v i c e L e v e l O b j e c t i v e >376 <wsag : CustomServiceLevel >377 DemandedTranslationTime&l t ;=10 AND DemandedTranslationTime&g t ; 0378 < / wsag : CustomServiceLevel >379 < / wsag : S e r v i c e L e v e l O b j e c t i v e >380 < / wsag : GuaranteeTerm>381 <wsag : GuaranteeTerm wsag :Name=" TranslationTime2 "382 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">383 <wsag:QualifyingCondition>HumanSupervised=2</wsag:QualifyingCondition>384 <wsag : S e r v i c e L e v e l O b j e c t i v e >385 <wsag : CustomServiceLevel >386 DemandedTranslationTime&l t ;=100 AND DemandedTranslationTime&g t ; 0387 < / wsag : CustomServiceLevel >388 < / wsag : S e r v i c e L e v e l O b j e c t i v e >389 < / wsag : GuaranteeTerm>390 7The use cases only include integer variable because currently ADA only allows such kind of variables as proof-ofconcept. 14
< / wsag : A ll >391 < / wsag : Terms>392 <wsag: CreationConstraints>393 <wsag : Item wsag :Name="SourceLang">394 <wsag : Location > \ \ SourceLang< / wsag : Locat ion >395 <wsag : I t em Co ns tr ai n t >396 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">397 <xs : mi n I n c l us i v e va l u e ="1"/>398 <xs : maxIncl u s ive v a l u e ="3"/>399 < / xs : r e s t r i c t i o n >400 < / wsag : I te mC on s tr ai nt >401 < / wsag : Item>402 <wsag : Item wsag :Name="TargetLang">403 <wsag : Location > \ \ TargetLang< / wsag : Locatio n >404 <wsag : I t em Co ns tr ai n t >405 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">406 <xs : mi n I n c l us i v e va l u e ="1"/>407 <xs : maxIncl u s ive v a l u e ="3"/>408 < / xs : r e s t r i c t i o n >409 < / wsag : I te mC on s tr ai nt >410 < / wsag : Item>411 <wsag : Item wsag : Name=" S i z e "> <!−− S i z e i n A4−pages −−>412 <wsag : Location > \ \ S i z e < / wsag : Locatio n >413 <wsag : I t em Co ns tr ai n t >414 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">415 <xs : mi n I n c l us i v e va l u e ="1"/>416 <xs : maxIncl u s ive v a l u e ="50"/>417 < / xs : r e s t r i c t i o n >418 < / wsag : I te mC on s tr ai nt >419 < / wsag : Item>420 <wsag : Item wsag :Name="Cost">421 <wsag : Location > \ \ Cost < / wsag : Lo cation >422 <wsag : I t em Co ns tr ai n t >423 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">424 <xs : mi n I n c l us i v e va l u e ="1"/>425 <xs : maxIncl u s ive v a l u e ="100"/>426 < / xs : r e s t r i c t i o n >427 < / wsag : I te mC on s tr ai nt >428 < / wsag : Item>429 <wsag : Item wsag :Name="HumanSupervised">430 <wsag : Location > \ \ HumanSupervised< / wsag : Locat ion >431 <wsag : I t em Co ns tr ai n t >432 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">433 <xs : mi n I n c l us i v e va l u e ="1"/> <!−− d i s a b l e d t he human s u p e r v i s i o n −−>434 <xs : maxIncl u s ive v a l u e ="2"/> <!−− e na b le d th e human s u p e r v i s i o n −−>435 < / xs : r e s t r i c t i o n >436 < / wsag : I te mC on s tr ai nt >437 < / wsag : Item>438 <wsag : C on st ra in t >439 <Name> C o s t C r e a t i o n C o n s t r a i n t < / Name>440 <Content > Cost =( S i z e ∗HumanSupervised ) / DemandedTranslationTime< / Content>441 < / wsag : C o ns tr a in t >442 <wsag : C on st ra in t >443 <Name> HumanSupervisedCreationConstraint< / Name>444 <Content >HumanSupervised=1< / Content>445 < / wsag : C o ns tr a in t >446 </wsag:CreationConstraints>447 < / wsag : Template>448 449 WS–Agreement (XML) document 2: Consistent template 1.0 450 Template 1 . 0 −TranslateIt ! :451 1Initiator :I n e e d T r a n s l a t i o n C o r p . ,452 2Responder :ITranslate ,453 3ServiceProvider :AgreementResponder ,454 4ExpirationTime : 2012−01−01T00 :00:00;455 456 Terms −TranslationService :457 458 1S e r v ic e P r o p e r t i e s −SP1 −TranslationService1 :459 1DemandedTranslationTime −measured by metrics /metricXML :Time460 −related to \ \ DemandedTranslationTime ;461 462 463 2S e r v i c e D e s c r i p t i o n Term −SDT1 −TranslationService1 :464 SourceLang = 1 , TargetLang = 2 , S i z e = 2 0;465 466 3Guarantees :467 #3.1 −TranslationTime1 (by ServiceProvider ) :468 Qu a l i f y in g Condition :HumanSupervised =1;469 SLO:DemandedTranslationTime <=10 AND DemandedTranslationTime >0;470 471 #3.2 −TranslationTime2 (by ServiceProvider ) :472 Qu a l i f y in g Condition :HumanSupervised =2;473 SLO:DemandedTranslationTime <=100 AND DemandedTranslationTime >0;474 15
475 476 Creation C o n s t r a i n t s :477 Items :478 1SourceLang :Value Of \ \ SourceLang i s xs :integer [ 1 , 3 ] ,479 2TargetLang :Value Of \ \ TargetLang i s xs :integer [ 1 , 3 ] ,480 3S i z e :Value Of \ \ S i z e i s xs :integer [ 1 , 5 0 ] ,481 4Cost :Value Of \ \ Cos t i s xs :integer [ 1 , 1 0 0 ] ,482 5HumanSupervised :Value Of \ \ HumanSupervised i s xs :integer [ 1 , 2 ] ,483 484 Constraints :485 1C o s t C r e a t i o n C o n s t r a i n t :486 Cost =( S i z e ∗HumanSupervised ) / DemandedTranslationTime ;487 2HumanSupervisedCreationConstraint :488 HumanSupervised= 1;489 490 WSAg4People document 3: Consistent template 1.0 The WS–Agreement template of document 4 and its equivalent WSAg4People document 5 are incon-491 sistent templates because they include some conflicts inside. Concretely, the “Size” value assignment of492 service description term “SDT1” is out of its allowed domain; and the “HumanSupervisedCreationCon-493 straint” creation constraint is conflicting with itself.494 495 <?xml v e r s i o n = "1.0" en co din g ="UTF−8"?>496 <wsag : Template wsag : TemplateId ="1.1" xmlns : x s i =" h tt p : / / www. w3 . org / 2 0 0 1 / XMLSchema−i n s t a n c e "497 xmlns : wsag=" h tt p : / / schemas . g gf . org / graap / 2 0 0 7 / 0 3 / ws−agreement"498 xmlns : xs =" ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema"499 x s i : schemaLocation=" ht tp : / / schemas . gg f . org / graap / 2 0 0 7 / 0 3 / wsagreement agreement_ty pes . xsd500 ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema XMLSchema . xsd">501 <wsag :Name> TranslateIt !< / wsag :Name>502 <wsag : Context>503 <wsag: AgreementInitiator>I n e e d T r a n s l a t i o n C o r p .</wsag:AgreementInitiator>504 <wsag : AgreementResponder> ITranslate< / wsag : AgreementResponder>505 <wsag:ServiceProvider>AgreementResponder</wsag: ServiceProvider>506 <wsag : ExpirationTime >2012−01−01T00 :00:00< / wsag : ExpirationTime>507 < / wsag : Context>508 <wsag : Terms wsag :Name=" T r a n s l a t i o n S e r v i c e ">509 <wsag : A ll >510 <wsag : S e r v i c e P r o p e r t i e s wsag :Name="SP1"511 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">512 <wsag : V ar i ab le S et >513 <wsag : V a r i a b l e wsag :Name="DemandedTranslationTime" wsag : Metric =" m e tr i c s / metricXML : Time">514 <!−− Time i n m i n ut e s −−>515 <wsag : Location > \ \ DemandedTranslationTime< / wsag : Lo cation >516 < / wsag : V ar ia bl e >517 < / wsag : V ar ia bl eS et >518 </wsag: ServiceProperties>519 <wsag : S e r v i c e D e s c riptionTerm wsag :Name="SDT1"520 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">521 <OfferItem name="SourceLang">1</ OfferItem> <!−− SourceLang " 1 " = EN−UK −−>522 <OfferItem name="TargetLang">2</ OfferItem> <!−− Tar g e t L a n g "2 " = SP −−>523 < Of fer It em name=" S i z e ">51</ OfferItem> <!−− I t i s ou t of ra n ge −−>524 </wsag: ServiceDescriptionTerm>525 <wsag : GuaranteeTerm wsag :Name=" TranslationTime1 "526 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">527 <wsag:QualifyingCondition>HumanSupervised=1</wsag:QualifyingCondition>528 <wsag : S e r v i c e L e v e l O b j e c t i v e >529 <wsag : CustomServiceLevel >530 DemandedTranslationTime&l t ;=10 AND DemandedTranslationTime&g t ; 0531 < / wsag : CustomServiceLevel >532 < / wsag : S e r v i c e L e v e l O b j e c t i v e >533 < / wsag : GuaranteeTerm>534 <wsag : GuaranteeTerm wsag :Name=" TranslationTime2 "535 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">536 <wsag:QualifyingCondition>HumanSupervised=2</wsag:QualifyingCondition>537 <wsag : S e r v i c e L e v e l O b j e c t i v e >538 <wsag : CustomServiceLevel >539 DemandedTranslationTime&l t ;=100 AND DemandedTranslationTime&g t ; 0540 < / wsag : CustomServiceLevel >541 < / wsag : S e r v i c e L e v e l O b j e c t i v e >542 < / wsag : GuaranteeTerm>543 < / wsag : A ll >544 < / wsag : Terms>545 <wsag: CreationConstraints>546 <wsag : Item wsag :Name="SourceLang">547 <wsag : Location > \ \ SourceLang< / wsag : Locat ion >548 <wsag : I t em Co ns tr ai n t >549 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">550 <xs : mi n I n c l us i v e va l u e ="1"/>551 <xs : maxIncl u s ive v a l u e ="3"/>552 < / xs : r e s t r i c t i o n >553 < / wsag : I te mC on s tr ai nt >554 < / wsag : Item>555 16
<wsag : Item wsag :Name="TargetLang">556 <wsag : Location > \ \ TargetLang< / wsag : Locatio n >557 <wsag : I t em Co ns tr ai n t >558 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">559 <xs : mi n I n c l us i v e va l u e ="1"/>560 <xs : maxIncl u s ive v a l u e ="3"/>561 < / xs : r e s t r i c t i o n >562 < / wsag : I te mC on s tr ai nt >563 < / wsag : Item>564 <wsag : Item wsag : Name=" S i z e "> <!−− S i z e i n A4−pages −−>565 <wsag : Location > \ \ S i z e < / wsag : Locatio n >566 <wsag : I t em Co ns tr ai n t >567 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">568 <xs : mi n I n c l us i v e va l u e ="1"/>569 <xs : maxIncl u s ive v a l u e ="50"/>570 < / xs : r e s t r i c t i o n >571 < / wsag : I te mC on s tr ai nt >572 < / wsag : Item>573 <wsag : Item wsag :Name="Cost">574 <wsag : Location > \ \ Cost < / wsag : Lo cation >575 <wsag : I t em Co ns tr ai n t >576 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">577 <xs : mi n I n c l us i v e va l u e ="1"/>578 <xs : maxIncl u s ive v a l u e ="100"/>579 < / xs : r e s t r i c t i o n >580 < / wsag : I te mC on s tr ai nt >581 < / wsag : Item>582 <wsag : Item wsag :Name="HumanSupervised">583 <wsag : Location > \ \ HumanSupervised< / wsag : Locat ion >584 <wsag : I t em Co ns tr ai n t >585 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">586 <xs : mi n I n c l us i v e va l u e ="1"/> <!−− d i s a b l e d t he human s u p e r v i s i o n −−>587 <xs : maxIncl u s ive v a l u e ="2"/> <!−− e na b le d th e human s u p e r v i s i o n −−>588 < / xs : r e s t r i c t i o n >589 < / wsag : I te mC on s tr ai nt >590 < / wsag : Item>591 <wsag : C on st ra in t >592 <Name> HumanSupervisedCreationConstraint< / Name>593 <Content >HumanSupervised=1 AND HumanSupervised=0< / Content >594 < / wsag : C o ns tr a in t >595 </wsag:CreationConstraints>596 < / wsag : Template>597 598 WS–Agreement (XML) document 4: Inconsistent template 1.1 599 Template 1 . 1 −TranslateIt ! :600 1Initiator :I n e e d T r a n s l a t i o n C o r p . ,601 2Responder :ITranslate ,602 3ServiceProvider :AgreementResponder ,603 4ExpirationTime : 2012−01−01T00 :00:00;604 605 Terms −TranslationService :606 607 1S e r v ic e P r o p e r t i e s −SP1 −TranslationService1 :608 1DemandedTranslationTime −measured by metrics /metricXML :Time609 −related to \ \ DemandedTranslationTime ;610 611 612 2S e r v i c e D e s c r i p t i o n Term −SDT1 −TranslationService1 :613 SourceLang = 1 , TargetLang = 2 , S i z e = 5 1;614 615 3Guarantees :616 #3.1 −TranslationTime1 (by ServiceProvider ) :617 Qu a l i f y in g Condition :HumanSupervised =1;618 SLO:DemandedTranslationTime <=10 AND DemandedTranslationTime >0;619 620 #3.2 −TranslationTime2 (by ServiceProvider ) :621 Qu a l i f y in g Condition :HumanSupervised =2;622 SLO:DemandedTranslationTime <=100 AND DemandedTranslationTime >0;623 624 625 Creation C o n s t r a i n t s :626 Items :627 1SourceLang :Value Of \ \ SourceLang i s xs :integer [ 1 , 3 ] ,628 2TargetLang :Value Of \ \ TargetLang i s xs :integer [ 1 , 3 ] ,629 3S i z e :Value Of \ \ S i z e i s xs :integer [ 1 , 5 0 ] ,630 4Cost :Value Of \ \ Cos t i s xs :integer [ 1 , 1 0 0 ] ,631 5HumanSupervised :Value Of \ \ HumanSupervised i s xs :integer [ 1 , 2 ] ,632 633 Constraints :634 1HumanSupervisedCreationConstraint :635 HumanSupervised=1 AND HumanSupervised=0;636 17
637 WSAg4People document 5: Inconsistent template 1.1 The WS–Agreement template of document 6 and its equivalent WSAg4People document 7 are inconsis-638 tent templates because they include some conflicts inside. Concretely, the “Size” value assignment of service639 description term “SDT1” is conflicting with the “SizeCreationConstraint” creation constraint; the “InputEr-640 rorsGT” guarantee term is conflicting with the “InputErrorsCreationConstraint” creation constraint; and the641 “TargetLang” value assignment of service description term “SDT1” is conflicting with the “TargetLangGT”642 guarantee term.643 644 <?xml v e r s i o n = "1.0" en co din g ="UTF−8"?>645 <wsag : Template wsag : TemplateId ="1.2" xmlns : x s i =" h tt p : / / www. w3 . org / 2 0 0 1 / XMLSchema−i n s t a n c e "646 xmlns : wsag=" h tt p : / / schemas . g gf . org / graap / 2 0 0 7 / 0 3 / ws−agreement"647 xmlns : xs =" ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema"648 x s i : schemaLocation=" ht tp : / / schemas . gg f . org / graap / 2 0 0 7 / 0 3 / wsagreement agreement_ty pes . xsd649 ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema XMLSchema . xsd">650 <wsag :Name> TranslateIt !< / wsag :Name>651 <wsag : Context>652 <wsag: AgreementInitiator>I n e e d T r a n s l a t i o n C o r p .</wsag:AgreementInitiator>653 <wsag : AgreementResponder> ITranslate< / wsag : AgreementResponder>654 <wsag:ServiceProvider>AgreementResponder</wsag: ServiceProvider>655 <wsag : ExpirationTime >2012−01−01T00 :00:00< / wsag : ExpirationTime>656 < / wsag : Context>657 <wsag : Terms wsag :Name=" T r a n s l a t i o n S e r v i c e ">658 <wsag : A ll >659 <wsag : S e r v i c e P r o p e r t i e s wsag :Name="SP1"660 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">661 <wsag : V ar i ab le S et >662 <wsag : V a r i a b l e wsag :Name="DemandedTranslationTime" wsag : Metric =" m e tr i c s / metricXML : Time">663 <!−− Time i n m i n ut e s −−>664 <wsag : Location > \ \ DemandedTranslationTime< / wsag : Lo cation >665 < / wsag : V ar ia bl e >666 <wsag : V a r i a b l e wsag :Name=" InputErrors " wsag : Metric=" m et r ic s / metricXML : Pe rcenta ge ">667 <!−− I n p u t t e x t e r r o r s i n p e r c e n t a g e −−>668 <wsag : Location > \ \ InputErrors< / wsag : Location >669 < / wsag : V ar ia bl e >670 < / wsag : V ar ia bl eS et >671 </wsag: ServiceProperties>672 <wsag : S e r v i c e D e s c riptionTerm wsag :Name="SDT1"673 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">674 <OfferItem name="SourceLang">1</ OfferItem> <!−− SourceLang " 1 " = EN−UK −−>675 <OfferItem name="TargetLang">2</ OfferItem> <!−− Tar g e t L a n g "2 " = SP −−>676 < Of fer It em name=" S i z e ">20</ OfferItem>677 </wsag: ServiceDescriptionTerm>678 <wsag : GuaranteeTerm wsag :Name=" TranslationTime1 "679 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">680 <wsag:QualifyingCondition>HumanSupervised=1</wsag:QualifyingCondition>681 <wsag : S e r v i c e L e v e l O b j e c t i v e >682 <wsag : CustomServiceLevel >683 DemandedTranslationTime&l t ;=10 AND DemandedTranslationTime&g t ; 0684 < / wsag : CustomServiceLevel >685 < / wsag : S e r v i c e L e v e l O b j e c t i v e >686 < / wsag : GuaranteeTerm>687 <wsag : GuaranteeTerm wsag :Name=" TranslationTime2 "688 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">689 <wsag:QualifyingCondition>HumanSupervised=2</wsag:QualifyingCondition>690 <wsag : S e r v i c e L e v e l O b j e c t i v e >691 <wsag : CustomServiceLevel >692 DemandedTranslationTime&l t ;=100 AND DemandedTranslationTime&g t ; 0693 < / wsag : CustomServiceLevel >694 < / wsag : S e r v i c e L e v e l O b j e c t i v e >695 < / wsag : GuaranteeTerm>696 <wsag : GuaranteeTerm wsag :Name="TargetLangGT"697 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">698 <wsag : S e r v i c e L e v e l O b j e c t i v e >699 <wsag : CustomServiceLevel > TargetLang&g t ; 2 < / wsag : CustomServiceLevel >700 < / wsag : S e r v i c e L e v e l O b j e c t i v e >701 < / wsag : GuaranteeTerm>702 <wsag : GuaranteeTerm wsag :Name="InputErrorsGT"703 wsag : O bl ig at ed =" ServiceConsumer">704 <wsag : S e r v i c e L e v e l O b j e c t i v e >705 <wsag : CustomServiceLevel > InputErrors&l t ;=1 < / wsag : CustomServiceLevel >706 < / wsag : S e r v i c e L e v e l O b j e c t i v e >707 < / wsag : GuaranteeTerm>708 < / wsag : A ll >709 < / wsag : Terms>710 <wsag: CreationConstraints>711 <wsag : Item wsag :Name="SourceLang">712 <wsag : Location > \ \ SourceLang< / wsag : Locat ion >713 <wsag : I t em Co ns tr ai n t >714 18
<xs : r e s t r i c t i o n base =" xs : i n t e g e r ">715 <xs : mi n I n c l us i v e va l u e ="1"/>716 <xs : maxIncl u s ive v a l u e ="3"/>717 < / xs : r e s t r i c t i o n >718 < / wsag : I te mC on s tr ai nt >719 < / wsag : Item>720 <wsag : Item wsag :Name="TargetLang">721 <wsag : Location > \ \ TargetLang< / wsag : Locatio n >722 <wsag : I t em Co ns tr ai n t >723 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">724 <xs : mi n I n c l us i v e va l u e ="1"/>725 <xs : maxIncl u s ive v a l u e ="3"/>726 < / xs : r e s t r i c t i o n >727 < / wsag : I te mC on s tr ai nt >728 < / wsag : Item>729 <wsag : Item wsag : Name=" S i z e "> <!−− S i z e i n A4−pages −−>730 <wsag : Location > \ \ S i z e < / wsag : Locatio n >731 <wsag : I t em Co ns tr ai n t >732 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">733 <xs : mi n I n c l us i v e va l u e ="1"/>734 <xs : maxIncl u s ive v a l u e ="50"/>735 < / xs : r e s t r i c t i o n >736 < / wsag : I te mC on s tr ai nt >737 < / wsag : Item>738 <wsag : Item wsag :Name="Cost">739 <wsag : Location > \ \ Cost < / wsag : Lo cation >740 <wsag : I t em Co ns tr ai n t >741 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">742 <xs : mi n I n c l us i v e va l u e ="1"/>743 <xs : maxIncl u s ive v a l u e ="100"/>744 < / xs : r e s t r i c t i o n >745 < / wsag : I te mC on s tr ai nt >746 < / wsag : Item>747 <wsag : Item wsag :Name="HumanSupervised">748 <wsag : Location > \ \ HumanSupervised< / wsag : Locat ion >749 <wsag : I t em Co ns tr ai n t >750 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">751 <xs : mi n I n c l us i v e va l u e ="1"/> <!−− d i s a b l e d t he human s u p e r v i s i o n −−>752 <xs : maxIncl u s ive v a l u e ="2"/> <!−− e na b le d th e human s u p e r v i s i o n −−>753 < / xs : r e s t r i c t i o n >754 < / wsag : I te mC on s tr ai nt >755 < / wsag : Item>756 <wsag : C on st ra in t >757 <Name> HumanSupervisedCreationConstraint< / Name>758 <Content >HumanSupervised=1< / Content>759 < / wsag : C o ns tr a in t >760 <wsag : C on st ra in t >761 <Name> InputErrorsCreationConstraint< / Name>762 <Content > InputErrors&g t ; 1 < / Content>763 < / wsag : C o ns tr a in t >764 <wsag : C on st ra in t >765 <Name> SizeCreationConstraint< / Name>766 <Content > S i z e&l t ; 20 < / Content>767 < / wsag : C o ns tr a in t >768 </wsag:CreationConstraints>769 < / wsag : Template>770 771 WS–Agreement (XML) document 6: Inconsistent template 1.2 772 Template 1 . 2 −TranslateIt ! :773 1Initiator :I n e e d T r a n s l a t i o n C o r p . ,774 2Responder :ITranslate ,775 3ServiceProvider :AgreementResponder ,776 4ExpirationTime : 2012−01−01T00 :00:00;777 778 Terms −TranslationService :779 780 1S e r v ic e P r o p e r t i e s −SP1 −TranslationService1 :781 1DemandedTranslationTime −measured by metrics /metricXML :Time782 −related to \ \ DemandedTranslationTime ,783 2InputErrors −measured by metrics /metricXML :P e r c en t a g e784 −related to \ \ InputErrors ;785 786 2S e r v i c e D e s c r i p t i o n Term −SDT1 −TranslationService1 :787 SourceLang = 1 , TargetLang = 2 , S i z e = 2 0;788 789 3Guarantees :790 #3.1 −TranslationTime1 (by ServiceProvider ) :791 Qu a l i f y in g Condition :HumanSupervised =1;792 SLO:DemandedTranslationTime <=10 AND DemandedTranslationTime >0;793 794 #3.2 −TranslationTime2 (by ServiceProvider ) :795 Qu a l i f y in g Condition :HumanSupervised =2;796 SLO:DemandedTranslationTime <=100 AND DemandedTranslationTime >0;797 798 19
#3.3 −TargetLangGT (by ServiceProvider ) :799 SLO:TargetLang >2;800 801 #3.4 −InputErrorsGT (by ServiceConsumer ) :802 SLO:InputErrors <=1;803 804 805 Creation C o n s t r a i n t s :806 Items :807 1SourceLang :Value Of \ \ SourceLang i s xs :integer [ 1 , 3 ] ,808 2TargetLang :Value Of \ \ TargetLang i s xs :integer [ 1 , 3 ] ,809 3S i z e :Value Of \ \ S i z e i s xs :integer [ 1 , 5 0 ] ,810 4Cost :Value Of \ \ Cos t i s xs :integer [ 1 , 1 0 0 ] ,811 5HumanSupervised :Value Of \ \ HumanSupervised i s xs :integer [ 1 , 2 ] ,812 813 Constraints :814 1HumanSupervisedCreationConstraint :815 HumanSupervised= 1;816 2InputErrorsCreationConstraint :817 InputErrors >1;818 3SizeCreationConstraint :819 Si z e <20;820 821 WSAg4People document 7: Inconsistent template 1.2 The WS–Agreement template of document 8 and its equivalent WSAg4People document 9 are inconsis-822 tent templates because they include some conflicts inside. Concretely, the “InputErrorsGT1” guarantee term823 is conflicting with the “InputErrorsGT2”; and the “Implication1CreationConstraint” creation constraint is824 conflicting with the “Implication2CreationConstraint” creation constraint.825 826 <?xml v e r s i o n = "1.0" en co din g ="UTF−8"?>827 <wsag : Template wsag : TemplateId ="1.3" xmlns : x s i =" h tt p : / / www. w3 . org / 2 0 0 1 / XMLSchema−i n s t a n c e "828 xmlns : wsag=" h tt p : / / schemas . g gf . org / graap / 2 0 0 7 / 0 3 / ws−agreement"829 xmlns : xs =" ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema"830 x s i : schemaLocation=" ht tp : / / schemas . gg f . org / graap / 2 0 0 7 / 0 3 / wsagreement agreement_ty pes . xsd831 ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema XMLSchema . xsd">832 <wsag :Name> TranslateIt !< / wsag :Name>833 <wsag : Context>834 <wsag: AgreementInitiator>I n e e d T r a n s l a t i o n C o r p .</wsag:AgreementInitiator>835 <wsag : AgreementResponder> ITranslate< / wsag : AgreementResponder>836 <wsag:ServiceProvider>AgreementResponder</wsag: ServiceProvider>837 <wsag : ExpirationTime >2012−01−01T00 :00:00< / wsag : ExpirationTime>838 < / wsag : Context>839 <wsag : Terms wsag :Name=" T r a n s l a t i o n S e r v i c e ">840 <wsag : A ll >841 <wsag : S e r v i c e P r o p e r t i e s wsag :Name="SP1"842 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">843 <wsag : V ar i ab le S et >844 <wsag : V a r i a b l e wsag :Name="DemandedTranslationTime" wsag : Metric =" m e tr i c s / metricXML : Time">845 <!−− Time i n m i n ut e s −−>846 <wsag : Location > \ \ DemandedTranslationTime< / wsag : Lo cation >847 < / wsag : V ar ia bl e >848 <wsag : V a r i a b l e wsag :Name=" InputErrors " wsag : Metric=" m et r ic s / metricXML : Pe rcenta ge ">849 <!−− I n p u t t e x t e r r o r s i n p e r c e n t a g e −−>850 <wsag : Location > \ \ InputErrors< / wsag : Location >851 < / wsag : V ar ia bl e >852 < / wsag : V ar ia bl eS et >853 </wsag: ServiceProperties>854 <wsag : S e r v i c e D e s c riptionTerm wsag :Name="SDT1"855 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">856 <OfferItem name="SourceLang">1</ OfferItem> <!−− SourceLang " 1 " = EN−UK −−>857 <OfferItem name="TargetLang">2</ OfferItem> <!−− Tar g e t L a n g "2 " = SP −−>858 </wsag: ServiceDescriptionTerm>859 <wsag : GuaranteeTerm wsag :Name=" TranslationTime1 "860 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">861 <wsag:QualifyingCondition>HumanSupervised=1</wsag:QualifyingCondition>862 <wsag : S e r v i c e L e v e l O b j e c t i v e >863 <wsag : CustomServiceLevel > DemandedTranslationTime&l t ;=10 < / wsag : CustomServiceLevel >864 < / wsag : S e r v i c e L e v e l O b j e c t i v e >865 < / wsag : GuaranteeTerm>866 <wsag : GuaranteeTerm wsag :Name=" TranslationTime2 "867 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">868 <wsag:QualifyingCondition>HumanSupervised=2</wsag:QualifyingCondition>869 <wsag : S e r v i c e L e v e l O b j e c t i v e >870 <wsag : CustomServiceLevel > DemandedTranslationTime&l t ;=100< / wsag : CustomServiceLevel>871 < / wsag : S e r v i c e L e v e l O b j e c t i v e >872 < / wsag : GuaranteeTerm>873 <wsag : GuaranteeTerm wsag :Name="InputErrorsGT1"874 wsag : O bl ig at ed =" ServiceConsumer">875 <wsag : S e r v i c e L e v e l O b j e c t i v e >876 <wsag : CustomServiceLevel > InputErrors&l t ;=1 < / wsag : CustomServiceLevel >877 < / wsag : S e r v i c e L e v e l O b j e c t i v e >878 < / wsag : GuaranteeTerm>879 20
<wsag : GuaranteeTerm wsag :Name="InputErrorsGT2"880 wsag : O bl ig at ed =" ServiceConsumer">881 <wsag : S e r v i c e L e v e l O b j e c t i v e >882 <wsag : CustomServiceLevel > InputErrors&g t ; 1 < / wsag : CustomServiceLevel>883 < / wsag : S e r v i c e L e v e l O b j e c t i v e >884 < / wsag : GuaranteeTerm>885 <wsag : GuaranteeTerm wsag :Name="MinimunTranslationTime"886 wsag : O bl ig at ed =" S e r v ic e P r ov i d er ">887 <wsag : S e r v i c e L e v e l O b j e c t i v e >888 <wsag : CustomServiceLevel > DemandedTranslationTime&g t ; 0 < / wsag : CustomServiceLevel>889 < / wsag : S e r v i c e L e v e l O b j e c t i v e >890 < / wsag : GuaranteeTerm>891 < / wsag : A ll >892 < / wsag : Terms>893 <wsag: CreationConstraints>894 <wsag : Item wsag :Name="SourceLang">895 <wsag : Location > \ \ SourceLang< / wsag : Locat ion >896 <wsag : I t em Co ns tr ai n t >897 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">898 <xs : mi n I n c l us i v e va l u e ="1"/>899 <xs : maxIncl u s ive v a l u e ="3"/>900 < / xs : r e s t r i c t i o n >901 < / wsag : I te mC on s tr ai nt >902 < / wsag : Item>903 <wsag : Item wsag :Name="TargetLang">904 <wsag : Location > \ \ TargetLang< / wsag : Locatio n >905 <wsag : I t em Co ns tr ai n t >906 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">907 <xs : mi n I n c l us i v e va l u e ="1"/>908 <xs : maxIncl u s ive v a l u e ="3"/>909 < / xs : r e s t r i c t i o n >910 < / wsag : I te mC on s tr ai nt >911 < / wsag : Item>912 <wsag : Item wsag : Name=" S i z e "> <!−− S i z e i n A4−pages −−>913 <wsag : Location > \ \ S i z e < / wsag : Locatio n >914 <wsag : I t em Co ns tr ai n t >915 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">916 <xs : mi n I n c l us i v e va l u e ="1"/>917 <xs : maxIncl u s ive v a l u e ="50"/>918 < / xs : r e s t r i c t i o n >919 < / wsag : I te mC on s tr ai nt >920 < / wsag : Item>921 <wsag : Item wsag :Name="Cost">922 <wsag : Location > \ \ Cost < / wsag : Lo cation >923 <wsag : I t em Co ns tr ai n t >924 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">925 <xs : mi n I n c l us i v e va l u e ="1"/>926 <xs : maxIncl u s ive v a l u e ="100"/>927 < / xs : r e s t r i c t i o n >928 < / wsag : I te mC on s tr ai nt >929 < / wsag : Item>930 <wsag : Item wsag :Name="HumanSupervised">931 <wsag : Location > \ \ HumanSupervised< / wsag : Locat ion >932 <wsag : I t em Co ns tr ai n t >933 <xs : r e s t r i c t i o n base =" xs : i n t e g e r ">934 <xs : mi n I n c l us i v e va l u e ="1"/> <!−− d i s a b l e d t he human s u p e r v i s i o n −−>935 <xs : maxIncl u s ive v a l u e ="2"/> <!−− e na b le d th e human s u p e r v i s i o n −−>936 < / xs : r e s t r i c t i o n >937 < / wsag : I te mC on s tr ai nt >938 < / wsag : Item>939 <!−−<wsag : C o n s t r a i n t >940 <Name> C o s t C r e a t i o n C o n s t r a i n t </ Name>941 < Co nt en t > Co st = ( S i z e ∗HumanSupervised ) / DemandedTranslationTime </ Content >942 </ wsag : C o n s t r a i n t >−−>943 <wsag : C on st ra in t >944 <Name> HumanSupervisedCreationConstraint< / Name>945 <Content >HumanSupervised=1< / Content>946 < / wsag : C o ns tr a in t >947 <wsag : C on st ra in t >948 <Name> Implication1CreationConstraint< / Name>949 <Content >HumanSupervised=1 IMPLIES S i z e&g t ; 20 < / Content>950 < / wsag : C o ns tr a in t >951 <wsag : C on st ra in t >952 <Name> Implication2CreationConstraint< / Name>953 <Content >HumanSupervised=1 AND S i z e&l t ; 20 < / Content>954 < / wsag : C o ns tr a in t >955 </wsag:CreationConstraints>956 < / wsag : Template>957 958 WS–Agreement (XML) document 8: Inconsistent template 1.3 959 Template 1 . 3 −TranslateIt ! :960 1Initiator :I n e e d T r a n s l a t i o n C o r p . ,961 2Responder :ITranslate ,962 3ServiceProvider :AgreementResponder ,963 21
4ExpirationTime : 2012−01−01T00 :00:00;964 965 Terms −TranslationService :966 967 1S e r v ic e P r o p e r t i e s −SP1 −TranslationService1 :968 1DemandedTranslationTime −measured by metrics /metricXML :Time969 −related to \ \ DemandedTranslationTime ,970 2InputErrors −measured by metrics /metricXML :P e r c en t a g e971 −related to \ \ InputErrors ;972 973 974 2S e r v i c e D e s c r i p t i o n Term −SDT1 −TranslationService1 :975 SourceLang = 1 , TargetLang = 2 ;976 977 3Guarantees :978 #3.1 −TranslationTime1 (by ServiceProvider ) :979 Qu a l i f y in g Condition :HumanSupervised =1;980 SLO:DemandedTranslationTime <=10;981 982 #3.2 −TranslationTime2 (by ServiceProvider ) :983 Qu a l i f y in g Condition :HumanSupervised =2;984 SLO:DemandedTranslationTime <=100;985 986 #3.3 −InputErrorsGT1 (by ServiceConsumer ) :987 SLO:InputErrors <=1;988 989 #3.4 −InputErrorsGT2 (by ServiceConsumer ) :990 SLO:InputErrors >1;991 992 #3.5 −MinimunTranslationTime (by ServiceProvider ) :993 SLO:DemandedTranslationTime > 0;994 995 996 Creation C o n s t r a i n t s :997 Items :998 1SourceLang :Value Of \ \ SourceLang i s xs :integer [ 1 , 3 ] ,999 2TargetLang :Value Of \ \ TargetLang i s xs :integer [ 1 , 3 ] ,1000 3S i z e :Value Of \ \ S i z e i s xs :integer [ 1 , 5 0 ] ,1001 4Cost :Value Of \ \ Cos t i s xs :integer [ 1 , 1 0 0 ] ,1002 5HumanSupervised :Value Of \ \ HumanSupervised i s xs :integer [ 1 , 2 ] ,1003 1004 Constraints :1005 1HumanSupervisedCreationConstraint :1006 HumanSupervised= 1;1007 2Implication1CreationConstraint :1008 HumanSupervised=1 IMPLIES S i z e >20;1009 3Implication2CreationConstraint :1010 HumanSupervised=1 AND S i z e <20;1011 1012 WSAg4People document 9: Inconsistent template 1.3 Despite of the WS–Agreement template of document 10 and its equivalent WSAg4People document 111013 include warnings, they are consistent templates.1014 1015 <?xml v e r s i o n = "1.0" en co din g ="UTF−8"?>1016 <wsag : Template wsag : TemplateId ="1.4"1017 xmlns : x s i =" h tt p : / / www. w3 . org / 2 0 0 1 / XMLSchema−i n s t a n c e "1018 xmlns : wsag=" h tt p : / / schemas . g gf . org / graap / 2 0 0 7 / 0 3 / ws−agreement"1019 xmlns : xs =" ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema"1020 x s i : schemaLocation=" ht tp : / / schemas . gg f . org / graap / 2 0 0 7 / 0 3 / wsagreement agreement_ty pes . xsd1021 ht tp : / / www. w3 . org / 2 0 0 1 / XMLSchema XMLSchema . xsd">1022 <wsag :Name> TranslateIt !< / wsag :Name>1023 <wsag : Context>1024 <wsag: AgreementInitiator>I n e e d T r a n s l a t i o n C o r p .</wsag:AgreementInitiator>1025 <wsag : AgreementResponder> ITranslate< / wsag : AgreementResponder>1026 <wsag:ServiceProvider>AgreementResponder</wsag: ServiceProvider>1027 <wsag : ExpirationTime >2012−01−01T00 :00:00< / wsag : ExpirationTime>1028 < / wsag : Context>1029 <wsag : Terms wsag :Name=" T r a n s l a t i o n S e r v i c e ">1030 <wsag : A ll >1031 <wsag : S e r v i c e P r o p e r t i e s wsag :Name="SP1"1032 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">1033 <wsag : V ar i ab le S et >1034 <wsag : V a r i a b l e wsag :Name="DemandedTranslationTime" wsag : Metric =" m e tr i c s / metricXML : Time">1035 <!−− Time i n m i n ut e s −−>1036 <wsag : Location > \ \ DemandedTranslationTime< / wsag : Lo cation >1037 < / wsag : V ar ia bl e >1038 < / wsag : V ar ia bl eS et >1039 </wsag: ServiceProperties>1040 <wsag : S e r v i c e D e s c riptionTerm wsag :Name="SDT1"1041 wsag : ServiceName=" T r a n s l a t i o n S e r v i c e 1 ">1042 <OfferItem name="SourceLang">1</ OfferItem> <!−− SourceLang " 1 " = EN−UK −−>1043 <OfferItem name="TargetLang">2</ OfferItem> <!−− Tar g e t L a n g "2 " = SP −−>1044 < Of fer It em name=" S i z e ">20</ OfferItem>1045 22
1508 Explanation Result 21: Explaining result got from documents 14-15 The explaining result for the inconsistent template of documents 4-5 is as follows:1509 1510 Explaining Result :1511 I n c o n s i s t e n t terms :1512 explainedBy :SDT1 (S i z e =51), HumanSupervisedCreationConstraint .1513 1514 Explanation Result 22: Explaining result got from documents 4-5 The explaining result for the inconsistent template of documents 6-7 is as follows:1515 1516 Explaining Result :1517 I n c o n s i s t e n t terms :1518 explainedBy :SDT1 (S i z e =20), SizeCreationConstraint (S i z e < 2 0 ) ;1519 SDT1 (TargetLang =2) , TargetLangGT (TargetLang >2);1520 InputErrorsGT (InputErrors <=1) , InputErrorsCreationConstraint (InputErrors > 1 ) .1521 1522 Explanation Result 23: Explaining result got from documents 6-7 The explaining result for the inconsistent template of documents 8-9 is as follows:1523 1524 Explaining Result :1525 I n c o n s i s t e n t terms :1526 explainedBy :Implication1CreationConstraint (HumanSupervised=1 IMPLIES S i z e >20),1527 Implication2CreationConstraint (HumanSupervised=1 AND S i z e < 2 0 ) ;1528 InputErrorsGT1 (InputErrors <=1) , InputErrorsGT2 (InputErrors > 1 ) .1529 1530 Explanation Result 24: Explaining result got from documents 8-9 The explaining result for the inconsistent agreement offer of documents 12-13 is as follows:1531 1532 Explaining Result :1533 I n c o n s i s t e n t terms :1534 explainedBy :TranslationTime1 (InputErrors=1 AND InputErrors =2);1535 InputErrorsGT (InputErrors <=1 AND InputErrors >1);1536 InputErrorsGT2 (InputErrors <10 , InputErrors >=10).1537 1538 Explanation Result 25: Explaining result got from documents 12-13 A.3 Operation Compliance Checking1539 The consistent WS–Agreement offer of documents 16-17 is compliant with the consistent template of doc-1540 uments 2-3 because the service description term of the offer is compliant with the template creation con-1541 straints (WS–Agreement template compliance in Fig. 9), and the offer terms are compliant with the template1542 terms (extended WS–Agreement template compliance8in Fig. 9).1543 However, the consistent WS–Agreement offer of documents 18-19 is not compliant with the consistent1544 template of documents 2-3 because the service description term of the agreement offer is not compliant1545 with the template creation constraints.1546 A.4 Operation Non-Compliance Explanation1547 An explanation is not needed for the compliant WS–Agreement offer of documents 16-17 with the tem-1548 plate of documents 2-3. However, the non-compliance WS–Agreement offer of documents 18-19 with such1549 template needs the following explaining.1550 8This extended WS–Agreement template compliance notion was defined in [7] 29
WS-Agreement template compliance definition Extending WS-Agreement template compliance definition Figure 9: Summary of Compliance between WS-Agreement templates and offers (detailed in [7]). 1551 Explaining Result :1552 Non−Compliance terms :1553 From template :C o s t C r e a t i o n C o n s t r a i n t (Cos t =( S i z e ∗HumanSupervised ) / DemandedTranslationTime ) ,1554 From o f f e r :Translation_by_Computer (Cost =1) / / The r i g h t c o s t would be ( 2 0∗1)/2=10.1555 1556 Explanation Result 26: Explaining result got from non-compliant offers 18-19 with template 2-3 30