Control Sheet No. 15

On the scope of outsourcing projects: bigger or smaller?

By: F. Amand (Cosylab)

When you consider outsourcing part of your project, one decision you have to make is on the scope: shall it be a bigger or a smaller chunk of the work? The pro's and con's at first glance: bigger alleviates more of your pain, be it staffing, expertise gaps, deadlines. Smaller on the other hand reduces the perceived risk, et vice versa. Cosylab takes on big, turnkey control system projects. It entails that the project owner puts a great deal of trust in us. Trust is key here and it is not established overnight: it has to be built, to be earned.

One way of establishing this needed trust relation that has reliably and repeatedly worked for us is starting with a project of a smaller, limited scope. We quickly get started on the assignment and in a relatively short time you can judge for yourself whether we have delivered on our promise. This gives us plenty of time left to talk about the bigger picture.

Some Examples

If your project is a medical accelerator it makes sense to let the control system integrator prove himself on the accelerator part of the machine before you ask them to take on the medical dose delivery system, right?

Or for a large international cooperation you first ask them to build a vertical prototype for a part of the system, before you start talking about system wide responsibilities. Makes sense? We think it does.

So Let's Get Started!

Bigger or smaller scope: if in doubt, why not start smaller, but start now! Let’s get started on something you really need and need soon. You don’t have to make any leaps of faith and trust Cosylab to deliver on large commitments, and neither do you need to write up extensive requirements. We can prepare a quote on short notice simply from talking to you. Let’s meet and define a Contract Work Order of limited scope. We will take it from there.

“Think bold, act modest” is Cosylab’s credo and we apply this to our work on some of the world’s most challenging machines. Many big success stories started small. So can our cooperation.

Student Exchange Programmes

By: R. Tavčar (Cosylab),  F. Amand (Cosylab) and R. Štefanič (COBIK*)

A New Programme

On 13 May 2013, at the 4th International Particle Accelerator Conference (IPAC13) in Shanghai, China, the SINAP-COBIK Hi-Tech Student Exchange Programme was established by Prof. Shin-Ichi Kurokawa (Vice President of Cosylab Japan) and Dr. Lixin Yin (Deputy Director of SSRF, SINAP).

This programme will enable the exchange of students between Cosylab and the Shanghai Institute of Applied Physics (SINAP) [1] for approximately one month between August and September. The Programme is structured so that students are able to gain experience working at the host institution and still have enough free time to explore the host country.

Slovenian students will work at China's flagship experimental research facility, the Shanghai Synchrotron Radiation Facility (SSRF) [2] learning first-hand about accelerator problems, seeing what goes on during an accelerator shutdown/maintenance and experience Chinese culture. Chinese students will spend time at Cosylab headquarters in Ljubljana, learning the ins-and-outs about instrumentation and control systems. Each student will be assigned a concrete task that provides a valuable learning experience, e.g., integrate a device into EPICS, develop hardware, software or an FPGA firmware module, setup a measurement station, perform measurements, tune instruments, etc.

"This programme is one of the items realized under the Cooperation Agreement between SINAP and COBIK, signed in 2010. Starting from this programme, a strengthened and deep collaboration between SINAP and COBIK can be foreseen and this will benefit both sides in the long-term development of accelerator technology." says Dr. Lixin Yin.

Giving Back

Cosylab owes its existence to the scientific community and has fared well in the last 11 years, so now it is time to give back. The student exchange program with SINAP joins similar agreements that Cosylab has with DESY, Lund University, and the University of Ljubljana. These programmes have the advantage of strengthening the Lab-Student-Cosylab relationship. Furthermore, Cosylab has experience that it is willing to share.

Students from Institutes receive training in core technologies from the various experts at Cosylab. For Cosylab the student exchange programmes are an opportunity to foster relations with institutes by developing personal relationships, which helps improve communication.

A Tale of Two Swedes...

Alexander Söderqvist and Niklas Claesson are part of an Internship Programme with Lund University [3] and have been at Cosylab since February 2013. Control Sheet chatted with Alexander and Niklas to find out about them and their work.

