# HG changeset patch # User one # Date 1358235717 -32400 # Node ID f77f0bb99f35c4e16ab789c7ffffa9e1e9e40dfe # Parent edd9ced13896a00688eb821c0a96bac8f037077d modify each CodeSegment diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/EatCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/EatCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ b/src/alice/test/dpp/codesegment/philosophy/EatCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -17,8 +17,8 @@ public void run() { Philosophy phil = arg1.asClass(Philosophy.class); System.out.println(phil.getName() + " is eating."); - phil.setState(Philosophy.State.PUTRIGHTFORK); - new PutRightForkCodeSegment(phil.getName(), phil.getRightFork()); + phil.setState(Philosophy.State.PUTFORK); + new PutForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork()); ods.update("local", phil.getName(), phil); } } diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/PutLeftForkCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/PutLeftForkCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -package alice.test.dpp.codesegment.philosophy; - -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; -import alice.test.dpp.datasegment.Fork; -import alice.test.dpp.datasegment.Philosophy; - -public class PutLeftForkCodeSegment extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - Receiver arg2 = ids.create(CommandType.TAKE); - - public PutLeftForkCodeSegment(String pName, String fork) { - arg1.setKey(pName); - arg2.setKey(fork); - } - - @Override - public void run() { - Philosophy phil = arg1.asClass(Philosophy.class); - Fork fork = arg2.asClass(Fork.class); - System.out.println(phil.getName() +" put left fork."); - fork.onTheTable(phil.getName()); - phil.setState(Philosophy.State.THINK); - new ThinkCodeSegment(phil.getName()); - ods.update("local", phil.getName(), phil); - ods.update("local", fork.getForkName(), fork); - } -} diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/PutRightForkCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/PutRightForkCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -package alice.test.dpp.codesegment.philosophy; -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; -import alice.test.dpp.datasegment.Fork; -import alice.test.dpp.datasegment.Philosophy; - - -public class PutRightForkCodeSegment extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - Receiver arg2 = ids.create(CommandType.TAKE); - - public PutRightForkCodeSegment(String pName, String fork) { - arg1.setKey(pName); - arg2.setKey(fork); - } - - @Override - public void run() { - Philosophy phil = arg1.asClass(Philosophy.class); - Fork fork = arg2.asClass(Fork.class); - System.out.println(phil.getName() +" put right fork."); - fork.onTheTable(phil.getName()); - phil.setState(Philosophy.State.PUTLEFTFORK); - new PutLeftForkCodeSegment(phil.getName(), phil.getLeftFork()); - ods.update("local", phil.getName(), phil); - ods.update("local", fork.getForkName(), fork); - } -} diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/ScheduleCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/ScheduleCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ b/src/alice/test/dpp/codesegment/philosophy/ScheduleCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -3,6 +3,7 @@ import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; +import alice.test.dpp.codesegment.philosophy2.TakeRightForkCodeSegment; import alice.test.dpp.datasegment.Philosophy; public class ScheduleCodeSegment extends CodeSegment { diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/StartCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/StartCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ b/src/alice/test/dpp/codesegment/philosophy/StartCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -10,9 +10,9 @@ public void run() { System.out.println("run StartCodeSegment"); - new ScheduleCodeSegment("phil1"); - new ScheduleCodeSegment("phil2"); - new ScheduleCodeSegment("phil3"); + new ThinkCodeSegment("phil1"); + new ThinkCodeSegment("phil2"); + new ThinkCodeSegment("phil3"); ods.update("local", "phil1", new Philosophy("phil1","fork1","fork2")); ods.update("local", "phil2", new Philosophy("phil2","fork2","fork3")); diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/TakeForkCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/TakeForkCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ b/src/alice/test/dpp/codesegment/philosophy/TakeForkCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -28,15 +28,14 @@ Fork rightFork = arg2.asClass(Fork.class); Fork leftFork = arg3.asClass(Fork.class); System.out.println(phil.getName() + " is trying to take the fork."); - if (leftFork.takeFork(phil.getName()) && rightFork.takeFork(phil.getName()) ) { phil.setState(Philosophy.State.EAT); + new EatCodeSegment(phil.getName()); } else { - leftFork.onTheTable(phil.getName()); - rightFork.onTheTable(phil.getName()); +// leftFork.onTheTable(phil.getName()); +// rightFork.onTheTable(phil.getName()); + new TakeForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork()); } - - new ScheduleCodeSegment(phil.getName()); ods.update("local", phil.getName(), phil); ods.update("local", leftFork.getForkName(), leftFork); ods.update("local", rightFork.getForkName(), rightFork); diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/TakeLeftForkCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/TakeLeftForkCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -package alice.test.dpp.codesegment.philosophy; - -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; -import alice.test.dpp.datasegment.Fork; -import alice.test.dpp.datasegment.Philosophy; - -public class TakeLeftForkCodeSegment extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - Receiver arg2 = ids.create(CommandType.TAKE); - - public TakeLeftForkCodeSegment(String pName, String forkName) { - arg1.setKey(pName); - arg2.setKey(forkName); - } - - @Override - public void run() { - Philosophy phil = arg1.asClass(Philosophy.class); - Fork fork = arg2.asClass(Fork.class); - System.out.println(phil.getName() + " take left fork."); - if (fork.takeFork(phil.getName())) { - phil.setState(Philosophy.State.EAT); - new EatCodeSegment(phil.getName()); - } else { - new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork()); - } - ods.update("local", phil.getName(), phil); - ods.update("local", fork.getForkName(), fork); - } -} diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/TakeRightForkCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/TakeRightForkCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -package alice.test.dpp.codesegment.philosophy; - -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; -import alice.test.dpp.datasegment.Fork; -import alice.test.dpp.datasegment.Philosophy; - -public class TakeRightForkCodeSegment extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - Receiver arg2 = ids.create(CommandType.TAKE); - - public TakeRightForkCodeSegment(String pName, String forkName) { - arg1.setKey(pName); - arg2.setKey(forkName); - } - - @Override - public void run() { - Philosophy phil = arg1.asClass(Philosophy.class); - Fork fork = arg2.asClass(Fork.class); - if (fork.takeFork(phil.getName())) { - phil.setState(Philosophy.State.TAKELEFTFORK); - new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork()); - } else { - new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork()); - } - ods.update("local", phil.getName(), phil); - ods.update("local", fork.getForkName(), fork); - } -} diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy/ThinkCodeSegment.java --- a/src/alice/test/dpp/codesegment/philosophy/ThinkCodeSegment.java Mon Dec 10 00:47:57 2012 +0900 +++ b/src/alice/test/dpp/codesegment/philosophy/ThinkCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -17,9 +17,8 @@ public void run() { Philosophy phil = arg1.asClass(Philosophy.class); System.out.println(phil.getName() + " is thinking"); - phil.setState(Philosophy.State.TAKERIGHTFORK); - new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork()); + phil.setState(Philosophy.State.TAKEFORK); + new TakeForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork()); ods.update("local", phil.getName(), phil); } - } diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy2/PutLeftForkCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/alice/test/dpp/codesegment/philosophy2/PutLeftForkCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -0,0 +1,31 @@ +package alice.test.dpp.codesegment.philosophy2; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; +import alice.test.dpp.codesegment.philosophy.ThinkCodeSegment; +import alice.test.dpp.datasegment.Fork; +import alice.test.dpp.datasegment.Philosophy; + +public class PutLeftForkCodeSegment extends CodeSegment { + + Receiver arg1 = ids.create(CommandType.TAKE); + Receiver arg2 = ids.create(CommandType.TAKE); + + public PutLeftForkCodeSegment(String pName, String fork) { + arg1.setKey(pName); + arg2.setKey(fork); + } + + @Override + public void run() { + Philosophy phil = arg1.asClass(Philosophy.class); + Fork fork = arg2.asClass(Fork.class); + System.out.println(phil.getName() +" put left fork."); + fork.onTheTable(phil.getName()); + phil.setState(Philosophy.State.THINK); + new ThinkCodeSegment(phil.getName()); + ods.update("local", phil.getName(), phil); + ods.update("local", fork.getForkName(), fork); + } +} diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy2/PutRightForkCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/alice/test/dpp/codesegment/philosophy2/PutRightForkCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -0,0 +1,30 @@ +package alice.test.dpp.codesegment.philosophy2; +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; +import alice.test.dpp.datasegment.Fork; +import alice.test.dpp.datasegment.Philosophy; + + +public class PutRightForkCodeSegment extends CodeSegment { + + Receiver arg1 = ids.create(CommandType.TAKE); + Receiver arg2 = ids.create(CommandType.TAKE); + + public PutRightForkCodeSegment(String pName, String fork) { + arg1.setKey(pName); + arg2.setKey(fork); + } + + @Override + public void run() { + Philosophy phil = arg1.asClass(Philosophy.class); + Fork fork = arg2.asClass(Fork.class); + System.out.println(phil.getName() +" put right fork."); + fork.onTheTable(phil.getName()); + phil.setState(Philosophy.State.PUTLEFTFORK); + new PutLeftForkCodeSegment(phil.getName(), phil.getLeftFork()); + ods.update("local", phil.getName(), phil); + ods.update("local", fork.getForkName(), fork); + } +} diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy2/TakeLeftForkCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/alice/test/dpp/codesegment/philosophy2/TakeLeftForkCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -0,0 +1,34 @@ +package alice.test.dpp.codesegment.philosophy2; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; +import alice.test.dpp.codesegment.philosophy.EatCodeSegment; +import alice.test.dpp.datasegment.Fork; +import alice.test.dpp.datasegment.Philosophy; + +public class TakeLeftForkCodeSegment extends CodeSegment { + + Receiver arg1 = ids.create(CommandType.TAKE); + Receiver arg2 = ids.create(CommandType.TAKE); + + public TakeLeftForkCodeSegment(String pName, String forkName) { + arg1.setKey(pName); + arg2.setKey(forkName); + } + + @Override + public void run() { + Philosophy phil = arg1.asClass(Philosophy.class); + Fork fork = arg2.asClass(Fork.class); + System.out.println(phil.getName() + " take left fork."); + if (fork.takeFork(phil.getName())) { + phil.setState(Philosophy.State.EAT); + new EatCodeSegment(phil.getName()); + } else { + new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork()); + } + ods.update("local", phil.getName(), phil); + ods.update("local", fork.getForkName(), fork); + } +} diff -r edd9ced13896 -r f77f0bb99f35 src/alice/test/dpp/codesegment/philosophy2/TakeRightForkCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/alice/test/dpp/codesegment/philosophy2/TakeRightForkCodeSegment.java Tue Jan 15 16:41:57 2013 +0900 @@ -0,0 +1,32 @@ +package alice.test.dpp.codesegment.philosophy2; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; +import alice.test.dpp.datasegment.Fork; +import alice.test.dpp.datasegment.Philosophy; + +public class TakeRightForkCodeSegment extends CodeSegment { + + Receiver arg1 = ids.create(CommandType.TAKE); + Receiver arg2 = ids.create(CommandType.TAKE); + + public TakeRightForkCodeSegment(String pName, String forkName) { + arg1.setKey(pName); + arg2.setKey(forkName); + } + + @Override + public void run() { + Philosophy phil = arg1.asClass(Philosophy.class); + Fork fork = arg2.asClass(Fork.class); + if (fork.takeFork(phil.getName())) { + phil.setState(Philosophy.State.TAKELEFTFORK); + new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork()); + } else { + new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork()); + } + ods.update("local", phil.getName(), phil); + ods.update("local", fork.getForkName(), fork); + } +}