3 Apr 2012
LEDAS Experts: How our Company is Involved in Developing Russian Geometric Kernel
Recently we published a press-release - concise as usual - that a team of LEDAS developers was involved in a project on creating a Russian geometric 3D-kernel (“RGK”). The project has generated vivid discussions in various blogs and forums; however, technological aspects of the project practically remained untouched. Perhaps there is nothing strange in such a focus: geometric kernel is one of the most complex and science-intensive systems in engineering software, so few have sufficient competencies to be able to discuss the subject professionally.
To a certain extent a just published paper by Dmitry Ushakov on “Russian National 3D Kernel” facilitates prompt dissemination of knowledge about geometric kernels – their purpose and structure as well as their vendors and the major users. Dmitry is working on a series of papers where he discusses the main geometric kernels on the global market and analyses what sort of qualities new-generation kernels should have.
I trust that it will be interesting for the readership of isicad.ru/isicad.net to find out what LEDAS top executives and leading experts think about the project. So I interviewed Alexey Ershov and Nikolay Snytnikov (information about them can be found on LEDAS web-site and in my blog). Although Alexey and Nikolay are very young, they have already gone through a unique multi-year schooling of active participation in LEDAS projects, including development of LEDAS own geometric solver and shall-not-disclose-what (a 100-man-years project) for Dassault Systemes: as both first-hand developers of the smartest algorithms and project managers. Alexey, in his capacity as LEDAS CEO, maintains a constant liaison with the customer, and is involved in the project as one of the principal engineering experts. Nikolay not only manages LEDAS efforts for the “Russian Geometric 3D-Kernel” project but also takes part in the project as a leading developer.
I am fully responsible for the final content and wording of the interviews.
Alexey, would you please describe the project in general, and its main parameters?
The project was launched several months ago, and the first intermediary results have already been achieved. Nevertheless, as far as I am aware, the project leaders continue intensive organizational efforts. Everybody understands that this is a large-scale project, and in order to complete it, most probably, it is necessary to build-up a big, highly-qualified team, comprising several strong groups from the leading Russian companies and universities.
I can responsibly talk only about the part of work assigned to our company. As the media already published, in line with our competencies and experience LEDAS is working on developing smart computational algorithms for the RGK project. It includes, in particular, determining with high precision the intersections of arbitrary curves and surfaces. It is one of the key tasks in geometric modeling, and I must say not in a shy way that across the globe groups, that are able to offer an industrial solution to a scheduled deadline, can be count on fingers.
I will also ask you, Alexey, not in a shy way, to briefly characterize competencies and experience that you mentioned
Projects successfully completed by LEDAS include the development of an interval mathematical solver used in end-user tools for knowledge-based engineering; creating a geometric constraint solver and its application to parametric drafting, assembly design, animation, kinematics analysis, and direct modeling; establishing methods for converting polygonal meshes into subdivision surfaces, and the unfolding of 3D meshes on planes; calculating distances between 3D objects and performing real-time collision detection; developing feature-based CAD data translation; and inventing variational direct modeling. Interestingly, knowledge and experience accumulated in nearly all these fields has proved to be useful for the work on the “RGK project. The overall scope of projects completed by LEDAS on developing CAD mathematical software components reaches hundreds of man-years. BTW, just recently we have tried to summarize information about our clients and partners on ledas.com under Success stories: customers, partners, and friends (1999 – 2012)
. Unfortunately, some very large and prestigious customers did not allow us to mention the work we did for them…
Nikolay, what can you tell about the group you lead for the RGK?
In our group there are ten persons, including very experienced developers as well as young talents. One needs to know, however, that it is not at all easy to get employed by LEDAS: every candidate has to go through serious testing, and Alexey Ershov always carries out such testing personally
. On the other hand, we regularly engage any required number of our leading experts in working consultations on specific problems.
Now the work on RGK is in full swing. We employ all approaches and procedures mastered by LEDAS through multi-year projects with the global leaders. I am not going to describe or remind of specific techniques for a truly industrial development for a very demanding customer … I simply would like to state that the most meticulous working out of program algorithms and architecture before the coding stage, supporting a vast and easy-to-maintain test database, maximum project documenting, efficient, adaptable to processes and constant liaison with a customer, etc. – long time ago all these became à second nature for us rather than just superficial standards … Sometimes we request such project organization from our customers at the initial stage of a project: and sometimes they even try to resist but ultimately they always highly praise such an approach.
Alexey, you mentioned possible engagement of some other developers groups in RGK. However, according to a popular belief, 3D kernel development requires state-of-the-art skills, and only three or four R&D centers in the world might have the necessary knowledge. Does it mean that Russia has such competent “artists”?
True, developing such complex science-intensive software requires in-depth involvement of a large number of highly qualified experts in computational mathematics, geometric modeling, software development as well as design-and-planning engineers who can competently specify requirements and evaluate the implemented functionalities.
In my opinion, Russia has several research and engineering schools that are rooted in the Soviet period and that can compete with the leading R&D centers in the world. For instance, achievements of Russian companies ASCON, Top Systems, LEDAS, TESIS and some others, that in a way are successors of Soviet research centers, clearly confirm that Russia has world-class experts and specialists in development of science-intensive CAD/CAM/CAE applications. Russia also has several very strong university centers providing education and training in mathematics and software engineering to international standards. By the way, a project with such level of research intensity, technological efficiency and system completeness as RGK gives a unique opportunity to train highly-skilled specialists: in my view, it alone makes investments in the project strategically justified for a country that aspires efficient post-industrial development.
Nearly all Russian teams still have certain issues with marketing, which prevents adequate building-up of one’s position on the global market, but nobody doubts R&D competence of these groups: they certainly can successfully compete with global vendors on any science-intensive solutions, including geometric kernels. In fact, the largest foreign IT-companies that constantly open and expand their R&D departments in Russia and place their most important and complex contracts for already a long time do not question abilities of Russian developers.
Nikolay, you’ve been developing complex industrial programs for a long time. To what extent such developments use experience of the systems already present on the market? Can you compare traditions of using earlier obtained results: in science and in software development?
Competent architects and developers must study the best known results and decide which of them should be used in a particular project. One can talk about using the methods and algorithms described in publications, using open-source codes, licensing suitable components, and the like. Achieving an optimal balance between legitimate re-using of appropriate results and original developments is one the main indicators of how qualified are project architects. Obviously such balance is determined by the goals of a specific project. For instance, it does not make any sense to borrow obsolete solutions or solutions that do not fit the concept. On the other hand, products and solutions of the same user’s purpose – by definition, and by common sense – have a similar functionality.
In particular, all fully-featured geometric kernels (see a table in Dmitry Ushakov’s paper) by definition must have, and in fact have a relational functionality: for example, fully-featured cars are similar in this sense. From a professional point of view, they all can be considered each other’s functional prototype.
In science one simply cannot go without researching one’s particular subject. But in science everything is based on a system of comprehensive publications covering all findings. Typically the authors of publications know how to present their findings and are the first to be interested in making sure that their publications are maximally clear and complete. In science more often than not if the findings are not published they do not exist. On the contrary, proper publications regarding software are prevented not only because of the reasons of commercial competition but also due to actual absence of traditions and lack of skills to put together a high-quality software description. Still, there are open, and sometimes – classical research papers describing fundamental principles and elements of computational geometry and relevant parts of mathematics. I’d like to reiterate that understanding importance of studying such works and ability to comprehend them is a must, a specialty skill for developers of complex science-intensive projects.
Nikolay, you have experience of supporting industrial solutions supplied by one of the largest global CAD-company to its numerous customers. Can a team of much less than several hundred people provide efficient support of a very complex product?
One should bear in mind that vendors of any complex programs, for instance, geometric kernels, typically do not disclose information regarding the number of developers involved. I think that popular beliefs often exaggerate the number of such developers by times. To a no less extent such exaggeration is typical for clearly promotional rumors about instantaneous response to the users’ needs.
In general, regarding support of complex important products, my experience says the following. A customer should be very large and important so its request would be processed immediately; the opposite incidents are well-known, when small customers have to wait for months and years to get a response to their requests for developing an additional functionality. (BTW, several years ago a serious industrial enterprise offered a contract with LEDAS simply because its vendor could not promise to complete a critical order for the customer in the foreseeable future.) Moreover, some problems emerging when users work with a complex science-intensive program (of which geometric kernel is highly representative), reflects deep unsolved problems of computational mathematics. To correct them, development of new specific algorithms is often necessary, which requires considerable time resources.
Alexey, how would you evaluate resources and the timeframe for developing Russian kernel? How do these resources compare with investments in classic kernels developed on the global market?
First of all, it is important to understand that classic kernels were created 20-25 years ago in parallel with establishing and initial stage of developing both geometric modeling and the CAD industry. Due to such concurrency, every new functionality of a kernel under development inevitably required:
- Accurate formulation of a problem on the basis of rather vague user requests,
- Experiments with different algorithmic approaches; and at a later stage most of those approaches were imminently replaced with more advanced ones,
- Further clarification / development of specifications and relevant algorithm modification.
To Nikolay’s comments about support of complex programs I would like to add that their development to an even greater degree than support is linked to rumors of a two-fold nature. On the one hand, this is a semiconscious marketing that emphasizes vendor’s smartness and indicates its potential monopoly. On the other hand, it involves clearly inadequate perceptions of the nature and specifics of developing truly complex science-intensive products.
Let’s understand that geometric kernel is a good example of a product about which it would not be correct to say that “its development will be completed by such date of month”. Certainly, it is possible and it is necessary to talk about releasing an initial version, about parallel functioning of the new and the old kernel in applications, about efficient use of some system components, gradually added to various software environments and applications. At the same time, fundamentally geometric kernel goes through a long-term lifecycle of development and implementation with considerable feedback from applications. A long-term lifecycle of kernel development on the basis of such feedback cannot be interpreted as a standard debugging. On the contrary, the methods and technology of Application Lifecycle Management (ALM), that are comparable to PLM, should purposefully and to a full extent be applicable to software systems of such level of complexity.
Thank you, colleagues. In the future isicad.ru/isicad.net certainly will discuss the project for developing Russian geometric kernel more broadly and in more details.
Permanent link :: http://isicad.net/articles.php?article_num=15190