diff --git a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup index cbb42481665320f2e940009a9221dbc7514926b3..08f6a6983239af866044ec9d6b6bc3f20e8844aa 100644 --- a/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup +++ b/src/main/java/avatartranslator/tosysmlv2/javacup/AvatarFromSysML.jcup @@ -477,6 +477,9 @@ syncChDecl ::= PART:p IDENT:id COLON SYNC_T EQUAL SYNC_T LPAR RELATION_F EQUAL I addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() + " is already declared", theChannel.getLeft()) ); } else { + if (theRelation.getAsynchronous()) + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, + pxleft, "synchroneous channels require a synchroneous relation\n")); theRelation.addChannel(theChannel); theChannel.setLeft(pxleft); theChannel.setRight(sxright); @@ -489,6 +492,9 @@ nbfChDecl ::= PART:p IDENT:id COLON NBFIFO_T EQUAL NBFIFO_T LPAR RELATION_F EQUA addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() + " is already declared", theChannel.getLeft()) ); } else { + if (! theRelation.getAsynchronous()) + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, + pxleft, "FIFO channels require an asynchroneous relation\n")); theRelation.addChannel(theChannel); theChannel.setLeft(pxleft); theChannel.setRight(sxright); @@ -501,6 +507,9 @@ bfChDecl ::= PART:p IDENT:id COLON BFIFO_T EQUAL BFIFO_T LPAR RELATION_F EQUAL I addError( new AvatarFromSysMLError(AvatarFromSysMLError.LOWERROR, pxleft, "Channel " + id.getAvatarName() + " is already declared", theChannel.getLeft()) ); } else { + if (! theRelation.getAsynchronous()) + addError(new AvatarFromSysMLError(AvatarFromSysMLError.HIGHWARNING, + pxleft, "FIFO channels require an asynchroneous relation\n")); theRelation.addChannel(theChannel); theChannel.setLeft(pxleft); theChannel.setRight(sxright);