[Cs5500] API Design

Haoran Wu haoran at ccs.neu.edu
Sat Oct 8 13:53:15 EDT 2011


Hi all,

Prof.Karl, you are right. In our MMG playground and protocols, it does not encourage avatar to 
strengthening the Claim at first.  

In our SCG system, the first thing to do is call oppose function, after Alice make a claim. So, if
we want MMG playground running appropriate like maximization problem, we need bob to strengthening 
the claim first and refuting the claim, then agree on it. So I think since the oppose function is call 
by SCG system, we can only ask avatar to play gentle now.

Here it is how the system works:
PlayerServer class has a function name playerResponse handles response comes from avatar(oppose and propose).



For second question,
Based on the current playground, it requires the avatars to be gentle and follow the 
general procedure(refutation, strengthen, agree). Instead, 
If we let the playground make these decision, of invoking the refutation and strengthening functions,
instead of oppose function, then we may have control has in how avatar operates, and discourage evil avatars.

What do you guys think?

Cheers
Haoran



----- Original Message -----
From: "Karl Lieberherr" <lieber at ccs.neu.edu>
To: "Managing Software Development" <cs5500 at lists.ccs.neu.edu>
Sent: Thursday, October 6, 2011 11:33:57 AM GMT -05:00 US/Canada Eastern
Subject: [Cs5500] API Design

When I woke up, I saw that there is a wrinkle in the design for
protocols for SCG Court.
ForAllExists is useful for both minimization and maximization problems.

But in our current ForAllExists.java, we have:

 if(i.quality(solution) <= claimedQuality){
                                        return 1; //Refutation fails.

which is appropriate for a minimization problem.
But MMG is a maximization problem (once i is known).

We need two things:

1. What is an appropriate work-around that we can use immediately and that
we can use in our release to the undergraduate class.

2. What would be a good long-term solution to improve the API of SCG court?
There are some principles to follow:
http://www.youtube.com/watch?v=aAb7hSCtvGw
in good API design.

Send your responses (one per team) to this mailing list for discussion.

-- Karl

_______________________________________________
Cs5500 mailing list
Cs5500 at lists.ccs.neu.edu
https://lists.ccs.neu.edu/bin/listinfo/cs5500



More information about the Cs5500 mailing list