Presentation is loading. Please wait.

Presentation is loading. Please wait.

Comprehensive System for Systematic Case-Driven Software Reuse SOFSEM 2010 25.01.2010 M. Śmiałek, A. Kalnins, E. Kalnina, A. Ambroziewicz, T. Straszak,

Similar presentations


Presentation on theme: "Comprehensive System for Systematic Case-Driven Software Reuse SOFSEM 2010 25.01.2010 M. Śmiałek, A. Kalnins, E. Kalnina, A. Ambroziewicz, T. Straszak,"— Presentation transcript:

1 Comprehensive System for Systematic Case-Driven Software Reuse SOFSEM 2010 25.01.2010 M. Śmiałek, A. Kalnins, E. Kalnina, A. Ambroziewicz, T. Straszak, K. Wolter Warsaw University of Technology, Poland IMCS University of Latvia, Latvia University of Hamburg, Germany

2 Outline – reuse schema Software Case 1 Requirements 1 Design 1Code 1 Software Case 12 Requirements 2Design 2Code 2 δ R2 Requirements drivenTransformation driven Retrieval technologies Software case repositories

3 ReDSeeDS Engine 3

4 Software Case 1 Requirements 1 Design 1Code 1 Software Case 12 Requirements 2Design 2Code 2 δ R2 Reuse schema – step 1

5 RSL = scenarios + vocabulary

6 RSL Editor

7 Evolution schema – step 2 Software Case 1 Requirements 1 Design 1 Code 1 Software Case 12 Requirements 2Design 2Code 2 δ R2

8 Design AL_Interface al_operation DL_Interface dl_operation R to D transformation rules Requirements Scenario step Application Behavior Domain Behavior Domain Notion DS Logic Domain Statement Use Case Scenario step

9 D = t(R) - structure

10 D = t(R) - dynamics

11 Evolution schema – step 3 Software Case 1 Requirements 1 Design 1 Code 1 Software Case 12 Requirements 2Design 2Code 2 δ R2

12 class CShowExtendedCourseList implements IShowExtendedUserList { // (...) wantsToSeeCourseList(){ // } Application logic code class CShowExtendedCourseList implements IShowExtendedUserList { // (...) wantsToSeeCourseList(){ ICourseList.builds(cl) ; UI.showsCourseList(cl); } CourseManagement IShowExtended CourseList

13 class CCourseList implements ICourseList { // (...) void builds(CourseListDTO cld){ // } Domain logic code class CCourseList implements ICourseList { // (...) void builds(CourseListDTO cld){ UserListDTO resList; for (i=1; i==user_list_length; i++) { resList.add(userList[i]); } cld=resList; } CoursesServices ICourseList R1

14 R to D to C and reuse Design Requirements Non-functional Requirements R to D Transformation Technological Framework D to C Transformation System Structure Application Behaviour Domain Behaviour Functional Requirements Domain Definition Code

15 Reuse schema – step 4 Software Case 1 Requirements 1 Design 1Code 1 Software Case 12 Requirements 2 Design 2Code 2 δ R2

16 Extending requirements

17 Reuse schema – step 5 Software Case 1 Requirements 1 Design 1Code 1 Software Case 12 Requirements 2 Design 2Code 2 δ R2

18 R to D to C again

19 New application logic code class CShowExtendedCourseList implements IShowExtendedUserList { // (...) wantsToSeeCourseList(){ UI.showsCourseFilterForm(f); } CourseManagement IShowExtended CourseList

20 New domain logic code class CCourseList implements ICourseList { // (...) void builds(CourseFilterDTO fil, CourseListDTO cld){ UserListDTO resList; for (i=1; i==user_list_length; i++) { if compare(udto,userList[i]) resList.add(userList[i]); } cld=resList; } CoursesServices ICourseFilter R2 C1

21 Determine elements for reuse Software Case 1 Requirements 1 Design 1Code 1 Software Case 12 Requirements 2Design 2Code 2 δ R2

22 Similarity measures Similarity measures based on: common terminology description logic structural approach (defResource c1::Client--NounPhrase (rdf:type owl:Class) (owl:intersectionOf TRRSL:NounPhrase (owl:Restriction (owl:onProperty TRRSL:nounLink) (owl:allValuesFrom TY::order2)) (owl:Restriction (owl:onProperty TRRSL:isPartOfDomainStatement_d1e3741) (owl:allValuesFrom c2::order--DomainStatement))))

23 Showing similarity

24 Showing elements for reuse

25 Summary – evolution or revolution? Software Case 1 Requirements 1 Design 1Code 1 Software Case 12 Software Case 15 Requirements 4 δ R4 Design 4Code 4 Requirements 2Design 2Code 2 δ R2 Q R4 “instant diff” “instant refactor” support for reuse

26 Thank you for your attention. www.redseeds.eu

27 Consortium members, duration and budget 27 Infovide S.A. Warsaw University of Technology HITeC e.V. University of Koblenz-Landau PRO DV Software AG Fraunhofer - Gesellschaft (Institute for Experimental Software Engineering) Vienna University of Technology Algoritmu sistemos, UAB C/S IT Ltd. - Cybersoft Heriot-Watt University Latvia Institute of Mathematics and Computer Science - University of Latvia Budget: 3.804.000,- € Community Contribution: 2.990.710,- € Duration: September 2006 – October 2009


Download ppt "Comprehensive System for Systematic Case-Driven Software Reuse SOFSEM 2010 25.01.2010 M. Śmiałek, A. Kalnins, E. Kalnina, A. Ambroziewicz, T. Straszak,"

Similar presentations


Ads by Google