···11-\documentclass[dvipsnames,usenames,10pt]{beamer}
22-33-\usetheme{JuanLesPins}
44-55-\title{A Multi-Agent System for playing Briscola Chiamata}
66-77-\author[B. Borja Fiz, F. De Santis, M. Gabarda]{Beltran Borja Fiz, Fabrizio De Santis, Marcos Gabarda}
88-\institute[Universitat Polit\`ecnica de Catalunya]{
99- Multi-agent Systems Course\\
1010- Master in Artificial Intelligence\\
1111- Universitat Polit\`ecnica de Catalunya\\
1212- \texttt{\\ \{beltran.borja.fiz, fabrizio.de.santis, marcos.gabarda\}@est.fib.upc.edu}}
1313-\date{\today}
1414-1515-\begin{document}
1616-1717-\frame{\titlepage}
1818-1919-\section*{Outline}
2020-2121-\frame{
2222- \frametitle{Outline}
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}
3434-}
3535-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}
4545-}
4646-4747-\frame{
4848- \frametitle{A bit of terminology}
4949-5050- \begin{itemize}
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.....
5858- \end{itemize}
5959-}
6060-6161-\frame{
6262- \frametitle{Briscola Chiamata}
6363-6464- In short: italian game, 5 players, 8 cards each, no cards undealt, 2 teams
6565-6666- \vskip 2.0ex
6767-6868- Game in two-phases:
6969- \begin{itemize}
7070- \item Bidding phase
7171- \item Playing phase
7272- \end{itemize}
7373-}
7474-7575-7676-\frame{
7777- \frametitle{Why is suitable for multi-agents system?}
7878-7979- \begin{itemize}
8080- \item Uncertainity (nobody knows who is actually its partner)
8181- \item Sociality (needed in order to discover team settings)
8282- \begin{itemize}
8383- \item Cooperation (inside the team once partners are discovered)
8484- \item Competition (between opponent's teams)
8585- \end{itemize}
8686- \item Trust/Reputation models needed
8787- \end{itemize}
8888-8989- \vskip 2.0ex
9090-9191- \begin{itemize}
9292- \item Main agent properties are satisfied
9393- \begin{itemize}
9494- \item Autonomy (players can be autonomous agents)
9595- \item Flexibility
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}
101101- \end{itemize}
102102- \end{itemize}
103103-}
104104-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}
117117-}
118118-119119-\frame[shrink,squeeze]{
120120- \frametitle{Analysis Overview Diagram}
121121-122122- \begin{center}
123123- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png}
124124- \end{center}
125125-}
126126-127127-\frame{
128128- \frametitle{Scenarios Diagram}
129129-130130- \begin{center}
131131- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/system_specification/scenarios.png}
132132- \end{center}
133133-}
134134-135135-\frame{
136136- \frametitle{Goals Overview Diagram}
137137-138138- \begin{center}
139139- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/system_specification/goal_overview.png}
140140- \end{center}
141141-}
142142-143143-\frame[allowframebreaks]{
144144- \frametitle{System Roles Diagram}
145145-146146- \begin{center}
147147- \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_1.png}
148148- \end{center}
149149-150150- \break
151151-152152- \begin{center}
153153- \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_2.png}
154154- \end{center}
155155-156156- \break
157157-158158- \begin{center}
159159- \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_3.png}
160160- \end{center}
161161-}
162162-163163-\part{High-level/Architectural Design}
164164-\frame{\partpage}
165165-166166-\frame{
167167- \frametitle{High-level/Architectural Specification}
168168-169169- \begin{itemize}
170170- \item Data coupling diagram: links roles to data
171171- \item Agent-role grouping diagram: group the roles into agent types
172172- \item Agent acquaintance diagram: how agents interact with each's other
173173- \item System overview diagram: all agents in the system, along with their interface and interaction
174174- \end{itemize}
175175-}
176176-177177-\frame{
178178- \frametitle{Data Coupling Diagram}
179179-180180- \begin{center}
181181- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/data_coupling.png}
182182- \end{center}
183183-}
184184-185185-\frame{
186186- \frametitle{Agent-Role Grouping Diagram}
187187-188188- \begin{center}
189189- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/architectural_design/aget-role_grouping.png}
190190- \end{center}
191191-}
192192-193193-\frame{
194194- \frametitle{Agent Acquaintance Diagram}
195195-196196- \begin{center}
197197- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/agent_acquaintance.png}
198198- \end{center}
199199-}
200200-201201-\frame{
202202- \frametitle{System Overview Diagram}
203203-204204- \begin{center}
205205- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png}
206206- \end{center}
207207-}
208208-209209-\frame[allowframebreaks]{
210210- \frametitle{Protocols}
211211-212212- \begin{center}
213213- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Bidding_protocol.png}
214214- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Game_protocol.png}\\
215215- \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Dealing_protocol.png}\\
216216- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/First_bid_protocol.png}
217217- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Wake_up_dealer_protocol.png}\\
218218- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Communication_protocol.png}
219219- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Join_game_protocol.png}\\
220220- \end{center}
221221-222222-}
223223-224224-\part{Detailed Design}
225225-\frame{\partpage}
226226-227227-\frame{
228228- \frametitle{Detailed Design}
229229-230230- \begin{itemize}
231231- \item Agent overview diagrams: internals of agents
232232- \item Capability overview diagrams: internals of a capability in terms of plans or sub-capabilities and messages
233233- \end{itemize}
234234-}
235235-236236-\frame{
237237- \frametitle{Agent Overview Diagram: gatekeeper agent}
238238-239239- \begin{center}
240240- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/gatekeeper_overview_diagram.png}
241241- \end{center}
242242-}
243243-244244-\frame{
245245- \frametitle{Capability Overview Diagram: gatekeeper agent}
246246- \begin{center}
247247- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/release_player_capability_overview_diagram.png}
248248- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_players_capability_overview_diagram.png}
249249- \end{center}
250250-}
251251-252252-\frame{
253253- \frametitle{Agent Overview Diagram: notary agent}
254254-255255- \begin{center}
256256- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/notary_overview_diagram.png}
257257- \end{center}
258258-}
259259-260260-\frame[allowframebreaks]{
261261- \frametitle{Capability Overview Diagram: notary agent}
262262-263263- \begin{center}
264264- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/turn_selection_capability_overview_diagram.png}
265265- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/end_the_game_capability_overview_diagram.png}\\
266266- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/start_dealing_capability_overview_diagram.png}
267267- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/control_bidding_capability_overview_diagram.png}\\
268268- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/count_points_capability_overview_diagram.png}
269269- \end{center}
270270-}
271271-272272-\frame{
273273- \frametitle{Agent Overview Diagram: dealer agent}
274274-275275- \begin{center}
276276- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealer_overview_diagram.png}
277277- \end{center}
278278-}
279279-280280-\frame{
281281- \frametitle{Capability Overview Diagram: dealer agent}
282282-283283- \begin{center}
284284- \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealing_capability_overview_diagram.png}
285285- \end{center}
286286-}
287287-288288-\frame{
289289- \frametitle{Agent Overview Diagram: non-player-character agent}
290290-291291- \begin{center}
292292- \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/non-player_character_overview_diagram.png}
293293- \end{center}
294294-}
295295-296296-\frame[allowframebreaks]{
297297- \frametitle{Capability Overview Diagram: non-player-character agent}
298298-299299- \begin{center}
300300-\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/receive_a_hand_capability_overview_diagram.png}
301301-\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/bidding_capability_overview_diagram.png}\\
302302-\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/playing_capability_overview_diagram.png}\\
303303-\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/declare_briscola_capability_overview_diagram.png}
304304-\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_to_game_capability_overview_diagram.png}
305305- \end{center}
306306-}
307307-308308-\part{Prototype}
309309-\frame{\partpage}
310310-311311-\frame{
312312- \frametitle{Prototype}
313313- \begin{itemize}
314314- \item Environment is a Java class
315315- \item Agents are implemented in 2APL
316316- \item A GUI has been implemented
317317- \item Agent strategies are straight forward
318318- \end{itemize}
319319-}
320320-321321-\part{Demo}
322322-\frame{\partpage}
323323-324324-\part{Conclusions}
325325-\frame{\partpage}
326326-327327-\frame{
328328- \frametitle{Conclusion: the good and the bad}
329329-330330- \begin{columns}
331331- \begin{column}{0.5\textwidth}
332332- Good:
333333- \begin{itemize}
334334- \item Powerful mix of declarative (Prolog) and imperative programming style (Java)
335335- \item JADE
336336- \end{itemize}
337337- \end{column}
338338- \begin{column}{0.5\textwidth}
339339- Bad:
340340- \begin{itemize}
341341- \item Lack of library to support agent side development
342342- \item Lack of a manual and examples
343343- \item Platform not at industry level
344344- \end{itemize}
345345- \end{column}
346346- \end{columns}
347347-}
348348-349349-350350-\begin{frame}{Bibliography}
351351-\nocite{*}
352352-\bibliographystyle{plain}
353353-\bibliography{bc-pres}
354354-\end{frame}
355355-356356-\end{document}
11+\documentclass[dvipsnames,usenames,10pt]{beamer}
22+33+\usetheme{JuanLesPins}
44+55+\title{A Multi-Agent System for playing Briscola Chiamata}
66+77+\author[B. Borja Fiz, F. De Santis, M. Gabarda]{Beltran Borja Fiz, Fabrizio De Santis, Marcos Gabarda}
88+\institute[Universitat Polit\`ecnica de Catalunya]{
99+ Multi-agent Systems Course\\
1010+ Master in Artificial Intelligence\\
1111+ Universitat Polit\`ecnica de Catalunya\\
1212+ \texttt{\\ \{beltran.borja.fiz, fabrizio.de.santis, marcos.gabarda\}@est.fib.upc.edu}}
1313+\date{\today}
1414+1515+\begin{document}
1616+1717+\frame{\titlepage}
1818+1919+\section*{Outline}
2020+2121+\frame{
2222+ \frametitle{Outline}
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}
3434+}
3535+3636+\part{Problem Specification}
3737+\frame{\partpage}
3838+3939+\frame{
4040+ \frametitle{Problem Specification}
4141+4242+ \begin{itemize}
4343+4444+ \item Chosen problem : the Briscola Chiamata card game
4545+ \item Why the game is suitable for a multi-agents system?
4646+4747+ \begin{itemize}
4848+4949+ \item Competitiveness and Cooperation.
5050+ \item Reactive and Proactive agents.
5151+ \item Could also have human players.
5252+5353+ \end{itemize}
5454+ \end{itemize}
5555+}
5656+5757+\frame{
5858+ \frametitle{A bit of terminology}
5959+6060+ \begin{itemize}
6161+ \item Game: The event starting when enough players are gathered and ending when a final victor is declared.
6262+ \item Round: A round is a subdivision of a game. It represents one full play of the deck, after which it is shuffled and anoher round begins.
6363+ \item Trick: points collected in one round
6464+ \item Suit: spades, hearts, diamonds, clubs
6565+ \item Rank: 1-7, jack, queen, king
6666+ \item Briscola (Brisca): a particular suit
6767+ \item Non-player charcacter: An agent not playing the actual game. (Not to be confused with non-playable character)
6868+ \end{itemize}
6969+}
7070+7171+\frame{
7272+ \frametitle{Briscola Chiamata}
7373+7474+ In short: An italian card game of 5 players, 8 cards each ( no cards undealt). Players look at cards and start bidding to be attempt to be the winner of the round. Highest bidder then names a card (which he usually doesnt have) and the owner of that card becomes part of his team (only he knows... for now). So 2 teams. The person to reach a certain amount of points wins the game.
7575+7676+ \vskip 2.0ex
7777+7878+ Game in two-phases:
7979+ \begin{itemize}
8080+ \item Bidding phase
8181+ \item Playing phase
8282+ \end{itemize}
8383+}
8484+8585+8686+\frame{
8787+ \frametitle{Why is suitable for multi-agents system?}
8888+8989+ \begin{itemize}
9090+ \item Uncertainity (nobody knows who is actually its partner)
9191+ \item Sociality (needed in order to discover team settings)
9292+ \begin{itemize}
9393+ \item Cooperation (inside the team once partners are discovered)
9494+ \item Competition (between opponent's teams)
9595+ \end{itemize}
9696+ \item Trust/Reputation models needed
9797+ \end{itemize}
9898+9999+ \vskip 2.0ex
100100+101101+ \begin{itemize}
102102+ \item Main agent properties are satisfied
103103+ \begin{itemize}
104104+ \item Autonomy (players can be autonomous agents)
105105+ \item Flexibility
106106+ \begin{itemize}
107107+ \item Reactivity (players have to play when its their turn)
108108+ \item Proactivity (players can exchange information at any moment)
109109+ \item Social (players have to interact for discovering team settings)
110110+ \end{itemize}
111111+ \end{itemize}
112112+ \end{itemize}
113113+}
114114+115115+\part{System Specification}
116116+\frame{\partpage}
117117+118118+\frame{
119119+ \frametitle{System Specification}
120120+121121+ \begin{itemize}
122122+ \item Analysis overview diagram: the interactions between the system and the environment
123123+ \item Scenarios diagram: the dynamics of the game
124124+ \item Goals overview diagram: how goals can be decomposed into subgoals
125125+ \item System roles diagram: group different goals, percepts and actions under roles
126126+ \end{itemize}
127127+}
128128+129129+\frame[shrink,squeeze]{
130130+ \frametitle{Analysis Overview Diagram}
131131+132132+ \begin{center}
133133+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png}
134134+ \end{center}
135135+}
136136+137137+\frame{
138138+ \frametitle{Scenarios Diagram}
139139+140140+ \begin{center}
141141+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/system_specification/scenarios.png}
142142+ \end{center}
143143+}
144144+145145+\frame{
146146+ \frametitle{Goals Overview Diagram}
147147+148148+ \begin{center}
149149+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/system_specification/goal_overview.png}
150150+ \end{center}
151151+}
152152+153153+\frame[allowframebreaks]{
154154+ \frametitle{System Roles Diagram}
155155+156156+ \begin{center}
157157+ \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_1.png}
158158+ \end{center}
159159+160160+ \break
161161+162162+ \begin{center}
163163+ \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_2.png}
164164+ \end{center}
165165+166166+ \break
167167+168168+ \begin{center}
169169+ \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_3.png}
170170+ \end{center}
171171+}
172172+173173+\part{High-level/Architectural Design}
174174+\frame{\partpage}
175175+176176+\frame{
177177+ \frametitle{High-level/Architectural Specification}
178178+179179+ \begin{itemize}
180180+ \item Data coupling diagram: links roles to data
181181+ \item Agent-role grouping diagram: group the roles into agent types
182182+ \item Agent acquaintance diagram: how agents interact with each's other
183183+ \item System overview diagram: all agents in the system, along with their interface and interaction
184184+ \end{itemize}
185185+}
186186+187187+\frame{
188188+ \frametitle{Data Coupling Diagram}
189189+190190+ \begin{center}
191191+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/data_coupling.png}
192192+ \end{center}
193193+}
194194+195195+\frame{
196196+ \frametitle{Agent-Role Grouping Diagram}
197197+198198+ \begin{center}
199199+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/architectural_design/aget-role_grouping.png}
200200+ \end{center}
201201+}
202202+203203+\frame{
204204+ \frametitle{Agent Acquaintance Diagram}
205205+206206+ \begin{center}
207207+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/agent_acquaintance.png}
208208+ \end{center}
209209+}
210210+211211+\frame{
212212+ \frametitle{System Overview Diagram}
213213+214214+ \begin{center}
215215+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png}
216216+ \end{center}
217217+}
218218+219219+\frame[allowframebreaks]{
220220+ \frametitle{Protocols}
221221+222222+ \begin{center}
223223+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Bidding_protocol.png}
224224+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Game_protocol.png}\\
225225+ \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Dealing_protocol.png}\\
226226+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/First_bid_protocol.png}
227227+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Wake_up_dealer_protocol.png}\\
228228+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Communication_protocol.png}
229229+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Join_game_protocol.png}\\
230230+ \end{center}
231231+232232+}
233233+234234+\part{Detailed Design}
235235+\frame{\partpage}
236236+237237+\frame{
238238+ \frametitle{Detailed Design}
239239+240240+ \begin{itemize}
241241+ \item Agent overview diagrams: internals of agents
242242+ \item Capability overview diagrams: internals of a capability in terms of plans or sub-capabilities and messages
243243+ \end{itemize}
244244+}
245245+246246+\frame{
247247+ \frametitle{Agent Overview Diagram: gatekeeper agent}
248248+249249+ \begin{center}
250250+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/gatekeeper_overview_diagram.png}
251251+ \end{center}
252252+}
253253+254254+\frame{
255255+ \frametitle{Capability Overview Diagram: gatekeeper agent}
256256+ \begin{center}
257257+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/release_player_capability_overview_diagram.png}
258258+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_players_capability_overview_diagram.png}
259259+ \end{center}
260260+}
261261+262262+\frame{
263263+ \frametitle{Agent Overview Diagram: notary agent}
264264+265265+ \begin{center}
266266+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/notary_overview_diagram.png}
267267+ \end{center}
268268+}
269269+270270+\frame[allowframebreaks]{
271271+ \frametitle{Capability Overview Diagram: notary agent}
272272+273273+ \begin{center}
274274+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/turn_selection_capability_overview_diagram.png}
275275+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/end_the_game_capability_overview_diagram.png}\\
276276+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/start_dealing_capability_overview_diagram.png}
277277+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/control_bidding_capability_overview_diagram.png}\\
278278+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/count_points_capability_overview_diagram.png}
279279+ \end{center}
280280+}
281281+282282+\frame{
283283+ \frametitle{Agent Overview Diagram: dealer agent}
284284+285285+ \begin{center}
286286+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealer_overview_diagram.png}
287287+ \end{center}
288288+}
289289+290290+\frame{
291291+ \frametitle{Capability Overview Diagram: dealer agent}
292292+293293+ \begin{center}
294294+ \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealing_capability_overview_diagram.png}
295295+ \end{center}
296296+}
297297+298298+\frame{
299299+ \frametitle{Agent Overview Diagram: non-player-character agent}
300300+301301+ \begin{center}
302302+ \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/non-player_character_overview_diagram.png}
303303+ \end{center}
304304+}
305305+306306+\frame[allowframebreaks]{
307307+ \frametitle{Capability Overview Diagram: non-player-character agent}
308308+309309+ \begin{center}
310310+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/receive_a_hand_capability_overview_diagram.png}
311311+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/bidding_capability_overview_diagram.png}\\
312312+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/playing_capability_overview_diagram.png}\\
313313+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/declare_briscola_capability_overview_diagram.png}
314314+\includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_to_game_capability_overview_diagram.png}
315315+ \end{center}
316316+}
317317+318318+\part{Prototype}
319319+\frame{\partpage}
320320+321321+\frame{
322322+ \frametitle{Prototype}
323323+ \begin{itemize}
324324+ \item The prototype was built in two languages :
325325+ \begin{itemize}
326326+ \item The environment was coded in java as an extension of a 2APL java class.
327327+ \item The Agents were coded in prolog.
328328+ \end{itemize}
329329+330330+ \item 2APL has very little information on building environments so code inspection of an example was performed.
331331+ \item The GUI was designed apart and then inserted into the environment.
332332+333333+ \end{itemize}
334334+}
335335+336336+337337+\frame{
338338+ \frametitle{Prototype : The concept}
339339+ \begin{itemize}
340340+ \item The idea of the prototype was for it to simply allow the designer of the game agents to view live how the agents play
341341+ \item By showing the game steps at human eye sight speed, one could see the game in action instead of staring at a console.
342342+ \item Fancy graphics were never intended, it is marely a visual aid, not an actual game to be played.
343343+344344+ \end{itemize}
345345+}
346346+347347+\frame{
348348+ \frametitle{Prototype : The future}
349349+ \begin{itemize}
350350+ \item Since the GUI can be easely extended, it could be possible to allow human players to join.
351351+ \item Or even more interesting, by adding the required libraries, one could potentially play on a server and have agents designed by different people play each other.
352352+ \item Due to lack of community this feature is unlikely to be added.
353353+354354+ \end{itemize}
355355+}
356356+357357+\part{Demo}
358358+\frame{\partpage}
359359+360360+\part{Conclusions}
361361+\frame{\partpage}
362362+363363+\frame{
364364+ \frametitle{Conclusion: the good and the bad}
365365+366366+ \begin{columns}
367367+ \begin{column}{0.5\textwidth}
368368+ Good:
369369+ \begin{itemize}
370370+ \item Powerful mix of declarative (Prolog) and imperative programming style (Java)
371371+ \item JADE platform compatibility.
372372+ \item 2APL tools helpful during development.
373373+ \end{itemize}
374374+ \end{column}
375375+ \begin{column}{0.5\textwidth}
376376+ Bad:
377377+ \begin{itemize}
378378+ \item Lack of library to support agent side development
379379+ \item Lack of a manual and examples
380380+ \item Platform not at industry level
381381+ \end{itemize}
382382+ \end{column}
383383+ \end{columns}
384384+}
385385+386386+387387+\begin{frame}{Bibliography}
388388+\nocite{*}
389389+\bibliographystyle{plain}
390390+\bibliography{bc-pres}
391391+\end{frame}
392392+393393+\end{document}