On requirements representation and reasoning using answer set programming

We describe an approach to the representation of requirements using answer set programming and how this leads to a vision for the role of artificial intelligence techniques in software engineering with a particular focus on adaptive business systems. We outline how the approach has developed over several years through a combination of commercial software development and artificial intelligence research, resulting in: (i) a metamodel that incorporates the notion of runtime requirements, (ii) a formal language for their representation and its supporting computational model (InstAL), and (iii) a software architecture that enables monitoring of distributed systems. The metamodel is the result of several years experience in the development of business systems for e-tailing, while InstAL and the runtime monitor is on-going research to support the specification, verification and application of normative frameworks in distributed intelligent systems. Our approach derives from the view that in order to build agile systems, the components need to be structured more like software that controls robots, in that it is designed to be relatively resilient in the face of a non-deterministic, dynamic, complex environment about which there is incomplete information. Thus, degrees of autonomy become a strength and an opportunity, but must somehow be constrained by informing these autonomous components what should be done in a certain situation or what system state ought to be achieved through norms as expressions of requirements. Because such a system made up of autonomous components is potentially behaviourally complex and not just complicated, it becomes essential to monitor both whether norms/requirements are being fulfilled and if not why not. Finally, because control over the system can be expressed through requirements in the form of data that can be changed, a route is opened to adjustment and dynamic re-direction of running systems.

[1]  Julian Padget,et al.  Obligations to enforce prohibitions: on the adequacy of security policies , 2013, SIN.

[2]  Haibo Chen,et al.  POLUS: A POwerful Live Updating System , 2007, 29th International Conference on Software Engineering (ICSE'07).

[3]  Marina De Vos,et al.  Evaluating the Cost of Enforcement by Agent-Based Simulation: A Wireless Mobile Grid Example , 2013, PRIMA.

[4]  Marina De Vos,et al.  A model-based approach to the automatic revision of secondary legislation , 2013, ICAIL.

[5]  Bashar Nuseibeh,et al.  Privacy arguments: Analysing selective disclosure requirements for mobile applications , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[6]  Jaime Simão Sichman Multiagent Organizations , 2016, ICAART.

[7]  Michael Waidner,et al.  Platform for Enterprise Privacy Practices: Privacy-Enabled Management of Customer Data , 2002, Privacy Enhancing Technologies.

[8]  Wil M. P. van der Aalst,et al.  DecSerFlow: Towards a Truly Declarative Service Flow Language , 2006, WS-FM.

[9]  Julian Padget,et al.  Decoupling Cognitive Agents and Virtual Environments , 2012, CAVE.

[10]  Michael Winikoff,et al.  Prometheus design tool , 2005, AAMAS '05.

[11]  Marek J. Sergot,et al.  A Formal Characterisation of Institutionalised Power , 1996, Log. J. IGPL.

[12]  Nelly Bencomo,et al.  Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[13]  Marc Esteva,et al.  Engineering Open Multi-Agent Systems as Electronic Institutions , 2004, AAAI.

[14]  Pablo Noriega,et al.  FM96.5 A Java-based Electronic Auction House , 1997, PAAM.

[15]  Marina De Vos,et al.  Legal Conflict Detection in Interacting Legal Systems , 2013, DoCoPe@JURIX.

[16]  Frances M. T. Brazier,et al.  Scalable Middleware Environment for Agent-Based Internet Applications , 2004, PARA.

[17]  Emad Eldeen Elakehal Modelling self-managing multi agent systems using norms , 2015 .

[18]  Julian Padget,et al.  System security requirements analysis with answer set programming , 2012, 2012 Second IEEE International Workshop on Requirements Engineering for Systems, Services, and Systems-of-Systems (RESS).

[19]  Marek J. Sergot,et al.  A logic-based calculus of events , 1989, New Generation Computing.

[20]  Marius Thomas Lindauer,et al.  Potassco: The Potsdam Answer Set Solving Collection , 2011, AI Commun..

[21]  Nelly Bencomo,et al.  Requirements reflection: requirements as runtime entities , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[22]  Chitta Baral,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2003 .

[23]  Julian Padget,et al.  Market intelligence and price adaptation , 2012, ICEC '12.

[24]  Daniel Krajzewicz,et al.  Recent Development and Applications of SUMO - Simulation of Urban MObility , 2012 .

[25]  Julian Padget,et al.  Pan-supplier stock control in a virtual warehouse , 2008, AAMAS.

[26]  Julian Padget,et al.  MSMAS: Modelling Self-managing Multi Agent Systems , 2012, Scalable Comput. Pract. Exp..

[27]  Marina De Vos,et al.  Analysing energy-incentivized cooperation in next generation mobile networks using normative frameworks and an agent-based simulation , 2011, Future Gener. Comput. Syst..

[28]  Marina De Vos,et al.  Answer Set Programming for Representing and Reasoning About Virtual Institutions , 2006, CLIMA.

[29]  Marco Montali,et al.  Verifying MSMAS Model Using CIFF , 2013, MATES.

[30]  Peter Van Roy,et al.  Self Management and the Future of Software Design , 2007, FACS.

[31]  Nicholas R. Jennings,et al.  Commitments and conventions: The foundation of coordination in multi-agent systems , 1993, The Knowledge Engineering Review.

[32]  Nelly Bencomo,et al.  Requirements for Self-adaptation , 2011, GTTSE.

[33]  Julian Padget,et al.  Towards polite virtual agents using social reasoning techniques , 2013, Comput. Animat. Virtual Worlds.

[34]  Marco Montali Specification and Verification of Declarative Open Interaction Models: A Logic-Based Approach , 2010 .

[35]  Dalal Alrajeh,et al.  Elaborating Requirements Using Model Checking and Inductive Learning , 2013, IEEE Transactions on Software Engineering.

[36]  Michael Gelfond,et al.  Classical negation in logic programs and disjunctive databases , 1991, New Generation Computing.

[37]  Marina De Vos,et al.  Legal Modelling and Reasoning Using Institutions , 2010, JSAI-isAI Workshops.

[38]  Peter Saint-Andre Extensible Messaging and Presence Protocol (XMPP): Core , 2011, RFC.

[39]  Marina De Vos,et al.  Modelling Normative Frameworks Using Answer Set Programing , 2009, LPNMR.

[40]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).