1 / 17

XVCL: A Tool for reusing software

XVCL: A Tool for reusing software. Soe Myat Swe Software Engineer (CAP Dept.). Presentation overview. Background What is XVCL? Our experiences Current status Conclusion. Background. SES (Domain Knowledge). Waterloo University (Reliability). Work on XVCL. need more than Frame offer.

hera
Télécharger la présentation

XVCL: A Tool for reusing software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XVCL: A Tool for reusing software • Soe Myat Swe • Software Engineer (CAP Dept.)

  2. Presentation overview • Background • What is XVCL? • Our experiences • Current status • Conclusion

  3. Background SES (Domain Knowledge) Waterloo University (Reliability) Work on XVCL need more than Frame offer XVCL1.0 (1998) NUS + Paul Bassett (Netron Inc.) Netron Inc. (Experties in Frame) NUS (Reusability) More experiments More improvements XVCL 2.0 Experiment with CAD CAD = Computer Aided Dispatch System XVCL = XML-based Variant Configuration Language SES (Domain Knowledge)

  4. What is XVCL? XML-based Variant Configuration Language • building generic reusable and customizable components (meta-components) • deriving concrete components from generic components by customizing through configuration

  5. What is XVCL? <set var=“classname” value=“Hello1”/> <set-multi var=“message” value=“Hello world, This is XVCL.”/> customization script XVCL processor Hello3 Hello2 Customization Process Hello Hello1 <x-frame> class <value-of expr= “?@classname?”/> { public static void main(String[] args) { <whileusing-items-in=“messages”> System.out.println( <value-of expr= “?@messages?”/>); </while> } } </x-frame> class Hello1 { public static void main(String[] args) { System.out.println(“Hello world!”); System.out.println(“This is XVCL.”); } }

  6. Pilot project: summary • Command and control (C2) application • Developed in C# on .NET platform • The scope of the pilot application: • 13 domain entities (User, Task, Resource, etc.) • GUI, service / entity / DB classes • Results: we eliminated 68% of code

  7. User Task Resource entities: operations: create update find list save High-level redundancies: an example • each entity (User, Task) needs similar operations: • operations (create, update, etc.) follow the same pattern independently of the entity

  8. <<form class>> FormTaskCreation GUI <<form class>> FormUserCreation executes executes visualizes <<service class>> TaskService Service visualizes <<service class>> UserService manipulates <<entity class>> manipulates access Task <<entity class>> Entity access User persists <<DB class>> persists DBTask <<DB class>> DB DBUser Operation create for User, Task

  9. Summary of the classes • 112 classes in GUI, service, entity, DB access

  10. Our experience • experimented on a prison prototype system • 112 classes in GUI, service, entity, db access

  11. Our Experience: XVCL vs. original C# solution)

  12. Our Experience: Results • XVCL was easier to apply than expected • we got encouraging results (presented in ICSE 2003 conference): • to add a new domain entity to the application:

  13. Our next experience • Web Portal system: • e-learning system • 20 domain entities • relationships between entities (aggregations, association, abstract inheritance, etc) • Time duration: two weeks! • Made of: JavaScripts and ASP pages

  14. Our next Experience: Results • XVCL was even easier to apply than expected • we got more encouraging results: • able to deliver the sample system on time • able to create other similar portals on demand • to add a new domain entity to the web portal:

  15. Current status • Many published papers based on XVCL • FSE, SSR, ICSE tool demonstration…,etc., • has not reached its maturity for industrial wise application: • short in Guidelines and Methodology • short in supporting tools (e.g., editors, reverse engineering, debugger, etc) • collaborations with NUS continues • Guidelines and Methodology • publish papers • more experiments

  16. Conclusion • reduces the development time and effort • reduces code redundancies by 68% • free and open source! (http://fxvcl.sourceforge.net/) • language is simple and easy to learn • experimental studies gives encouraging results • new and need to wait for its maturity

  17. Thank you! Questions?

More Related