Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek...

19
Automatic discovery of Automatic discovery of program units program units Automatyczne przeszukiwanie repozytoriów jednostek Automatyczne przeszukiwanie repozytoriów jednostek programowych programowych Promoter: Jerzy Nawrocki, Professor Bartosz Paliświat

description

Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych. Promoter: Jerzy Nawrocki, Professor Bartosz Paliświat. Where can I find program XXX?. Goal – reusability improvement. Reusability: Decreases effort Improves quality Improves modularity. - PowerPoint PPT Presentation

Transcript of Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek...

Page 1: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

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

Page 2: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Goal – reusability Goal – reusability improvementimprovement

Where can I find program XXX? Reusability:

-Decreases effort

-Improves quality

-Improves modularity

Page 3: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Goal – reusability Goal – reusability improvementimprovement

Discovery improvement

Reusability improvement

Page 4: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Subject of discoverySubject of discoverySimple methodsModulesClasses (standalone class or

package)Components

Page 5: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Discovery - overviewDiscovery - overviewRepository

programXXX

programYYY

Query

engine

Page 6: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Discovery - technologiesDiscovery - technologies

Interface definition

Naming conventions, standardization

Taxonomies

Semanticnetworks

ContextWSFL, XLANG

SemanticWeb

UDDI, JNDI

Java Beans, ebXML

WSDL, IDL

Page 7: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Discovery - technologiesDiscovery - technologies

Interface definition

Naming conventions, standardization

Taxonomies

Semanticnetworks

ContextWSFL, XLANG

SemanticWeb

UDDI, JNDI

Java Beans, ebXML

WSDL, IDL

Page 8: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

ProblemProblemWhat kind of categories

should I have in my Taxonomy?

Why there is no such category, it’s so obvious!

Page 9: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Problem - exampleProblem - example

Dictionary

Page 10: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Problem - exampleProblem - example

DictionaryWITH

SPECIALIZED TERMS

Page 11: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Additional filteringAdditional filtering

Taxonomies, Semantic networks

Usage scenarios, canonical aproach

Componentfound

Page 12: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Additional filteringAdditional filtering

Usage scenarios, canonical aproach

Page 13: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Canonical aproachCanonical aproach

Function(x1:T1, x2:T2, ... x3:T3): RT

[0, 0, ..., 0] = 1[0, 0, ..., 1] = 2 ...[0, 1, ..., 0] = 0 ...

Page 14: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Canonical aproachCanonical aproach

Advantages:-Simple and effective way for finding computational functions

-Does not require components execution

Page 15: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

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

Page 16: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Usage scenariosUsage scenarios

TestCase 1

TestCase 2

?

Page 17: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Usage scenariosUsage scenarios

Advantages:-Test data provided by user, thus more accurate

-State and context aware

Page 18: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Usage scenariosUsage scenarios

Disadvantages:-Requires component execution

-Difficulties with methods and parameters maping

-Complicated component-side description

-Exponential algorithms

Page 19: Automatic discovery of program units Automatyczne przeszukiwanie repozytoriów jednostek programowych

Thank youThank you