The software management and engineering in the AI-oriented projects tutorial
Post on 14-Jul-2015
845 Views
Preview:
Transcript
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
The software management and engineering in the AI-oriented projects
Dr W Pietruszkiewicz
SDART Ltd
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Plan of presentation
Introduction
Software project management
Software design
AI implementation
Examples of AI software
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Introduction
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Artificial Intelligence
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Project success
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Research oriented software
Time and budget aren’t usually fixed – it is
possible to extend the research
Resources are flexible
People mainly have the personal interests (fame,
dissertations, publications …)
Quality (functionality) is the main concern
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Product oriented software
Time and budget are usually fixed
Quality is adjusted to the available budget and
schedule
People mainly have the business interests
Resources aren’t flexible
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
AI & software in projects
Proper management
Struggle
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
This tutorialReasons to propose this tutorial:
•There exist the software projects without AI but I’m not
sure if there exist AI projects without the software
(embedded count too!) …
•The knowledge about the software management is
unpopular among AI researchers
•At SDART we deal with the AI-oriented software projects
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
This tutorial
•Will:• present a selection of the popular techniques and methods for software
development
• evaluate them from AI perspective
• propose what could be used
Will not:• say what have to be used
• be a guide ready to be applied step-by-step
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software project management
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
AI & soft – PM nightmare
In the project management two types of projects
are the symbols of unpredictability:
Research projects
…. software projects
What could we do dealing with an AI-oriented
software projects? Professionally manage them!
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software development schema
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
DM management
Data mining management seems to be more
organised than AI
There are different models of DM organisation:
CRISP-DM
SEMMA
DMAIC/DMADV
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
CRISP-DM
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
SEMMA
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
DMAIC&DMADV
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Management model
Can’t we use any DM model to properly manage
the AI&software projects? Yes we could …. only if
the software does not constitute any significant
part of the project. Meanwhile …
AI projects require software to research
These projects require software to use AI
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Common risk sources
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Risk strategies
Avoidance
Retention
Sharing
Reduction
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software qualityThere are many software quality factors, among
them:
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software quality
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software qualityIf an application is a product users perceive only
its „front” parts:
•GUI
•Errors
•Documentation
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software metrics
Tom DeMarco said „You can’t control what you
can’t measure”
Software metrics measure some properties of a
software or its specification e.g. complexity,
quality, efficiency or size
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software estimation
Estimation problem
I think I’ve
forgotten
something, but
what was it???
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Methodology & Life cycle
Software methodology defines the structure,
plan and management of developed software
Methodology contains development philosophy
and tools, methods and models supporting the
process
Life cycle model defines the phases and activities
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC– staged delivery
Requirements
Design
Implementation
Verification
Maintenance
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC - spiral
Spiral model – Boehm 1988
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC – staged deliveryConception
Analysis
Desing
Stage 1
Stage 2
Stage n
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC – design to scheduleConception
Analysis
Desing
Stage 1
Stage 2
Stage n
Software release
Time? Costs?
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC - AgileThe Agile development is based on the iterative model
Initial planning
Planning
Requirements Analysis and design
Implementation
Deployment
TestingEvaluation
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC - XP
Extreme programming is an Agile implementation:
Programming in pairs
Extensive code review
Avoids the programming required in the future
Automated tasks
Nothing is fixed i.e. everything could be redone
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC - SCRUM
Project is being developed by Pigs & Chickens
Pig is committed to the project i.e. ScrumMaster,
Team, ProductOwner
Chicken is involved i.e.: Stakeholder, Manager
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC - SCRUM
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC – Unified Process
Is an iterative software development framework
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC – UP versions
Rational Unifed Process
Agile Unified Process
Open Unified Process
Enterprise Unified Process
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC– selectionThe factors that influences life cycle selection are:
Size of project
Understood requirements
Desired reliability
Allowed overheads
Progress visibility
Sophisticated management
Allowed corrections
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
M&LC - summary
Waterfall is still the most frequently used model by
the biggest software companies
But they do it preparing „yet another version of X”
AI projects are usually new for you as well as for
everyone else, so do not expect it to be as easy as
software mentioned above
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Collaboration
Homogeneous research team Heterogeneous software team
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Project controlling
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Software design
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Architecture
Architecture is a high level planning for the
software that does not involve any functional
decisions
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
ViewsThe views are perspectives that are used to represent different aspect of
the system:
Code/module view
Concurrency/process/thread view
Data view
Development/structural view
Functional/logic view
Physical/deployment view
User action/feedback view
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
FrameworksSoftware architecture is defined by various frameworks
defining its necessary elements:
4+1
RM-ODP
DODAF
SOMF
…
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Frameworks - 4+1
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Design concepts
Abstraction & refinement – generalisation
Modularity
Hierarchy
Information & functionality enclosure
Structural partitioning – vertical & horizontal
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
UML
Unified Modeling Language:
Object oriented
Unified Booch, OOSE, OMT modelling methods
Currently in 2.2 version – the most of software
supports 2.0
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
UML Diagrams
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
UML Advantages
UML became an industry standard due to:
Visualisation
Documenting
Specifying
Constructing
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
UML ToolsPapyrus – http://www.papyrusuml.org
Poseidon for UML - http://www.gentleware.com
Visual Paradigm for UML - http://www.visual-
paradigm.com
Umbrello UML Modeller – http://uml.sourceforge.net
StarUML – http://staruml.sourceforge.net
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Supporting tools
Let’s take a look at the supporting tools
If something could be done simpler and at least
with the same quality
Use them and forget the time-consuming
repetive tasks and focus on the difficult ones
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Version controlling
How to avoid the mess dealing with the different
versions of files in projects?
The source code is constantly changing …
The AI files too …
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Version controllingVersion controlling allows the development team to manage
different versions of software. They keep track of work and
allow the team to look at the project’s past.
There are 3 kinds of version controlling systems:
Local
Distributed
Client-server
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Version controlling – local systems
Revision Control System
Source Conde Control System
MKS Implementer
History Explorer
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Version controlling - distributed
DCVS (Distributed CVS)
Monotone
GNU arch
Plastic SCM
BitKeeper
TeamWare
PC Rep
PC Rep
PC Rep
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Version controlling – client/server
CVS
SVN
Codendi
ClearCase
Visual SourceSafe
Autodesk Valut
Client
Client
Client
Server Rep
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Supporting tools & technologies
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Automated builds - advantagesEfficiency increase
Development process simplification
Increased software quality
Reduced costs
False version removal
Reduction of the development team or task relocation
Project archiving
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Automated buildsThe automated build tools include:
make
Maven
Ant
MSBuild
Cmake
and many others
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Automated testing - make
An example of makefile taken from QT library.
PNGMAK=scripts/makefile.linux
all:cd zlib; ./configure; makecd libpng; make -f $(PNGMAK)
clean:-cd zlib; make clean-cd libpng; make -f $(PNGMAK) clean
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Automated testing - Ant<project name="MyProject" default="dist" basedir="."> <description>simple example build file</description> <!-- set global properties for this build --> <property name="src" location="src"/> <property name="build" location="build"/> <property name="dist" location="dist"/> <target name="init"> <!-- Create the time stamp --> <tstamp/> <!-- Create the build directory structure used by compile --> <mkdir dir="${build}"/> </target> <target name="compile" depends="init” description="compile the source " > <!-- Compile the java code from ${src} into ${build} --> <javac srcdir="${src}" destdir="${build}"/> </target> <target name="dist" depends="compile” description="generate the distribution" > <!-- Create the distribution directory --> <mkdir dir="${dist}/lib"/> <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file --> <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/> </target> <target name="clean” description="clean up" > <!-- Delete the ${build} and ${dist} directory trees --> <delete dir="${build}"/> <delete dir="${dist}"/> </target></project>
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Automated testing - Maven<project xmlns="http://maven.apache.org/POM/4.0.0" mlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>Maven Quick Start Archetype</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies></project>
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Automated testing - unit
Test ATest ABCD
vs
Test B Test C Test D
Data
Data Data Data Data
The most popular unit testing tool is xUnit available in many versions for all popular languages
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Automated testing - system
Automated GUI tests
perceive the application as
a black-box and test it from
the user’s perspective.
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Code documenting
Automatic API documentation tools:
JavaDoc
DoxyGen
RoboDoc
…
Manual documentation
Automatic documentation
Code Doc CodeDoc
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Bug trackingIssue/Bug Tracking Systems usage leads to:
Better quality control
Gaining users’ feedback
Better resource allocation
Increased users’ comfort
Better information flow
Feature request available
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Bug tracking – bug categories
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Bug tracking
Bugzilla
Flyspray
Mantis
Trac
Redmine
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Bug tracking
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
AI implementation
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Implementation
Transforms the design (plan) into the code
Problems:
Technology
Programming language
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Levels of programming languages
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
1st generation
The code lines are equal to the processor
instructions – one to one
Machine code
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
2nd generation
Symbolic representation
of processor’s
instructions
Assembler language
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
3rd generation
Instructions represent the basic operations
Oriented on programmer
Most popular generation
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
4th generation
Specialised languages oriented on advanced
operations
RAD tools are 4GL build over 3GL
Matlabdisp('Hello, world!')
SASdata _null_; put 'Hello, world!'; run;
Postscript(Hello, world!\n) print
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
5th generation
Represent not algorithms but desired outcome
Logical programming
Programming for non-programmers
Common Lisp(write-line "Hello, world!")
Prolog:- write('Hello, world!'),nl.
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Hybrid programming – embedding
Hybrid programming (embedding languages)
could be synergic but:
Increases the technological risk
Increases the demand on skilled developers
Blurs the project
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Programming paradigms
Paradigm is a fundamental style of computer
programming and defines the concept of
programming language
The most of programming languages support
various paradigms (different approaches to
problem)
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Programming paradigms
The most popular paradigms are:
Agent-oriented
Declarative
Event-driven
Imperative
Metaprogramming
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Desktop applications
C/C++
Java
C#
Python
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Web services – server sideJava EE
PHP
Python
Ruby
Perl
.NET
CGI (every language that could be run by server)
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Web services - RIAsFlash
AJAX
Java SE
JavaFX
FLEX
OpenLaszlo
Silverlight
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Mobile applications
Java ME
C++
Objective-C
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Languages popularity
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Characteristics - domain
Specialised – good at something but below
average on other things
General purpose – no specific domain and a
compromise on all tasks
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Characteristics - speed
Compiled faster
Interpreted slower
But:
Compiled start-up slower
Interpreted start-up faster (write-run-test cycle)
JIT compilers for interpreted languages
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Characteristics - portability
Software could be portable on two levels:
Source code
Binary code
Portability does not relate only to the programming
language but also to used libraries
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Characteristics - prototyping
Ability to verify the assumption:
Dynamic language
Simple syntax
Efficiency isn’t a main concern
Checks if the idea works
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Characteristics – target platform
Target platform:
PC
Mobile
Web
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Computer languages
Scientific perspective Programming perspective
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Why use a specialised languages
Popular in the research community
Specialized languages
Many libraries/toolkits and examples are
available
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Why not use them
Specialised not universal
High price
Simple or no GUI
No networking
Research not production languges
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Important programming features
Dynamic languages:
Do not care about types of data
Focus on the algorithms
But reject a full data control
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Important programming features
Prototyping:
Checks algorithms
Easily visualise data or make GUI
Speed is measured as the time of coding not
running
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Important programming features
Scientific libraries:
How often do we construct new algorithms
(Charlie Eppes Syndrome – NUMB3RS)?
The application is more like a large panel building
than brick building – applies to the AI problems as
well as to the „ordinary” soft
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Important programming features
Visual design (graphical programming):
GUI could be constructed using components
Link the components visually
Evaluate application faster
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
More important part of AI software
KnowledgeModelsRules
Graphs
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Hybrid software development
Research Development
Ide
a
Pro
duc
t
Replanning& redesign
Technology X
Technology X Technology Y??
???
??
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Programming libraries – C/C++MLC++ http://www.sgi.com/tech/mlc/
FANN http://leenissen.dk/fann/
Waffles http://waffles.sourceforge.net/
OpenCV ML
http://opencv.willowgarage.com/documentation/cpp/ml._mach
ine_learning.html
dlib C++ http://dlib.net/
VFML http://www.cs.washington.edu/dm/vfml/
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Programming libraries – Java
Java-ML http://java-ml.sourceforge.net/
Weka Engine
http://www.cs.waikato.ac.nz/ml/weka/
MLJ http://sourceforge.net/projects/mldev/
MALLET http://mallet.cs.umass.edu/
LIBSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Programming libraries – C#Infer.NET http://research.microsoft.com/en-us/um/cambridge/
projects/infernet/
AForge.NET http://code.google.com/p/aforge/
C# Neural Network Library
http://franck.fleurey.free.fr/NeuralNetwork/
NeuronDotNet http://neurondotnet.freehostia.com/
NeuroBox Neural Network Library
http://www.cdrnet.net/projects/neuro/
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Programming libraries – Python
Orange engine http://www.ailab.si/orange/
PyML http://pyml.sourceforge.net/
MDP http://mdp-toolkit.sourceforge.net/
PyBrain http://www.pybrain.org/
LIBSVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Programming libraries – PHP
FANN PHP Extension
http://fann.sourceforge.net/fann.html
Tremani Neural Network http://www.tremani.nl/
open-source/neural-network/
ANN http://ann.thwien.de/index.php/Main_Page
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Example I – Java
A simple data mining task
Uses Java-ML library
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Example II – Python
Adaptive filtering algorithm
Use as a web service (server part)
Use mod_python on Apache
SETN 2010 - TUTORIAL
The software management and engineering in the AI-oriented projects
www. .co.uk
Example III – Flex
Particle Swarm Optimisation example
RIA application
Uses a standard Flex without any additional
libraries
top related