···150150151151\subsection{Data Coupling Diagram}
152152153153-The roles that were formed in the last step of the previous phase are linked to data that has been identified as necessary for performing that role. In the data-coupling diagram you can see all roles and data types in the system. The following data types have been identified in the system: ``position'' that record the position of the player at the table that is useful to decide its turn, the ``deck'' that contains all the cards, the ``hand'' that represents the cards in hand of each player, the ``historic of bids'' that records the historic of bids, the ``historicic of card played'' that analogously records the historic of card played in order to decide which card to play, the ``team information'' that is used to store beliefs about team settings, the ``points'' that is used to store the points of each round and finally the ``scoreboard'' that contains the all the times score of the games for each player. The data coupling diagram is provided in Figure~\ref{fig:datacoupl}.
153153+The roles that were formed in the last step of the previous phase are linked to data that has been identified as necessary for performing that role. In the data-coupling diagram you can see all roles and data types in the system. The following data types have been identified in the system: ``position'' that record the position of the player at the table that is useful to decide its turn, the ``deck'' that contains all the cards, the ``hand'' that represents the cards in hand of each player, the ``historic of bids'' that records the historic of bids, the ``historic of card played'' that analogously records the historic of card played in order to decide which card to play, the ``team information'' that is used to store beliefs about team settings, the ``points'' that is used to store the points of each round and finally the ``scoreboard'' that contains the all the times score of the games for each player. The data coupling diagram is provided in Figure~\ref{fig:datacoupl}.
154154155155\begin{figure}[htp]
156156 \includegraphics[keepaspectratio,scale=0.45]{pdt/images/architectural_design/data_coupling.png}
···272272273273\section{Conclusion}\label{sec:concl}
274274275275-The general feeling after implementing the briscola game into the 2APL system is both good and bad. I will start with the positive aspects.
275275+The general feeling after implementing the Briscola Chiamata game into the 2APL system is both good and bad. I will start with the positive aspects.
276276277277-Having a declarative programming when developing agents certainly gives the designer more freedom and a certain level of confidence that you would not have with other languages. You can focus specifically on 'what' you want your agents to do and not 'how'. This conceptual division is one of the main attractions of 2APL and even though some of us required to learn this type of programming in more depth as we had no previous experience in it, we certainly appreciated the benefit gained when we were in the implementation stage.
277277+Having a declarative programming when developing agents certainly gives the designer a certain level of confidence that you would not have with other languages. You can focus specifically on ``what'' you want from your agents to do and not ``how''. This conceptual division is one of the main attractions of 2APL and even though some of us required to learn this type of programming in more depth as we had no previous experience in it, we certainly appreciated the benefit gained when we were in the implementation stage.
278278279279The JADE platform tools and some of 2APL tools were certainly helpful from beginning to end and provided us with information that would have otherwise been hard to see or find. Of course we can connect any of our agents to any other agent in the JADE platform and having portability is a helpful and important feature.
280280281281-The negative aspects of 2APL are few, but certainly relevant. Firstly it is clearly a tool designed primarily for research and not for market development. The documentation for 2APL is still relatively vague and requires some updating, while the examples given are few and sadly not fully detailed.The environment we built was done by scanning the code of some of the java classes of an example and thus we lacked the true ability to implement a full application (this was never our intention, but knowing that if you wanted it would be very difficult certainly isnt a positive aspect).
281281+The negative aspects of 2APL are few, but certainly relevant. Firstly it is clearly a tool designed primarily for research and not for industry development. The documentation for 2APL is still relatively vague and requires some updating, while the examples given are few and sadly not fully detailed. The environment and the agents we built ware done by scanning the code of some of the Java classes of an example and thus we lacked the true ability to implement a full application (this was never our intention, but knowing that if you wanted it would be very difficult certainly is not a positive aspect).
282282283283-Even though prolog does give us a very powerful logic system, it does lack other tools such as databases, load data and other form of operation in which a prolog library would be required (and not allowed in 2APL).Finally, even though it was previously mentioned, the 2APL parser was so unhelpful that it barely provided us with any useful information. Clearer instructions or error messages would be necessary if any serious development was to be made in this language.
283283+Even though declarative programming does give us a very powerful logic system, it does lack library support such as databases, load data and other form of operation in which a prolog library would be required (and not allowed in 2APL).Finally, even though it was previously mentioned, the 2APL parser was so unhelpful that it barely provided us with any useful information. Clearer instructions or error messages would be necessary if any serious development was to be made in this language.
284284285285So even though we praised 2APL for some things and despised it for others, as a whole we were pleased to develop with 2APL and do believe that with more work it can become the "go to" language of multiagent systems... at least from a research point of view.
286286