Download 14th Workshop on “Software Engineering Education and Reverse

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
14th Workshop on “Software Engineering
Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
GoF design patterns applied to
artificial intelligence methods
Assist. Prof. Dr. Dušanka Bošković
University of Sarajevo
Content
Background: Integrating Software
Engineering and Artificial Intelligence
 DP implementation cases
 Conclusion

14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Background

Benefits:



Problems:



Fuzzy inferencing is suitable for solving real world problems:
operating with fuzzy and non-complete data.
Adaptive systems development needs application of machine
learning techniques.
AI research focused to solving specific and particular
problems,
SE distrust black-box approach and complexity of AI methods
Way to go:


AI: need to elevate abstraction level of solutions from a
particular problem to a strategy that solves a class of
problems
SE: It is not enough to embed AI method; integration of AI
methods in SE processes and techniques
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Integrating AI and SE

Building generic models for AI



Agents and Multi-agent systems (MAS)
Reasoning - Fuzzy inferencing system (FIS)
Learning - Artificial neural networks (ANN)
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
FIS model

Class
diagram
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
FIS model

Fuzzy set generalization
FuzzyVariable
FuzzySet
OutputSet
Singlton
Gaussian
TriangularSet
TrapezoidSet
LeftShoulderSet
RightShoulderSet
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
ANN model

Class diagram

Feedforward NN with Backpropagation
LarningAlgorithm
DataSet
NeuralNetwork
BackPropagation
*
Variable
ActivationFunction1
SigmoidActivation
TanHActivation
LinearActivation
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Design patterns

Factory
Client
uses
add fuzzy set
<Creator> :FuzzyVariable
<Abstract Product> FuzzySet
+AddFuzzySet(int type, String name, double[] points)
+createFuzzySet(String name, double[] points)
<Concretet Product>TriangleFuzzySet
<Concretet Product>TTrapezoidFuzzySet
+createTriangleFuzzySet(String name, double[] points)
+createTriangleFuzzySet(String name, double[] points)
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Design patterns

Factory
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Design patterns

Strategy
NeuralNetwork
+strategy
ActivationFunction
+double function(double net)
+double deriv(double output)
TanHActivation
+double function(double net)
+double deriv(double output)
SigmoidActivation
+double function(double net)
+double deriv(double output)
LinearActivation
+double function(double net)
+double deriv(double output)
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Design patterns

Composition
ClientClass
FuzzyVariable
+applyHedge()
+addFuzzySet()
+getFuzzySet()
*
FuzzySet
+applyHedge()
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
JAVA - Design patterns

Iterator

Observer
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Conclusion



Bridging AI and SE
Making AI solutions understandible to
SE
Introducing new examples for students
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014

Thank you for your attention 

Questions?
14th Workshop on “Software Engineering Education and Reverse Engineering”
Sinaia, Romania August 24th – 30th 2014
Related documents