QVT 1.0 NO IDEA Avatar
  1. OMG Issue

QVT — Typos and omissions in the QVT operational Part

  • Key: QVT-35
  • Legacy Issue Number: 11023
  • Status: closed  
  • Source: France Telecom R&D ( Mariano Belaunde)
  • Summary:

    The QVT operational part have some typos, omissions as well as some english
    language errors that need to be corrected.
    For instance:

    (1) In Type Extensions sub-section: "to the type systems" => "to the type system".
    (2) In Typedef definition, repetition of "is never instantiated".
    (3) In AnonymousTupleLiteralExp, TupLiteralPart does not exist. Should be
    AnonymousTupleLiteralPart. The multiplicity of 'part' should be '*' and 'ordered'
    is missing.

  • Reported: QVT 1.0b1 — Fri, 18 May 2007 04:00 GMT
  • Disposition: Resolved — QVT 1.0
  • Disposition Summary:

    Resolution:

    (1) In section 8.1.1 replace "if the source text file only defines…" by "if the source text file defines …".
    (2) In Section 8.1.2 replace "The UML and RDBMS refer to…" by "The UML and RDBMS model types refer to …".
    (3) In Section 8.1.2 replace "…the transformation writer may explicitly indicate …" by "…the transformation writer may indicate…" (this avoids repetition of explicit in the following sentence). Also replace 'to be build' by 'to be built' (English).
    (4) In Section 8.1.4, replace "is always a refinement of a relation…" by "is always a refinement of an implicit relation…"
    (5) In Section 8.1.4, replace "The packageToSchema mapping operation defined below defines …" by "The packageToSchema mapping operation below defines…" (avoid redundancy).
    (6) In Section 8.1.4, replace "rather than a creating …" "rather than creating …"
    (7) In Section 8.1.5 replace "Afterthat the list of expressions of the body of the object expressions are executed…" by "The list of expressions of the body of the object expression are then executed…"
    (8) In Section 8.1.5 replace "implicance" by "outcome"
    (9) In Section 8.1.5 replace "is described in …" by "in described in Section …"
    (10) In Section 8.1.6 replace "do not imples…" by "does not implies…"
    (11) In Section 8.1.6 replace "an object expression do not creates an instance if the target variable has a non null value." By an object expression, such as 'object x:X

    {…}', does not create an instance if the target variable - 'x' in the example - has a non-null value".
    (12) In Section 8.1.6 replace "is systematically…" by "will be systematically…"
    (13) In Section 8.1.6 replace "we are using here the "collect shorthand" by "we are using here the collect shorthand convention". Also use italics to mark 'collect shorthand'.
    (14) In Section 8.1.6 replace "that create instance" by "that creates instances"
    (15) In Section 8.1.7 replace"various mapping" by "various mappings"
    (16) In Section 8.1.7, in code '…getSqlType(a.type))}' remove the final closing brace.
    (17) In Section 8.1.7, replace "does not interleave" by "does not interleaves"
    (18) In Section 8.1.7, add blank space between "best" and "solution".
    (19) In Section 8.1.8, replace 'list += self.retrieveCandidates();' by 'list.append(self.retrieveCandidates())'.
    (20) In Section 8.1.9, replace 'Below an example' 'Below we provide an example'.
    (21) In Section 8.1.9, replace 'scope of transformation' by 'scope of the transformation'
    (22) In Section 8.1.10, replace '#Table' by 'Table' and remove "(the notation '#Table' is a shorthand for isKindOf(Table))"
    (23) In Section 8.1.10, remove 'to the invresolve operator'
    (24) In Section 8.1.10, remove the open and close parenthesis introduced after 'until the end of the transformation'. Insert a comma instead of the open parenthesis.
    (25) In Section 8.1.10, replace ', as in the' by '. The' (to create a new sentence)
    (26) In Section 8.1.10, replace '#JAVA::Interface' by 'JAVA:Interface'
    (27) In Section 8.1.10, replace 'We provide below a solution' by 'We provide below an equivalent solution'.
    (28) In Section 8.1.11, replace "real" by "and complex". Also, insert "To this end " before "The language…".
    (29) In Section 8.1.11 replace 'almost a mapping' by ''mappings'.
    (30) In Section 8.1.11 replace 'This occurs in rule 2 for Foo instance" by "This occurs in Rule 2 for the Foo instances"
    (31) In Section 8.1.13, in the code after 'Below and example' move the open brace so that it is after the closing bracket of the when clause and not after "JAVA::Constructor". Apply this for the two operations convertConstructor and convertOperation.
    (32) In Section 8.1.14, replace 'a anonymous' by 'an anonymous'
    (33) In Section 8.1.14, replace '_parentInstance' by 'container'
    (34) In Section 8.1.14, before the sentence 'A typedef can also…' inserts the sentence: "The '#Metaclass" notation - respectively '##Metaclass' - is a shorthand for isKindOf(Metaclass) - respectively isTypeOf(Metaclass).
    (35) In Section 8.1.15 replace 'confortable' by 'comfortable', 'realize' by 'realizes', remove 'some nice' and 'that we found'.
    (36) In Section 8.1.15, remove "'a block expression is not a function!).
    (37) In Section 8.1.15, replace 'the role of a for loop in Java' by 'the role of a loop instruction is Java language'.
    (38) In Section 8.1.15, replace 'that is not constrained' by 'that is less constrained'
    (39) In Section 8.1.15 replace the code starting with var x:= by the following simplified code:
    var x:= if (self.name.startsWith("_") "PROTECTED"
    elif (self.type.isPrimitive() "NORMAL"
    else "UNEXPECTED";
    (40) At the beginning of Section 8.1.16, replace 'This…' by 'The variable this …'
    (41) In Section 8.1.18 replace the quotes around 'compiling'
    (42) In Section 8.1.18 replace the sentence 'Synchronization is done … of the transformation' by "Synchronization is achieved through the invocation of the wait operation on the status variable returned by the 'transform' operation.
    (43) In Section 8.1.18 replace 'tho two pim model' by 'the two PIM models'
    (44) In Section 8.1.18 replace "is a magical requirement to psm transformation" by "is a 'Requirement to PSM' transformation.
    (45) In Section 8.2.2.1, replace '… this package grouped into…' by '… this package are grouped into …'
    (46) In Section 8.2.1.1.1 Operational Transformation, add missing comma in 'that is,' after 'may define configuration properties'.
    (47) In Section 8.2.1.1.1, Operational Transformation replace 'TransformationInstanceExp' by 'InstantiationExp'.
    (48) In Section 8.2.1.1.1 Operational Transformation, in constraints subsection, replace all occurrences of '<>OclUndefined' by '.isOclUndefined()'.
    (49) In Section 8.2.1.1.1 Operational Transformation, in semantics subsection, remove "For convenience," and replace "is described" by "is described below"
    (50) In Section 8.2.1.1.1 Operational Transformation, in notation subsection, replace 'within brackets' by 'within braces'. Also replaces "using the refined keyword" by "using the refines keyword".
    (51) In Section 8.2.1.1.2 Library, replace 'no implementation' by 'this means that no implementation'. Also in semantics sub-section, remove 'for convenience' and replace 'is described' by 'is described below'.
    (52) In Section 8.2.1.1.2 Library, replace 'For each declared model types there is conceptually a …' by 'For each declared model type there is, conceptually, a …'. Also, in notation section, adds commas before and after "in this case".
    (53) In Section 8.2.1.4 ModuleImport, replace 'non library' by 'non-library'
    (54) In Section 8.2.1.5 ModelParameter, in notation sub-section,, remove "If the direction kind is not provided the in value is assumed".
    (55) In Section 8.2.1.6 ModelType, replace the sentence "The binding between …" by the sentence "See semantics sub-section for the binding rules between actual and effective types ". Also remove sentence "In both cases …" (since already in the semantics part).
    (56) In Section 8.2.1.6 Model Type, replace "To restrict the set of valid participant models further…" by "To restrict further the set of valid participant models …".
    (57) In Section 8.2.1.6 Model Type, in "Semantics of model compliance subsection", replace "In both cases (strict or effective), model compliance implies additionally to comply with extra constraints of the model type" by "In both cases - strict of effective - model compliance implies that all the extra conditions (see extraCondition property) are satisfied as well as any pre-existing well-formedness rule that exists for the associated metamodel.
    (58) In Section 8.2.1.6 Model Type, in "Semantics of model compliance subsection", remove sentence "Effective compliance allows defining… with UML 1.3 models" (since it is a repetition).
    (59) In Section 8.2.1.6 Model Type, in Notation sub-section, add missing double quote in example "modeltype UML uses SimpleUML…".
    (60) In Section 8.2.1.6 Model Type, in Notation sub-section, replace "A modeltype symbol" by "A modeltype declaration in a transformation signature"
    (61) In Section 8.2.1.6 ImperativeOperation, within the description of the ownedParameter association, replace "The other parameters of the operation" by "The list of parameters of the operation excluding the context and result parameters".
    (62) In Section 8.2.1.11 EntryOperation, replace "which is invoked on entry" by "which is invoked when the transformation execution starts".
    (63) In Section 8.2.1.11 Helper, replace "that is executed is sequence" by "that is executed in sequence". Also replace the sentence "The notation is the notation for any imperative operation …" by "The notation uses the standard convention for notating operations in UML except that the query or helper keywords are used to prefix the declaration. The latter 'helper' prefix is used when the operation provokes side-effects. Also, replace "He self variable…" by "The self variable …".
    (64) In Section 8.2.1.13 Constructor, replace "A constructor operation is implicitly or explicitly invoked through instantiation expression." by "A constructor operation can be explicitly invoked through an instantiation expression."
    (65) In Section 8.2.1.15 MappingOperation, add 'conceptually' after 'always refines'. Also, replace "This essentially means…" by "This means…" (three occurrences). Add commas sourrounding "among the set of disjuncted mappings". Replace "the details of the semantics of the reuse facilities" by "the details of these resuse facilities". Also replace 'refinedRelation: Relation[1]' by 'refinedRelation [0..1]' (consistency with OperationalTransformation:refined multiplicity), add 'if any' after 'the refined relation' and remove sentence 'The relation defines the guard…'..
    (66) In Section 8.2.1.15 MappingOperation, semantics sub-section, replace "After passing of the parameters" by "After passing the parameters". Also, replace "of the actual object parameters and the…" by "of the actual parameters as well as…". Also replace "if the out parameter was…" "if the out parameters were…".
    (67) In Section 8.2.1.15 OperationBody, replace "which is made of an ordered list" by "which is an ordered list". Also in Notation sub-section, replace "semi colons" by "semi-colons".
    (68) In Section 8.2.1.18 ConstructorBody, replace "An constructor body" by "A constructor body". Also replace "semi colons" by "semi-colons". Add comma after 'body notation'.
    (69) In Section 8.2.1.19 MappingBody, replace
    initSection : OclExpression [0..1] {ordered} by
    initSection : OclExpression [0..*] {composes,ordered}
    (70) In Section 8.2.1.19 MappingBody, replace
    /content : OclExpression [0..*] {ordered} by
    /content : OclExpression [0..*] {composes,ordered} (from OperationBody)
    (71) In Section 8.2.1.19 MappingBody, replace
    endSection : OclExpression [0..1] {ordered} by
    endSection : OclExpression [0..*] {composes,ordered}
    (72) In Section 8.2.1.19 MappingBody, notation sub-section replaces "uses firstly braces" by "uses braces". Also replace "On the contrary," by "The" (to avoid double negation). Also replace "may be required is certain " by "may, however, be required in certain ".
    (73) In Section 8.2.1, sub-section "Concepts related with the usage of imperative operations", replace "related with" by "related to".
    (74) In Section 8.2.1.20, replace "Unless isScoped is true" by "Unless isVirtual is true". Also, in attributes sub-section, replace 'virtual : Boolean = true' by 'isVirtual : Boolean = true'.
    (75) In Section 8.2.1.20 ImperativeCallExp in notation sub-section, replace "An imperative call is notated as any other operation call where the source …" by " An imperative call is notated as any other operation call. The source …". Also, after "in terms of the execution semantics" adds "- the source is the transformation class itself, denoted by 'this' -".
    (76) In Section 8.2.1.21 MappingCallExp, replace "value of the strict" by "values of the isStrict". Also remove ", that is, provokes an exception if it evaluates to false".
    (77) In Section 8.2.1.21 MappingCallExp in Notation section, replace "is noateted as any other imperative operation call" by "is notated as any operation call". Also replace "is used when strict is true" by "is used when isStrict is true". Also replaces "Depending whether" by "If" and replaces "the call notation will require or not require a source object" by "the call requires a source object". In all the text replace "non strict" by "non-strict".
    (78) In Section 8.2.1.21 MappingCallExp in Notation section, replace "on a list" by "on a list as source". Also replace #Class by Class.
    (79) In Section 8.2.1.21 MappingCallExp in Notation section, Replace text from "We should note that …" to "as the source of the call" by "Invoking a mapping operation with a transformation instance as the source argument may be useful when a transformation make usage of other coarse-grained transformations (transformation composition)."
    (80) In Section 8.2.1.22 ResolveExp, replace "Finally, the last orthogonal variant," by "The last orthogional variant". Also replace "It is typically useful" by "It may be useful".
    (81) In Section 8.2.1.22 ResolveExp, sub-section semantics, replace "corresponding relation" by "corresponding implicit relation". Also replace parenthesis in "or, what is equivalent…", by dashes "-". Also add add comma after "In this sense" and remove comma in "see, AssignExp". Also remove "later - more precisely -"
    (82) In Section 8.2.1.24 ObjectExp, remove "specific" word. Replace "non null" by "non-null". Replace "All visible variables" by "All variables" Add comma after "When provided". Replace
    "list->object {…}

    // shorthand for list->xcollect object

    {…}
    by : "list->object X{…}

    // shorthand for list->xcollect object X

    {…}

    (83) In Section 8.2.2.3 ComputeExp, replace "defines body" by "defines a body". Replace "and return null" by "and returns null". In the definition of the body property, add the "

    {composes, ordered}" indication.
    (84) In Section 8.2.2.3 ImperativeLoopExp, replace "imperative loop constructs" by "imperative loop constructs such as".
    (85) In Section 8.2.2.6 ForExp adds commas before and after "whereas". Add the {composes, ordered}

    indication in '/iterator' property description. Replace 'Set(T)::forEach(source, iterator, condition, body) : Seq(TT)'
    by 'Collection(T)::forEach(source, iterator, condition, body)'. Also replace 'Set(T)::forOne(source, iterator, condition, body) : Seq(TT)'
    by 'Collection(T)::forOne(source, iterator, condition, body)'. Add "T represents the type of the source element". Adds the paragraph "Collection(T) is any collection type. When applying the for expression, if the source collection is not ordered it is implicitly converted into the corresponding ordered collection (Set and Bag become respectively OrderedSet and Sequence). Replace "is embedded with" by "is embedded within".
    (86) In Section 8.2.2.7 ImperativeIterateExp, in semantics sub-section, replace occurrences of Seq(T) as Collection(T) and replace occurrences of Seq(TT) as Sequence(TT). Also before "If the condition…" add the sentence: " When applying the imperative iterate expression, if the source collection is not ordered it is implicitly converted into the corresponding ordered collection (Set and Bag become respectively OrderedSet and Sequence). Replace "collectectSelect" by "collectselect". Also, add comma after "hence".
    (87) In Section 8.2.2.7 ImperativeIterateExp, remove repeated sentence "The target variable …". Replace "the target variable is implicit here" by "the iterator variable is implicit here".
    (88) In Section 8.2.2.8 SwitchExp in alternativePart property definition, replace

    {ordered}

    by

    {ordered, composes}

    . Also replace "Tre endif keyword can be skipped since it …" by "The endif keyword may be skipped. It …". Also replace "produces a grammar conflict in parsers that can can be solved through look ahead" by "may produce a grammar conflict in parsers which can, however, be solved through appropriate look-ahead.
    (89) In Section 8.2.2.10 VariableExp replaces "A variable initialization expression represents the declaration and the initialization of a variable" by "A variable initialization expression represents the declaration of a variable with an optional initialization value". Also replace "ImpertaiveExpression by ImperativeExpression". In the description of 'withReturn' property, add "The default value is false". Also remove the sentence "See the execution semantic section for the definition of scope rules". Replace "Multiple variable declaration" by "Multiple variable declarations".
    (90) In Section 8.2.2.11 AssignExp, replace "If the value filed…" by "If the provided value is made…". Also replace "by a deferred resolve expressions" by "by a deferred resolve expression". Remove sentence "See semantics details below. Replace "(but null if a fuure value is in right-hand side)" by "unless it is a future value, in which case null is returned". In 'isReset' description, add commas around "for a multivalued target". In association definitions adds the following indications:

    {composes, ordered} for value, {composes} for left and defaultValue. In Notation section, replace "'::=' object Node" by ":= objectNode".
    (91) In Section 8.2.2.11 TryExp, replace "catching of the exception occurs" by "catching of an exception occurs".
    (92) In Section 8.2.2.10 ContinueExp, replace "A continue expression is used, within an interation over a list of expressions" by "Within an interation over a list of expressions, a continue expression is used…". Also, replace "break" by "continue" and remove "- like the side-effect free OCL iterate expression."
    (93) In Section 8.2.2.19 AssertExp, replace "an qassertion holds" by "a condition holds". In Associations sub-section replace: "assertion: OclExpression [0..1]" by "assertion:OclExpression [1] {composes}. Also replace "(warning or fatal keywords)" by "- warning or fatal indentifiers - ".
    (94) In Section 8.2.2.23 InstantiationExp, replace the code after "the following shorthand can be used" by:
    column := self.attribute->new(a) Column(a.name,a.type.name);
    // equivalent code:
    // column := self.attribute->xcollect(a|new Column(a.name,a.type.name));
    (95) In Section 8.2.2 Type Extensions sub-chapter, replace "are two mutable extensions of Collection Types" by "are two mutable collection types".
    (96) In Section 8.2.2.24, replace "A typedef allows to constraint" by "A typedef allows constraining". Remove "A typedef is never instantiated" and Remove "In the perspective of the runtime environment a typedef is never instantiated. Replace "This is specifically used" by "This may be used for". Remove the paragraph starting with "When the base class is not …".
    (97) In Section 8.2.2.25 ListType, replace "It contains an ordered …" by "A value conforming to this type contains an ordered …"
    (98) In Section 8.2.2.25 DictionaryType, replace "elments" by "elements"
    (99) In Section 8.2.2.28, replace "used in defining" by "used when defining". Also replace "ithin" by "within". Also replace "provide means" by "provide a mean".
    (100) In Section 8.2.2.29 DictLiteralExp, replace "part : OclExpression [1] {composes}" by "part : OclExpression [*] {composes, ordered}

    "
    (101) In Section 8.2.2.30 AnonymousTupleLiteralExp, replace 'consist' by 'consists'. Also replace 'TupLiteralPart' by 'OrderedTupleLiteralPart'.. replaces 'part : oclxpression [1]

    {composes}

    ' by 'part : OclExpression [*]

    {composes, ordered}
  • Updated: Fri, 6 Mar 2015 20:54 GMT