Niklas and Alexander are from Lund University, Sweden. Their internship project was set up in tight coordination with their supervisor, so their Cosylab projects map directly to their Master theses.

 

Control Sheet: Tell our readers a bit about yourselves.

AS & NC: We are from the south of Sweden, which is approximately 1 000 km in a straight line from Ljubljana. For the last 5 years, we have both been studying electrical engineering at Lund University. We were interested in the European Spallation Source (ESS) and were excited by the chance of doing internships at Cosylab on projects related to digital hardware design for the ESS.

Control Sheet: What were your expectations of Cosylab? How have things turned out?

AS & NC: At Cosylab we hoped to boost our skills in hardware design and to learn more about accelerators. We chose to work with White Rabbit [4] because it is an emerging technology and we see it as an important player in the future. After being here for a couple of weeks it turned out that we had chosen a very interesting topic to write our master thesis about. White Rabbit is a collaboration between various institutes and companies and it is gaining traction right now.

Control Sheet: How has being at Cosylab helped your studies?

AS & NC: Working with White Rabbit at Cosylab has given us first-hand experience of participation in a large international project. Due to the open atmosphere and the feedback on our progress we have been able to work more efficiently and to find good solutions.

Control Sheet: How have you found living in Ljubljana?

AS & NC: When leaving for Ljubljana we expected spring to come soon. It turned out to be a rough winter, but it was worth waiting for the awesome summer Ljubljana is an interesting small capital with a good nightlife that we enjoy often. After exploring the city we now feel at home and have found our own favourite spots.

Control Sheet: Would you recommend that other students try the programme?

AS & NC: We recommend that everyone with the opportunity, do their master thesis abroad. Cosylab has very dedicated people that have helped us to get the most out of our visit. Thanks to regular meetings with our supervisors, our project is progressing quickly and we are certain that it will succeed.

Open Invitation

To all institutes and universities: if you send us your best students, our experts will help them learn key ACC technologies and gain experience with real-world problems. Contact Rok Tavčar at rok.tavcar@cosylab.com if you are interested in setting up a Student Exchange Programme with Cosylab!

References

[1] http://english.sinap.cas.cn/

[2] http://ssrf.sinap.ac.cn/english/

[3] http://www.eit.lth.se/

[4] http://en.wikipedia.org/wiki/The_White_Rabbit_Project

*Centre of Excellence for Biosensors, Instrumentation and Process Control (COBIK), Velika pot 22, SI-5250 Solkan, Slovenia COBIK is financed by the European Union, European Regional Development Fund and Republic of Slovenia, Ministry of Higher Education, Science and Technology.

Programming Accelerators with Colored Lines

By: M. Mehle (Cosylab) and R. Štefanič (COBIK*)

There is a common impression that computer programming only involves the typing of thousands of lines of white or green characters on a black screen. This quaint picture certainly has a strong basis in reality, and programming by typing is indeed the most common approach. However, the trend of constantly improving the user's graphical experience has made its way into the world of programming, giving birth to a generation of graphical programming languages. Since Cosylab is a technology-agnostic company, we are also proficient with graphical programming languages, having acquired extensive experience with one of them in particular: the well-known National Instruments (NI) LabVIEW [1].

As with any technology, LabVIEW has its advantages and disadvantages. One of the things I like the most in LabVIEW is its inherent ability to graphically depict dataflow. Although some hard core programmers may not like it, there are a large number of users from the engineering and scientific community that are not used to exploring the source-code underworld and naturally like the idea of having variables, operators, functions or data structures represented in a way they can recognize at a glance and quickly understand the behavior of the implemented algorithm.

Another advantage of LabVIEW is its robustness regarding memory management and hardware resource sharing. The user does not have to worry about memory allocations and deallocations, race conditions or garbage collection, and one can just focus on the desired functionality. It is of course still necessary to be careful about those things, but LabVIEW provides the tools that make it easier. This is yet another reason why LabVIEW is a very good option for the less-programming and more-scientific audience. Also worth mentioning is that LabVIEW is capable of object-oriented programming, and it actually couples very well with classes, methods and inheritances.

