Control Sheet No. 2
What control system platform to choose? part:1
- Can Cosylab be cheaper than in-house developers?
In this issue:
One of the first tasks when building a new control system is to decide on the platform. Here I am not talking about the famous dilemma of EPICS versus TANGO versus ACS versus TINE versus FESA versus <insert your own favorite system>. Rather, I am talking about the base hardware platform such as VME vs. cPCI and programming languages and tools, such as C++ vs. Java and tcl/tk vs. QT vs. SWT vs. NetBeans, etc.
Cosylab tries to avoid this dilemma by doing whatever the customer wants. But sometimes we are asked for advice. We don’t want to promote our preferred tools, just because we happen to be proficient in them. Therefore we have asked many experts and experienced people and thought about it ourselves a bit and came to an interesting result: the decision is not a technical one!
And it goes like this: there are two main criteria, usability (i.e. what you can do with the platform and how well the relevant tools are debugged) and longevity (i.e. how long will it take before the platform becomes obsolete/outdated). Both criteria are fulfilled due to market forces and not technological excellence.
It is probably obvious to you, but it wasn’t to me, that one should not look for the best platform in terms of performance, although top performance means that it will be still adequate in a few years time. But this is not enough! One should look for a platform that will be most likely accepted by the majority in the industry. That means that one shouldn’t look just at other labs. The reason is that a well accepted technology determines a complete and broad market that not only provides many manufacturers (and thus lowest prices) but also a vast number of users that will be in the same boat with you, if you have chosen the same technology as them.
So even if newer technologies introduce much better performance, there will be a whole industry to support the existing large installed base, because it makes enough business to stay in business. And in the worst case of complete obsolescence, there will be many users out there having the same problem as you. As a result, either one of them will find a good solution or transition that you can copy, or some smart business will be set up to offer solutions, benefiting from a big number of customers. If you don’t believe me, just look at CAMAC, which is still around after 40 years.
And if you need replacements, there are still companies that offer you repair, spare parts or exact replacements based on newer technology.
The bottom-line is therefore: don’t bet on fancy new platforms, where you have no way of telling whether they will take off at all (anybody remembers Fastbus?). Therefore also fieldbuses are a risky choice, because instead of one or two major platforms (like in backplane buses), there are many small contenders that have limited support. Let them make out the fight first among themselves, before you jump on anybody’s bandwagon – after all, if two dogs fight for a bone, the bone doesn’t fight!
I understand that in-house developers are cheaper by the hour, if you count only their salary, although this way of counting personnel is wrong anyway, as you have to consider overhead, office space, etc. and a certain commitment to pay this person over a longer period of time.
But we don't compete with simple manpower. I believe that we can be cost-effective when you take a whole project into account, where efficiently managing development processes and delivering and verifying the required quality is part of the work. Over the years, Cosylab has build tremendous expertise in control system specific processes such as project management, testing, documenting, etc. Therefore we can deliver a turn-key solution, be it a simple application or a vertical control system, much faster and to much higher quality. As a result, our price for a whole solution is usually lower than the sum of all the time spent by internal people (how many meetings did you have in the last week?).
Why don't you give us a chance and let us give you a few offers for some tasks that you have to do? Just send us a short list - for us it is enough to see one line per task and we should know what has to be done - so this saves you also writing specifications, which is another big saving.