Cybernetic Intelligent Systems

This is the second year that SDART has been invited to present a tutorial for the IEEE audience. The main purpose of this presentation was to display how AI & SC methods can be embedded in general purpose languages. The programming languages used by the majority of AI&SC analysts are domain-specific languages, while software developers prefer general purpose languages, which allow them to create ergonomic and well designed GUI or to use networking functionality. This creates a gap between researched solutions and developed tools. During the presentation program the participants were taught how their research could be converted from an experimental tool to a user-friendly software product.

Keywords: Artificial intelligence, Soft computing, Programming languages Form of tutorial: Presentation of AI&SC examples in various programming languages

Description: This tutorial will focus on the presentation of AI&SC programming in popular computer languages. A common approach to AI&SC research is to use domain-specific programming languages i.e. Lisp, Clips, Prolog, Matlab or Scilab. As a result software created by scientists often do not use features offered by general purpose programming languages, where these features significantly increase application usability. On the other hand, developers omit AI&SC-focused languages because of the problems in construction of modern, GUI equipped or networking software. While using domain specific languages often shortens research time, it also creates a bottleneck for future applications of scientific research. Too many scientific solutions are not widely used because of problems with their purely laboratory-aimed design. It limits the real-life applications of AI&SC. This tutorial provides participants with knowledge of how to fill the gap between research & development. During it, a few examples of ‘how AI&SC parts can be embedded into general purpose programming languages are presented. The examples will focus on popular languages i.e. C/C++, Java and Python.

Topics: The main part of this tutorial is divided into 3 sections covering embedding AI&SC in different types of software (and programming languages):

  1. Desktop software - PCs platform (C++),
  2. Mobile applications - smartphones (Java ME),
  3. Web-based systems - servers (Python).

To give a wider view to participants, a brief introduction to existing AI&SC libraries and tools is made at the beginning of each example.
 
Required knowledge: Participants should have basic knowledge of Artificial Intelligence, Soft Computing and computer programming (object-oriented programming). However, to ensure that this tutorial is easily understandable a scientific introduction to each problem is made as well as a discussion of source code.
 
Software and hardware: To increase the usefulness of the examples presented, all parts of the tutorial use freely available Open Source tools and libraries. The Integrated Development Environment for this tutorial is NetBeans. For participants equipped with own laptops, it is explained how to configure NetBeans and install additional plugins.