190 likes | 262 Views
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.
E N D
Automatic discovery of program unitsAutomatyczne 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
Goal – reusability improvement Discovery improvement Reusability improvement
Subject of discovery • Simple methods • Modules • Classes (standalone class or package) • Components
Repository programXXX programYYY Discovery - overview Query engine
WSFL, XLANG Context SemanticWeb Semantic networks UDDI, JNDI Taxonomies Naming conventions, standardization Java Beans, ebXML Interface definition WSDL, IDL Discovery - technologies
WSFL, XLANG SemanticWeb UDDI, JNDI Java Beans, ebXML WSDL, IDL Discovery - technologies Context Semantic networks Taxonomies Naming conventions, standardization Interface definition
Problem What kind of categories should I have in my Taxonomy? Why there is no such category, it’s so obvious!
Problem - example Dictionary
Problem - example Dictionary WITH SPECIALIZED TERMS
Additional filtering Taxonomies, Semantic networks Usage scenarios, canonical aproach Componentfound
Usage scenarios, canonical aproach Additional filtering
Canonical aproach Function(x1:T1, x2:T2, ... x3:T3): RT [0, 0, ..., 0] = 1 [0, 0, ..., 1] = 2 ... [0, 1, ..., 0] = 0 ...
Canonical aproach • Advantages: • Simple and effective way for finding computational functions • Does not require components execution
Canonical 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
TestCase 1 ? TestCase 2 Usage scenarios
Usage scenarios • Advantages: • Test data provided by user, thus more accurate • State and context aware
Usage scenarios • Disadvantages: • Requires component execution • Difficulties with methods and parameters maping • Complicated component-side description • Exponential algorithms