diff --git a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/Checker.java b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/Checker.java
index 34295aed42c175243d44144e045783ed537cb664..a58de8526695fef3dffa65962e1e9a88f2b050f4 100644
--- a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/Checker.java
+++ b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/Checker.java
@@ -50,7 +50,7 @@ public abstract class Checker {
 		org.eclipse.uml2.uml.Package pack = EntityUtil.getInstance().getCurrentSystemView();
 		if(pack == null) {
 			IFile file = EntityUtil.getInstance().getCurrentIFile();
-			System.out.println("file: "+file);
+			logger.debug("file: "+file);
 			EntityUtil.getInstance().openCurrentModelIntoEditor(file);			
 		}
 		
@@ -91,9 +91,8 @@ public abstract class Checker {
 	 * Just runs the check() method and returns the scheduled job.
 	 * @param pack
 	 * @return
-	 * @throws Exception
 	 */
-	public Job syncCheck(Package pack) throws Exception {
+	public Job syncCheck(Package pack) {
 		CheckerManager checkerManager = org.polarsys.chess.checkers.Activator.getCheckerManager();
 		IFile iFile = WorkspaceSynchronizer.getFile(pack.eResource());
 
diff --git a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckerManager.java b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckerManager.java
index 22374395a8de426673fa9d8e918690ef604f62e0..51700bf5515d8fce2caed27097a694636b282f8c 100644
--- a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckerManager.java
+++ b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckerManager.java
@@ -83,13 +83,14 @@ public class CheckerManager {
 	 * Launches the check() of the various checkerContainers and waits for their finish.
 	 * @param selectedCheckersTags
 	 * @param pkg
-	 * @throws Exception
+	 * @return 
 	 */
-	public void runSync(Set<String> selectedCheckersTags, Package pkg, IProgressMonitor monitor) throws Exception {
+	public List<Exception> runSync(Set<String> selectedCheckersTags, Package pkg, IProgressMonitor monitor) {
 		logger.debug("runSync");
+		final List<Exception> errors = new ArrayList<Exception>();
 		checkerStatus = new HashMap<String, Boolean>();
 		messages = new ArrayList<CheckerMessage>();
-		List<Job> jobs = new ArrayList<Job>();
+		final List<Job> jobs = new ArrayList<Job>();
 		for (CheckersContainer checkersContainer : checkersContainers) {
 			logger.debug("run checkersContainer");
 			jobs.addAll(checkersContainer.runSync(selectedCheckersTags, pkg));
@@ -99,7 +100,6 @@ public class CheckerManager {
 		while(!allEnded) {
 			allEnded = true;
 			for (Entry<String, Boolean> entry : checkerStatus.entrySet()) {
-				logger.error("Checker name = " + entry.getKey() + " value = " + entry.getValue());
 				allEnded &= entry.getValue();
 			}
 			if (allEnded) break;
@@ -107,10 +107,16 @@ public class CheckerManager {
 				for (Job job : jobs) {
 					job.cancel();
 				}
+				errors.add(new Exception("Esecuzione checker interrotta"));
 				break;
 			}
-			TimeUnit.SECONDS.sleep(5);
+			try {
+				TimeUnit.SECONDS.sleep(5);
+			} catch (InterruptedException e) {
+				e.printStackTrace();
+			}
 		}
+		return errors;
 	}
 	
 	public void register(CheckersContainer checkersContainer) {
diff --git a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckersContainer.java b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckersContainer.java
index 4963c13d122cd6021ab12654f2f9ba87ef363f60..3b37d2d8cb771353b288baf3e7bec0199b79ca65 100644
--- a/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckersContainer.java
+++ b/plugins/org.polarsys.chess.checkers/src/org/polarsys/chess/checkers/core/checkerManager/CheckersContainer.java
@@ -55,9 +55,8 @@ public class CheckersContainer {
 	 * Runs the check() of the selected checkers and returns the scheduled jobs.
 	 * @param checkersTags
 	 * @return the list of scheduled jobs 
-	 * @throws Exception
 	 */
-	public List<Job> runSync(Set<String> checkersTags, Package pkg) throws Exception {
+	public List<Job> runSync(Set<String> checkersTags, Package pkg) {
 		final List<Job> jobs = new ArrayList<Job>();
 		for (Checker checker : checkers) {
 			checkerManager.updateCheckerStatus(checker.unifiedName, false);