As a developer – do you find yourself solving similar design problems and writing similar code all over again?
Do you find your toolbox of programming techniques too limited to avoid counter-productive repetitions?
Do you escape to ad hoc cloning of code sections, files and designs, but then you end up maintaining overly complex, error-prone programs?
If the answers are ‘yes’ – please read on and then examine our Web site. No matter if you are a small or big team developer, and no matter of the technology you use - you may find XVCL a useful complement to your development toolbox.
In the nutshell, XVCL provides a simple and pragmatic way of defining generic design solutions on top of conventional programs. Whenever we see a substantial similarity pattern in program requirements, design space or code - we create a generic solution as an XVCL meta-structure.
By extending conventional programs with XVCL meta-structures, in areas that require extra levels of genricity, we gain maintainability and reusability (with XVCL, those two qualities go hand in hand). Application of XVCL is synergistic with any programming paradigm that we have come across.
Applications and benefits of XVCL:
Manage changes in day-to-day software maintenance and long-term evolution. XVCL creates and consistently maintains a view of similarities and differences across multiple releases of a software product arising during evolution of a successful product. Facilitates transition from an ad hoc evolution of each released system as a separate product, to cost-effective reuse-based evolution.
Support systematic, company-wide reuse via a product line approach. XVCL creates and consistently maintains a view of similarities and differences in product line assets - architecture, code components, documentation, models or test cases. Facilitates design of reusable assets (e.g., product line architecture) and rapid development of specific systems from the reusable assets. Provides full control over the evolution of reusable assets, independent evolution of product line members with new features, without ever loosing the connection among product line members and reusable assets.
Design templates and generative engines to enforce documentation standards, to facilitate reuse of common solutions, or to automate any routine but tedious software production tasks. XVCL solutions evolve into powerful generative engines automating domain-specific construction, evolution or integration processes.