Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek...
description
Transcript of Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek...
Automatic discovery of Automatic discovery of program unitsprogram unitsAutomatyczne przeszukiwanie repozytoriów jednostek Automatyczne przeszukiwanie repozytoriów jednostek
programowychprogramowych
Promoter:
Jerzy Nawrocki, Professor
Bartosz Paliświat
Goal – reusability Goal – reusability improvementimprovement
Where can I find program XXX? Reusability:
-Decreases effort
-Improves quality
-Improves modularity
Goal – reusability Goal – reusability improvementimprovement
Discovery improvement
Reusability improvement
Subject of discoverySubject of discoverySimple methodsModulesClasses (standalone class or
package)Components
Discovery - overviewDiscovery - overviewRepository
programXXX
programYYY
Query
engine
Discovery - technologiesDiscovery - technologies
Interface definition
Naming conventions, standardization
Taxonomies
Semanticnetworks
ContextWSFL, XLANG
SemanticWeb
UDDI, JNDI
Java Beans, ebXML
WSDL, IDL
Discovery - technologiesDiscovery - technologies
Interface definition
Naming conventions, standardization
Taxonomies
Semanticnetworks
ContextWSFL, XLANG
SemanticWeb
UDDI, JNDI
Java Beans, ebXML
WSDL, IDL
ProblemProblemWhat kind of categories
should I have in my Taxonomy?
Why there is no such category, it’s so obvious!
Problem - exampleProblem - example
Dictionary
Problem - exampleProblem - example
DictionaryWITH
SPECIALIZED TERMS
Additional filteringAdditional filtering
Taxonomies, Semantic networks
Usage scenarios, canonical aproach
Componentfound
Additional filteringAdditional filtering
Usage scenarios, canonical aproach
Canonical aproachCanonical aproach
Function(x1:T1, x2:T2, ... x3:T3): RT
[0, 0, ..., 0] = 1[0, 0, ..., 1] = 2 ...[0, 1, ..., 0] = 0 ...
Canonical aproachCanonical aproach
Advantages:-Simple and effective way for finding computational functions
-Does not require components execution
Canonical aproachCanonical aproach
Disadvantages:- Canonical input data may not be accurate
- Difficulties with canonical representation of non-basic data types
- Exponential number of possible permutations
- Applies only to stateless methods
Usage scenariosUsage scenarios
TestCase 1
TestCase 2
?
Usage scenariosUsage scenarios
Advantages:-Test data provided by user, thus more accurate
-State and context aware
Usage scenariosUsage scenarios
Disadvantages:-Requires component execution
-Difficulties with methods and parameters maping
-Complicated component-side description
-Exponential algorithms
Thank youThank you