Paper Number: 16 Paper Title: Defining the Semantics of UML Class and Sequence Diagrams for Ensuring the Consistency and Executablity of OO Software Specification Authors: Frank Xia and Gautam S.Kane Score Values -----------(Review 1)---------------------------------------------------------------------- Appropriateness: 2 Originality: 3 Technical Strength: 2 Presention: 2 Overall: 2 Comments to the authors: 1. You talk about issues on ensuring the consistency between UML daigrams and implementation (both in introduction and conclusion), but no evidence is shown how your approach helps in the field. 2. In term of consistency, your approach mainly focuses on the scoping aspect, which is essential for class diagrams but not for sequence diagrams. Minor points: 1. Page 2, What does GOOAL stand for? Any reference? 2. Over-use of the word "Object" for attributes, parameter and etc. 3. Page 6, in the first definition, what is m_1? Score values 3 (weak accept) -------(Review 2)----------------------------------------------------------------------------------------------------------- Appropriateness: 4 Originality: 4 Technical strength:3 Presentation: 3 ------------------------------------------------------------------------------------------------------------------- Overall: 3 Comments to the authors: This paper presents a formal framework for UML specification via attributed grammar. In particular, semantics of Sequence Diagram is formalised. The point the paper focused is very important and the authors try to resolve the problem in a logical way. Some of the weak points in the paper are: - They just present some axioms and theorems on the semantics of Sequence Diagram. There are no proof of them (for example, soundness can be proved?). - The application tool has not yet developed. Thus, readers cannot estimate the usefulness properly. further comments: In order to improve the paper, an example based explanation is needed. Readers want to know what properties can be proved via the mathod. Also they want to know what properties cannot be proved via the mathod. These can be explained through a proper example. Discussions on which aspects can be formalised and which aspects cannot be formalised, are interested. In Introduction, "semantics of these diagrams is still in English" -> "semantics of these diagrams is still in a natural language". Score values 0 (reject), 1(weak reject), 2 (neutral), 3 (weak accept), and 4 (accept). --------(Review 3)---------------------------------------------------------------------------------------------------------- Appropriateness: 2 Originality: 2 Technical strength: 1 Presentation: 1 ------------------------------------------------------------------------------------------------------------------- Overall: 1.5 Comments to the authors: 1. Using abbreviation without explanation : (Not critical, but, recommend fixing) 1) QA ?. It appear in first paragraph of introduction section. 2) GOOAL ?. It appear in first paragraph of section 2.1. 3) SD and S.D. in section 5. 2. the relation between terms 1) what's the difference among operation, method and action ? Is there any different meaning among three terms ?. If they are exactly same meaning, it must defined before using them for same meaning like relation between class and object (the last sentence of the first paragraph in section 2.1). If someone want to define consistent semantics for ambiguous meaning, all term's type is must defined consistently. For example, evoke predicate has two input fators that set method type. But, It has one operation type factor x and one method type m as an input factor in AG 2 that defined page 4. Moreover, action type element m is defined an element of op_ref that is set of operation. On defining some type in section 2, it defines only method type. But, it uses three terms as a same type without any assumption. The purpose of paper is the formal definition of ambiguous meaning. Despite of such purpose, it uses some terms as inconsitency type. 2) attribute and object are not same type. On AG.2 in page 4, variable a is defined as attribute of class A in the first predicate. it is also defined as an element of obj_ref that is a set of object element in second predicate. It is not a mistake, but last statement of second predicate has a vis(visibility) attribute that is not mentioned in object definition. If it use a.vis, it means variable a that use as attribute type. it uses inconsitent type when using same type in a predicate. then, definition has inconsitency, maybe I am wrong, though. 3. definitions that need to be clear. 1) On the fisrt definition in page 6, it uses operation m that use to define object's activity and also use m1 to define external actor's activity. In my opinion, you would like to describe some difference between object and external actor. What is the relationship between m and m1 ? 2) On the third definition in page 6, it defines action that occurred between sender and receiver. But, there is no definition about type of them. 3) On proposition 4 in page 5, its predicate already defined in the first paragraph of section 2.2.2. It is not clear to see why a same predicate is used for different purpose ?