Background

Most existing approaches to modelling computational entities and interactions between them result either in low-level implementations with no obvious logical characterisation, or in abstract specifications possibly employing quite expressive modalities without a computational counterpart. Approaches of the first kind are very difficult to verify and to use as models for designing systems with similar aims or applications within similar settings. Approaches of the second kind are computationally intractable in many cases, and therefore difficult to turn into systems or applications provably compliant with the given specifications. To bridge this gap, SOCS aims at supplying models of computees and interaction between them that lend themselves to concrete realisations which can be proven correct with respect to those models and can be used in practice to design systems and applications in the envisaged environments. These applications range from air traffic management systems, where different airlines, pilots and control centres work in a global and open environment, to electronic commerce applications which require modelling of groups of business entities in a global trading environment.

The formal models for (societies of) computees that we aim at providing have a computational counterpart that is operational and executable, but at the same time provably correct with respect to the formal models. The computational counterpart will be in the form of computational logic proof procedures, allowing to perform automatically the form of reasoning and exhibit the form of behaviour envisaged by the formal models. This computational counterpart will play a considerable role in providing a correct prototype demonstrator, to animate the societies of computees we aim at designing, and test the proposed approach on concrete scenaria of varying scales

The formal and computational models will require an integrated treatment of different features and behaviours of (societies of) computees. Amongst these features are the capability of dealing with dynamic environments and incomplete information about the environment and the knowledge and behaviour of the computees inhabiting the societies. The environment is dynamic as it is open, with computees joining and leaving societies and modifying their objectives and knowledge over time. The computees have incomplete information as they only have a partial view and knowledge of the environment and of other computees in the societies. Computees might even hold erroneous beliefs about other computees' objectives, availability of resources, knowledge and so on. In order to cope with the openness, incompleteness and misconceptions in their knowledge, computees might need to resort to making (intelligent) assumptions as well as communication with other computees. For example, suppose a computee c1 knows that another computee c2 has to complete a task by a given time t, and c1 is looking for a computee to delegate another task to. Then c1 can assume by default that c2 would not be a good candidate for this delegation until after t. Computees might need to negotiate in order to achieve their own objectives, as well as the objectives they share with other computees, for example by exchanging resources, tasks and knowledge

Some of the aspects outlined above have been studied already, both within computational logic boundaries and outside them, but in isolation. Their integration requires a considerable effort in synthesis as well as novel extensions in order to produce the functionalities of the societies we envisage. For example, there are well-known proposals for computational logic-based techniques for reasoning with incomplete information, and there are well-known techniques for assimilating new knowledge. It is not trivial to integrate the two to allow for knowledge assimilation during reasoning in such a way as to minimise the loss of any partial results of the reasoning process that remain valid after the assimilation.  

Back to: Workplan Menu