However, there are also drawbacks. The higher the level of the programming language, the less the user is able to control what is actually happening “under the hood”, and this is particularly true when talking about LabVIEW.

The question that many of you may be asking yourselves at this point is: “Is LabVIEW an adequate platform to use in a particle accelerator, perhaps even to be used as the platform for the main control system?” The answer is yes and no. Yes, because we actually did it, in collaboration with the MedAustron medical synchrotron and even though we pushed LabVIEW close to its limits, it works very well. Since I say “to its limits”, I should justify where, in my opinion, these limits are.

The first limit concerns scalability issues that may arise in the development process. The elementary LabVIEW file is called a “virtual instrument” (VI); it has inputs (controls), outputs (indicators) and it normally contains the graphically represented code, which performs the desired functions. This “virtual instrument” can be understood as the program itself (e.g. in C it would be the “main.c” file), or it can be used as a building block of a larger project (in this case as a C function). When working with classes and objects, these virtual instruments become methods belonging to objects, and LabVIEW automatically links them together. Whereas this seems natural, when it comes to very large projects, each with many classes and thousands of VI’s, the programmer must be extremely careful when moving, copying or renaming files, because these actions may cause many conflicts and much frustration. This becomes even more non-trivial if multiple developers intend to work on the same project and to use a software versioning system as “SVN” during the development process. Since VI’s are not text files but binary files they are not as easily merged as text sources, by simply using the standard SVN client. Fortunately there are tools for merging VI’s (for example the Merge Vis toolbox available with the LabVIEW Professional Development System or some SVN add-ons) which can make the task easier for LabVIEW.

The most important consideration when using LabVIEW in larger systems, for example particle accelerators, is use of an appropriate hardware target, for example using LabVIEW FPGA for an FPGA target, that is based on the performance and timing constraints.

One of the good things in LabVIEW is that there are many built-in functions for many different purposes, from mathematical and logical operations to more complex data manipulation and processing. The user may use them without worrying about what’s going on in the background. Yet this could be an issue for advanced users in some particular cases, when a low level implementation may have an impact on performance, or in some cases when controlling some specific hardware resources. In any case, it is always possible to contact NI and get some (probably not all) implementation details about the LabVIEW functions. In the worst case it is possible to use an external library with custom C functions.

The LabVIEW development suite, as with any software, has its own small bugs and issues - it is impossible not to be so. While the NI support staff will do their best to help you resolve the problem, in some extreme and rare cases there might not be a straightforward solution, and it becomes necessary to use workarounds. One possible solution might be to simply upgrade to a newer version of the LabVIEW development environment to get rid of the problem.

In summary, LabVIEW is a powerful programming language that closes the gap between scientists and computers. It is not better or worse than other programming languages, it is just different. Although it might not be the best choice for some applications, it is perfectly suited to others. It is important to keep all this in mind when making the decision to choose a development platform, for there is not one platform that is perfect for everything.

LabVIEW Screenshot

References

[1] http://www.ni.com/labview/

*Centre of Excellence for Biosensors, Instrumentation and Process Control (COBIK), Velika pot 22, SI-5250 Solkan, Slovenia COBIK is financed by the European Union, European Regional Development Fund and Republic of Slovenia, Ministry of Higher Education, Science and Technology.

...a very brief history of Cosy T-shirt designs

In the past 12 years, there have been numerous Cosy T-shirt designs. We thought we would share a few of the designs with you that we have found in the Cosylab picture archives. So, Control Sheet is proud to present...a very brief history of Cosy T-shirt designs.

Get Famous (and a Cosy T-Shirt)

If you would like to get your picture into Control Sheet or if you want to grow your collection of Cosy T-shirts or if you would like to start your Cosy T-shirt collection, simply send us an interesting photo of yourself wearing a Cosy T-shirt or a photo of you with someone from Cosylab wearing a T-shirt. Submitted pictures will be published in Control Sheet.

Email your photo to controlsheet@cosylab.com.

back to previous content

Download printable version of Control Sheet no.15 here.