2-APL UPC project.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

presentation changes

fdesan 06bf1ea1 3ff58085

+244 -80
+14
docs/briscola_chiamata/bc-pres.bib
··· 25 25 address = {New York, NY, USA}, 26 26 } 27 27 28 + @techreport{13559521, 29 + author = {Fiz, Beltran Borja and De Santis, Fabrizio and Gabarda, Marcos}, 30 + title = {2APL: A Practical Programming Language and Platform for Multi-Agent Systems}, 31 + year = {2009}, 32 + } 33 + 34 + @misc{ wiki:briscola, 35 + author = "Wikipedia", 36 + title = "Briscola --- Wikipedia{,} The Free Encyclopedia", 37 + year = "2010", 38 + url = "\url{http://en.wikipedia.org/w/index.php?title=Briscola&oldid=336665493}", 39 + note = "[Online; accessed 11-January-2010]" 40 + } 41 +
+230 -80
docs/briscola_chiamata/bc-pres.tex
··· 20 20 21 21 \frame{ 22 22 \frametitle{Outline} 23 - \tableofcontents 23 + \begin{itemize} 24 + \item Problem Specification 25 + \vskip 2.0ex 26 + \item System Specification 27 + \item High level/Architectural Design 28 + \item Detailed Design 29 + \vskip 2.0ex 30 + \item Prototype 31 + \item Demo 32 + \item Conclusions 33 + \end{itemize} 24 34 } 25 35 26 - \frame[allowframebreaks]{ 27 - \frametitle{Introduction} 28 - \begin{itemize} 29 - \item Briscola Chiamata 30 - \item Prometheus methodology (PDT Tool) 31 - \item 2APL 32 - \item ... 33 - \end{itemize} 36 + \part{Problem Specification} 37 + \frame{\partpage} 38 + 39 + \frame{ 40 + \frametitle{Problem Specification} 41 + \begin{itemize} 42 + \item Introduction to Briscola Chiamata card game 43 + \item Why the game is suitable for a multi-agents system? 44 + \end{itemize} 34 45 } 35 46 36 - \section{Problem Specification} 37 - 38 - \frame[allowframebreaks]{ 47 + \frame{ 39 48 \frametitle{A bit of terminology} 40 49 41 50 \begin{itemize} 42 - \item Game: 43 - \item Hand/Turn: 44 - \item Trick: 45 - \item Suit: 46 - \item Rank: 47 - \item Briscola: 51 + \item Game: ....definition here...... 52 + \item Hand/Round: .......definition here........ 53 + \item Trick: points collected in one round 54 + \item Suit: spades, hearts, diamonds, clubs 55 + \item Rank: 1-7, jack, queen, king 56 + \item Briscola (Brisca): a particular suit 57 + \item Non-player charcacter: .....definiton here..... 48 58 \end{itemize} 49 59 } 50 60 51 - \frame[allowframebreaks]{ 61 + \frame{ 52 62 \frametitle{Briscola Chiamata} 53 63 54 - 5 players, 8 cards each, no cards undealt 64 + In short: italian game, 5 players, 8 cards each, no cards undealt 55 65 56 66 \vskip 2.0ex 57 67 58 - Phases of the game: 68 + Game in two-phases: 59 69 \begin{itemize} 60 - \item Card giving 61 - \item Bidding 62 - \item Partner selection 63 - \item Playing cards 64 - \item Winner/Loser declaration with point distribution 70 + \item Bidding phase 71 + \item Playing phase 65 72 \end{itemize} 66 73 } 67 74 68 75 69 - \frame[allowframebreaks]{ 70 - \frametitle{Why is suitable for MAS?} 76 + \frame{ 77 + \frametitle{Why is suitable for multi-agents system?} 71 78 72 79 \begin{itemize} 73 80 \item Uncertainity (nobody knows who is actually its partner) 74 - \item Sociality (its needed in order to discover partners/cheat opponents) 75 - \item Coordination is needed 81 + \item Sociality (needed in order to discover team settings) 76 82 \begin{itemize} 77 - \item Cooperation inside teams needed once partners are discovered 78 - \item Competition between teams needed once partners are discovered 83 + \item Cooperation (inside the team once partners are discovered) 84 + \item Competition (between opponent's teams) 79 85 \end{itemize} 80 86 \item Trust/Reputation models needed 87 + \end{itemize} 88 + 89 + \vskip 2.0ex 90 + 91 + \begin{itemize} 81 92 \item Main agent properties are satisfied 82 93 \begin{itemize} 83 - \item Autonomy (players are autonomous, they plan alone once there are at least 5 players) 94 + \item Autonomy (players can be autonomous agents) 84 95 \item Flexibility 85 - \item Reactivity (players has to play when its their turn) 86 - \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) 87 - \item Social (players have to interact with each others in order to discover their partners) 96 + \begin{itemize} 97 + \item Reactivity (players have to play when its their turn) 98 + \item Proactivity (players can exchange information at any moment) 99 + \item Social (players have to interact for discovering team settings) 100 + \end{itemize} 88 101 \end{itemize} 89 102 \end{itemize} 103 + } 90 104 91 - % Uncertainity (nobody knows who is actually its partner) 92 - % Sociality (its needed in order to discover partners/cheat opponents) 93 - % Coordination is needed that is: 94 - % Cooperation inside teams needed once partners are discovered 95 - % Competition between teams needed once partners are discovered 96 - % Trust/Reputation models needed 97 - % 98 - % Main agent properties are satisfied: 99 - % Autonomy (players are autonomous, they plan alone once there are at least 5 players) 100 - % Flexibility that is: 101 - % Reactivity (players has to play when its their turn) 102 - % 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) 103 - % Social (players have to interact with each others in order to discover their partners) 105 + \part{System Specification} 106 + \frame{\partpage} 107 + 108 + \frame{ 109 + \frametitle{System Specification} 110 + 111 + \begin{itemize} 112 + \item Analysis overview diagram: the interactions between the system and the environment 113 + \item Scenarios diagram: the dynamics of the game 114 + \item Goals overview diagram: how goals can be decomposed into subgoals 115 + \item System roles diagram: group different goals, percepts and actions under roles 116 + \end{itemize} 104 117 } 105 118 106 - \section{System Specification} 107 - 108 - \frame[allowframebreaks]{ 119 + \frame[shrink,squeeze]{ 109 120 \frametitle{Analysis Overview Diagram} 110 121 111 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png} 112 - 122 + \begin{center} 123 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png} 124 + \end{center} 113 125 } 114 126 115 - \frame[allowframebreaks]{ 127 + \frame{ 116 128 \frametitle{Scenarios Diagram} 117 129 118 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/scenarios.png} 119 - 130 + \begin{center} 131 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/system_specification/scenarios.png} 132 + \end{center} 120 133 } 121 134 122 - \frame[allowframebreaks]{ 135 + \frame{ 123 136 \frametitle{Goals Overview Diagram} 124 137 125 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/goal_overview.png} 126 - 138 + \begin{center} 139 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/system_specification/goal_overview.png} 140 + \end{center} 127 141 } 128 142 129 - \frame[allowframebreaks]{ 143 + \frame{ 130 144 \frametitle{System Roles Diagram} 131 145 132 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/system_roles.png} 146 + ............ to be split into two subfigure with gimp 133 147 148 + \begin{center} 149 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/system_roles.png} 150 + \end{center} 134 151 } 135 152 136 - \section{High-level (Architectural) Design} 153 + \part{High-level/Architectural Design} 154 + \frame{\partpage} 137 155 138 - \frame[allowframebreaks]{ 139 - \frametitle{Data Coupling Diagram} 156 + \frame{ 157 + \frametitle{High-level/Architectural Specification} 140 158 141 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/data_coupling.png} 159 + \begin{itemize} 160 + \item Data coupling diagram: links roles to data 161 + \item Agent-role grouping diagram: group the roles into agent types 162 + \item Agent acquaintance diagram: how agents interact with each's other 163 + \item System overview diagram: all agents in the system, along with their interface and interaction 164 + \end{itemize} 165 + } 142 166 167 + \frame{ 168 + \frametitle{Data Coupling Diagram} 169 + 170 + \begin{center} 171 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/data_coupling.png} 172 + \end{center} 143 173 } 144 174 145 - \frame[allowframebreaks]{ 175 + \frame{ 146 176 \frametitle{Agent-Role Grouping Diagram} 147 177 148 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/aget-role_grouping.png} 149 - 178 + \begin{center} 179 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/architectural_design/aget-role_grouping.png} 180 + \end{center} 150 181 } 151 182 152 - \frame[allowframebreaks]{ 183 + \frame{ 153 184 \frametitle{Agent Acquaintance Diagram} 154 185 155 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/agent_acquaintance.png} 186 + \begin{center} 187 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/agent_acquaintance.png} 188 + \end{center} 189 + } 190 + 191 + \frame{ 192 + \frametitle{System Overview Diagram} 156 193 194 + \begin{center} 195 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png} 196 + \end{center} 157 197 } 158 198 159 199 \frame[allowframebreaks]{ 160 - \frametitle{System Overview Diagram} 200 + \frametitle{Protocols} 161 201 162 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png} 202 + \begin{center} 203 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Bidding_protocol.png} 204 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Game_protocol.png}\\ 205 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Dealing_protocol.png}\\ 206 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/First_bid_protocol.png} 207 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Wake_up_dealer_protocol.png}\\ 208 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Communication_protocol.png} 209 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Join_game_protocol.png}\\ 210 + \end{center} 163 211 164 212 } 165 213 166 - \section{Detailed Design} 214 + \part{Detailed Design} 215 + \frame{\partpage} 216 + 217 + \frame{ 218 + \frametitle{Detailed Design} 219 + 220 + \begin{itemize} 221 + \item Agent overview diagrams: internals of agents 222 + \item Capability overview diagrams: internals of a capability in terms of plans or sub-capabilities and messages 223 + \end{itemize} 224 + } 225 + 226 + \frame{ 227 + \frametitle{Agent Overview Diagram: gatekeeper agent} 228 + 229 + \begin{center} 230 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/gatekeeper_overview_diagram.png} 231 + \end{center} 232 + } 167 233 168 - \frame[allowframebreaks]{ 169 - \frametitle{Agent Overview Diagram} 234 + \frame{ 235 + \frametitle{Capability Overview Diagram: gatekeeper agent} 236 + \begin{center} 237 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/release_player_capability_overview_diagram.png} 238 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_players_capability_overview_diagram.png} 239 + \end{center} 240 + } 170 241 242 + \frame{ 243 + \frametitle{Agent Overview Diagram: notary agent} 171 244 245 + \begin{center} 246 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/notary_overview_diagram.png} 247 + \end{center} 172 248 } 173 249 174 250 \frame[allowframebreaks]{ 175 - \frametitle{Capability Overview Diagram} 251 + \frametitle{Capability Overview Diagram: notary agent} 252 + 253 + \begin{center} 254 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/turn_selection_capability_overview_diagram.png} 255 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/end_the_game_capability_overview_diagram.png}\\ 256 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/start_dealing_capability_overview_diagram.png} 257 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/control_bidding_capability_overview_diagram.png}\\ 258 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/count_points_capability_overview_diagram.png} 259 + \end{center} 260 + } 176 261 262 + \frame{ 263 + \frametitle{Agent Overview Diagram: dealer agent} 177 264 265 + \begin{center} 266 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealer_overview_diagram.png} 267 + \end{center} 178 268 } 179 269 270 + \frame{ 271 + \frametitle{Capability Overview Diagram: dealer agent} 272 + 273 + \begin{center} 274 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealing_capability_overview_diagram.png} 275 + \end{center} 276 + } 277 + 278 + \frame{ 279 + \frametitle{Agent Overview Diagram: non-player-character agent} 280 + 281 + \begin{center} 282 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/non-player_character_overview_diagram.png} 283 + \end{center} 284 + } 180 285 181 286 \frame[allowframebreaks]{ 182 - \frametitle{Conclusion} 287 + \frametitle{Capability Overview Diagram: non-player-character agent} 288 + 289 + \begin{center} 290 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/receive_a_hand_capability_overview_diagram.png} 291 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/bidding_capability_overview_diagram.png}\\ 292 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/playing_capability_overview_diagram.png}\\ 293 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/declare_briscola_capability_overview_diagram.png} 294 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_to_game_capability_overview_diagram.png} 295 + \end{center} 296 + } 297 + 298 + \part{Prototype} 299 + \frame{\partpage} 300 + 301 + \frame{ 302 + \frametitle{Prototype} 303 + \begin{itemize} 304 + \item Environment is a Java class 305 + \item Agents are implemented in 2APL 306 + \item A GUI has been implemented 307 + \item Agent strategies are straight forward 308 + \end{itemize} 309 + } 310 + 311 + \part{Demo} 312 + \frame{\partpage} 183 313 184 - What's wrong with 2APL? 314 + \part{Conclusions} 315 + \frame{\partpage} 185 316 186 - No security mechanisms 317 + \frame{ 318 + \frametitle{Conclusion: the good and the bad} 319 + 320 + \begin{columns} 321 + \begin{column}{0.5\textwidth} 322 + Good: 323 + \begin{itemize} 324 + \item Powerful mix of declarative (Prolog) and imperative programming style (Java) 325 + \item JADE 326 + \end{itemize} 327 + \end{column} 328 + \begin{column}{0.5\textwidth} 329 + Bad: 330 + \begin{itemize} 331 + \item Lack of library to support agent side development 332 + \item Lack of a manual and examples 333 + \item Platform not at industry level 334 + \end{itemize} 335 + \end{column} 336 + \end{columns} 187 337 } 188 338 189 339