Nov 22, 2009 - 09:48 AM  
XVCL :: Technology for Reuse based on Bassett's frames  
 

Search


Experiences with XVCL

Experiences with XVCL

 

An independent assessment by QSM Associates, Inc. has shown that frames could reduce project costs by over 84% and project schedule by 70%, when compared to industry norms [3]. There is an example of a multi-national software-intensive company, with annual revenues over US$10 Billion, with 40 programmers satisfying 28,000 software change requests per year.

The above QSM assessment refers to Frame Technology™, by Netron, Inc., Toronto [3]. Frames have been applied to maintain multi-million-line COBOL-based information systems and to build reuse frameworks in companies. The key to frame's success was high changeability of software structures.

XVCL's approach to handling changes is based on that of frames. Our qualitative and quantitative studies have shown that the basic principle of frame approach effectively solves many problems related to change in today's OO class libraries/programs, component-based systems, internet and Web portal applications. This principle is clean separation of program construction-time concerns (such as changeability and adaptability) from other properties of program structures. Such separation, achieved by a simple text-based "composition with adaptation" mechanism, provides a virtual window to deal with changes, without compromising other important design goals or properties of programs at runtime. XVCL implements that principle and refines original frames into a general-purpose technique that blends with contemporary programming paradigms, enhancing their capabilities to deal with software changes.

Here is a summary of XVCL experiences:

We found much similarity patterns resulting in 50%-68% [1][8][13] of redundant code, in new, well-designed class libraries and application programs. For example, the extent of the redundant code in Java Buffer library was 68%, in parts of STL (C++) - over 50%, in C# command and control application (J2EE and C#) - 68%, and in certain ASP Web portal modules - up to 90%. The last two results are from pilot projects by our industry partner SES Systems Pte Ltd. Most of the redundancies were counter-productive for maintenance and hindered reuse. In many cases, redundancies occurred as there was no simple way of avoiding them with conventional methods, without compromising other important design goals. However, we could effectively treat all the redundancies by unifying them with generic structures built with XVCL.

We applied XVCL in two product line projects, in Facility Reservation System [4][11][17] and Computer-aided Dispatch domains [18]. We experimented with changes that had system-wide impact and affected program architecture, as well as code. For each such change, we specified a chain of modifications at the architecture and component implementation levels that led to satisfying the source of change.

Our industry partner SES Systems Pte Ltd applied XVCL in two pilot projects on C# command and control and Web portal applications [13]. The C# application involved multiple operations (add, list, save, and many others) for multiple domain entities (resource, task, user and many others). Despite similarities among operations for different entities, inheritance or generics could not be used to define generic operations because of differences in business logic across operations. With XVCL, our industry partner managed to specify changes related to specific operations eliminating over 60% of code, with estimated eight-fold saving in future maintenance effort. Many types of recurring patterns could be found in a Web portal domain, whose unification with XVCL lead to substantial savings in development and maintenance of Web portal applications.

Finally, we applied XVCL to manage variants in UML software models [9] and in evolution of the mobile City Guide System [19]. A number of small case studies have been published [13][20] and can be found on our Web site.

Previous     Next


Access statistic