svn commit: r17299 - trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java

Michiel van der Wulp <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: mvw
Date: 2009-08-30 00:07:15-0700
New Revision: 17299

Modified:
   trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java

Log:
Fix for issue 715 - added a critic to spot triggers on transitions from action states.

Modified: trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java?view=diff&pathrev=17299&r1=17298&r2=17299
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/profile/internal/ProfileUML.java	2009-08-30 00:07:15-0700
@@ -1,5 +1,5 @@
 // $Id$
-// Copyright (c) 1996-2007 The Regents of the University of California. All
+// Copyright (c) 1996-2009 The Regents of the University of California. All
 // Rights Reserved. Permission to use, copy, modify, and distribute this
 // software and its documentation without fee, and without a written
 // agreement is hereby granted, provided that the above copyright notice
@@ -285,8 +285,28 @@
                     "http://www.uml.org/"));
         } catch (InvalidOclException e) {
             e.printStackTrace();
-        }        
-        
+        }
+
+        // ActionState
+        // 4.13.3.2 [3]
+        // Issue 715
+        try {
+            critics.add(new CrOCL("context ActionState inv:"
+                    + "self.outgoing->forAll(t | t.trigger->size = 0)",
+                    "Transitions originating from an action state have no trigger event.",
+                    "As soon as the incoming transition of an ActionState is triggered, " +
+                    "its entry action starts executing. Once the entry action has " +
+                    "finished executing, the action is considered complete. " +
+                    "When the action is complete, then the outgoing transition " +
+                    "is enabled. \n\n" +
+                    "Hence the outgoing transition shall not have a trigger event.\n\n" +
+                    "To address this, remove the trigger event.", 
+                    ToDoItem.HIGH_PRIORITY, null, null,
+                    "http://www.uml.org/"));
+        } catch (InvalidOclException e) {
+            e.printStackTrace();
+        }
+
         setCritics(critics);
     }

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2388626

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.