···2525 address = {New York, NY, USA},
2626 }
27272828+@techreport{13559521,
2929+ author = {Fiz, Beltran Borja and De Santis, Fabrizio and Gabarda, Marcos},
3030+ title = {2APL: A Practical Programming Language and Platform for Multi-Agent Systems},
3131+ year = {2009},
3232+ }
3333+3434+@misc{ wiki:briscola,
3535+ author = "Wikipedia",
3636+ title = "Briscola --- Wikipedia{,} The Free Encyclopedia",
3737+ year = "2010",
3838+ url = "\url{http://en.wikipedia.org/w/index.php?title=Briscola&oldid=336665493}",
3939+ note = "[Online; accessed 11-January-2010]"
4040+ }
4141+
+230-80
docs/briscola_chiamata/bc-pres.tex
···20202121\frame{
2222 \frametitle{Outline}
2323- \tableofcontents
2323+ \begin{itemize}
2424+ \item Problem Specification
2525+ \vskip 2.0ex
2626+ \item System Specification
2727+ \item High level/Architectural Design
2828+ \item Detailed Design
2929+ \vskip 2.0ex
3030+ \item Prototype
3131+ \item Demo
3232+ \item Conclusions
3333+ \end{itemize}
2434}
25352626-\frame[allowframebreaks]{
2727- \frametitle{Introduction}
2828-\begin{itemize}
2929- \item Briscola Chiamata
3030- \item Prometheus methodology (PDT Tool)
3131- \item 2APL
3232- \item ...
3333-\end{itemize}
3636+\part{Problem Specification}
3737+\frame{\partpage}
3838+3939+\frame{
4040+ \frametitle{Problem Specification}
4141+ \begin{itemize}
4242+ \item Introduction to Briscola Chiamata card game
4343+ \item Why the game is suitable for a multi-agents system?
4444+ \end{itemize}
3445}
35463636-\section{Problem Specification}
3737-3838-\frame[allowframebreaks]{
4747+\frame{
3948 \frametitle{A bit of terminology}
40494150 \begin{itemize}
4242- \item Game:
4343- \item Hand/Turn:
4444- \item Trick:
4545- \item Suit:
4646- \item Rank:
4747- \item Briscola:
5151+ \item Game: ....definition here......
5252+ \item Hand/Round: .......definition here........
5353+ \item Trick: points collected in one round
5454+ \item Suit: spades, hearts, diamonds, clubs
5555+ \item Rank: 1-7, jack, queen, king
5656+ \item Briscola (Brisca): a particular suit
5757+ \item Non-player charcacter: .....definiton here.....
4858 \end{itemize}
4959}
50605151-\frame[allowframebreaks]{
6161+\frame{
5262 \frametitle{Briscola Chiamata}
53635454- 5 players, 8 cards each, no cards undealt
6464+ In short: italian game, 5 players, 8 cards each, no cards undealt
55655666 \vskip 2.0ex
57675858- Phases of the game:
6868+ Game in two-phases:
5969 \begin{itemize}
6060- \item Card giving
6161- \item Bidding
6262- \item Partner selection
6363- \item Playing cards
6464- \item Winner/Loser declaration with point distribution
7070+ \item Bidding phase
7171+ \item Playing phase
6572 \end{itemize}
6673}
677468756969-\frame[allowframebreaks]{
7070- \frametitle{Why is suitable for MAS?}
7676+\frame{
7777+ \frametitle{Why is suitable for multi-agents system?}
71787279 \begin{itemize}
7380 \item Uncertainity (nobody knows who is actually its partner)
7474- \item Sociality (its needed in order to discover partners/cheat opponents)
7575- \item Coordination is needed
8181+ \item Sociality (needed in order to discover team settings)
7682 \begin{itemize}
7777- \item Cooperation inside teams needed once partners are discovered
7878- \item Competition between teams needed once partners are discovered
8383+ \item Cooperation (inside the team once partners are discovered)
8484+ \item Competition (between opponent's teams)
7985 \end{itemize}
8086 \item Trust/Reputation models needed
8787+ \end{itemize}
8888+8989+ \vskip 2.0ex
9090+9191+ \begin{itemize}
8192 \item Main agent properties are satisfied
8293 \begin{itemize}
8383- \item Autonomy (players are autonomous, they plan alone once there are at least 5 players)
9494+ \item Autonomy (players can be autonomous agents)
8495 \item Flexibility
8585- \item Reactivity (players has to play when its their turn)
8686- \item Proactivity (players can decide if they want to play even if it's not their turn, players can decide to start cheating other players by sending them messages)
8787- \item Social (players have to interact with each others in order to discover their partners)
9696+ \begin{itemize}
9797+ \item Reactivity (players have to play when its their turn)
9898+ \item Proactivity (players can exchange information at any moment)
9999+ \item Social (players have to interact for discovering team settings)
100100+ \end{itemize}
88101 \end{itemize}
89102 \end{itemize}
103103+}
901049191-% Uncertainity (nobody knows who is actually its partner)
9292-% Sociality (its needed in order to discover partners/cheat opponents)
9393-% Coordination is needed that is:
9494-% Cooperation inside teams needed once partners are discovered
9595-% Competition between teams needed once partners are discovered
9696-% Trust/Reputation models needed
9797-%
9898-% Main agent properties are satisfied:
9999-% Autonomy (players are autonomous, they plan alone once there are at least 5 players)
100100-% Flexibility that is:
101101-% Reactivity (players has to play when its their turn)
102102-% Proactivity (players can decide if they want to play even if it's not their turn, players can decide to start cheating other players by sending them messages)
103103-% Social (players have to interact with each others in order to discover their partners)
105105+\part{System Specification}
106106+\frame{\partpage}
107107+108108+\frame{
109109+ \frametitle{System Specification}
110110+111111+ \begin{itemize}
112112+ \item Analysis overview diagram: the interactions between the system and the environment
113113+ \item Scenarios diagram: the dynamics of the game
114114+ \item Goals overview diagram: how goals can be decomposed into subgoals
115115+ \item System roles diagram: group different goals, percepts and actions under roles
116116+ \end{itemize}
104117}
105118106106-\section{System Specification}
107107-108108-\frame[allowframebreaks]{
119119+\frame[shrink,squeeze]{
109120 \frametitle{Analysis Overview Diagram}
110121111111- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png}
112112-122122+ \begin{center}
123123+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png}
124124+ \end{center}
113125}
114126115115-\frame[allowframebreaks]{
127127+\frame{
116128 \frametitle{Scenarios Diagram}
117129118118- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/scenarios.png}
119119-130130+ \begin{center}
131131+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/system_specification/scenarios.png}
132132+ \end{center}
120133}
121134122122-\frame[allowframebreaks]{
135135+\frame{
123136 \frametitle{Goals Overview Diagram}
124137125125- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/goal_overview.png}
126126-138138+ \begin{center}
139139+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/system_specification/goal_overview.png}
140140+ \end{center}
127141}
128142129129-\frame[allowframebreaks]{
143143+\frame{
130144 \frametitle{System Roles Diagram}
131145132132- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/system_roles.png}
146146+ ............ to be split into two subfigure with gimp
133147148148+ \begin{center}
149149+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/system_roles.png}
150150+ \end{center}
134151}
135152136136-\section{High-level (Architectural) Design}
153153+\part{High-level/Architectural Design}
154154+\frame{\partpage}
137155138138-\frame[allowframebreaks]{
139139- \frametitle{Data Coupling Diagram}
156156+\frame{
157157+ \frametitle{High-level/Architectural Specification}
140158141141- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/data_coupling.png}
159159+ \begin{itemize}
160160+ \item Data coupling diagram: links roles to data
161161+ \item Agent-role grouping diagram: group the roles into agent types
162162+ \item Agent acquaintance diagram: how agents interact with each's other
163163+ \item System overview diagram: all agents in the system, along with their interface and interaction
164164+ \end{itemize}
165165+}
142166167167+\frame{
168168+ \frametitle{Data Coupling Diagram}
169169+170170+ \begin{center}
171171+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/data_coupling.png}
172172+ \end{center}
143173}
144174145145-\frame[allowframebreaks]{
175175+\frame{
146176 \frametitle{Agent-Role Grouping Diagram}
147177148148- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/aget-role_grouping.png}
149149-178178+ \begin{center}
179179+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/architectural_design/aget-role_grouping.png}
180180+ \end{center}
150181}
151182152152-\frame[allowframebreaks]{
183183+\frame{
153184 \frametitle{Agent Acquaintance Diagram}
154185155155- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/agent_acquaintance.png}
186186+ \begin{center}
187187+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/agent_acquaintance.png}
188188+ \end{center}
189189+}
190190+191191+\frame{
192192+ \frametitle{System Overview Diagram}
156193194194+ \begin{center}
195195+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png}
196196+ \end{center}
157197}
158198159199\frame[allowframebreaks]{
160160- \frametitle{System Overview Diagram}
200200+ \frametitle{Protocols}
161201162162- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png}
202202+ \begin{center}
203203+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Bidding_protocol.png}
204204+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Game_protocol.png}\\
205205+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Dealing_protocol.png}\\
206206+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/First_bid_protocol.png}
207207+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Wake_up_dealer_protocol.png}\\
208208+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Communication_protocol.png}
209209+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Join_game_protocol.png}\\
210210+ \end{center}
163211164212}
165213166166-\section{Detailed Design}
214214+\part{Detailed Design}
215215+\frame{\partpage}
216216+217217+\frame{
218218+ \frametitle{Detailed Design}
219219+220220+ \begin{itemize}
221221+ \item Agent overview diagrams: internals of agents
222222+ \item Capability overview diagrams: internals of a capability in terms of plans or sub-capabilities and messages
223223+ \end{itemize}
224224+}
225225+226226+\frame{
227227+ \frametitle{Agent Overview Diagram: gatekeeper agent}
228228+229229+ \begin{center}
230230+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/gatekeeper_overview_diagram.png}
231231+ \end{center}
232232+}
167233168168-\frame[allowframebreaks]{
169169- \frametitle{Agent Overview Diagram}
234234+\frame{
235235+ \frametitle{Capability Overview Diagram: gatekeeper agent}
236236+ \begin{center}
237237+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/release_player_capability_overview_diagram.png}
238238+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_players_capability_overview_diagram.png}
239239+ \end{center}
240240+}
170241242242+\frame{
243243+ \frametitle{Agent Overview Diagram: notary agent}
171244245245+ \begin{center}
246246+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/notary_overview_diagram.png}
247247+ \end{center}
172248}
173249174250\frame[allowframebreaks]{
175175- \frametitle{Capability Overview Diagram}
251251+ \frametitle{Capability Overview Diagram: notary agent}
252252+253253+ \begin{center}
254254+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/turn_selection_capability_overview_diagram.png}
255255+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/end_the_game_capability_overview_diagram.png}\\
256256+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/start_dealing_capability_overview_diagram.png}
257257+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/control_bidding_capability_overview_diagram.png}\\
258258+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/count_points_capability_overview_diagram.png}
259259+ \end{center}
260260+}
176261262262+\frame{
263263+ \frametitle{Agent Overview Diagram: dealer agent}
177264265265+ \begin{center}
266266+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealer_overview_diagram.png}
267267+ \end{center}
178268}
179269270270+\frame{
271271+ \frametitle{Capability Overview Diagram: dealer agent}
272272+273273+ \begin{center}
274274+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealing_capability_overview_diagram.png}
275275+ \end{center}
276276+}
277277+278278+\frame{
279279+ \frametitle{Agent Overview Diagram: non-player-character agent}
280280+281281+ \begin{center}
282282+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/non-player_character_overview_diagram.png}
283283+ \end{center}
284284+}
180285181286\frame[allowframebreaks]{
182182- \frametitle{Conclusion}
287287+ \frametitle{Capability Overview Diagram: non-player-character agent}
288288+289289+ \begin{center}
290290+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/receive_a_hand_capability_overview_diagram.png}
291291+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/bidding_capability_overview_diagram.png}\\
292292+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/playing_capability_overview_diagram.png}\\
293293+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/declare_briscola_capability_overview_diagram.png}
294294+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_to_game_capability_overview_diagram.png}
295295+ \end{center}
296296+}
297297+298298+\part{Prototype}
299299+\frame{\partpage}
300300+301301+\frame{
302302+ \frametitle{Prototype}
303303+ \begin{itemize}
304304+ \item Environment is a Java class
305305+ \item Agents are implemented in 2APL
306306+ \item A GUI has been implemented
307307+ \item Agent strategies are straight forward
308308+ \end{itemize}
309309+}
310310+311311+\part{Demo}
312312+\frame{\partpage}
183313184184- What's wrong with 2APL?
314314+\part{Conclusions}
315315+\frame{\partpage}
185316186186- No security mechanisms
317317+\frame{
318318+ \frametitle{Conclusion: the good and the bad}
319319+320320+ \begin{columns}
321321+ \begin{column}{0.5\textwidth}
322322+ Good:
323323+ \begin{itemize}
324324+ \item Powerful mix of declarative (Prolog) and imperative programming style (Java)
325325+ \item JADE
326326+ \end{itemize}
327327+ \end{column}
328328+ \begin{column}{0.5\textwidth}
329329+ Bad:
330330+ \begin{itemize}
331331+ \item Lack of library to support agent side development
332332+ \item Lack of a manual and examples
333333+ \item Platform not at industry level
334334+ \end{itemize}
335335+ \end{column}
336336+ \end{columns}
187337}
188338189339