I’m George Lawie, originally from near Glasgow, and I spent a year-long paid placement abroad in Toulouse, southern France, with Atos (formerly Atos Origin). The placement was undertaken with support from the Université Paul Sabatier (one of three universities in Toulouse), which included student enrolment, help with finding accommodation and setting up necessary services such as banking, and additionally free French lessons through the year. I was also an ERASMUS student during this time, with support and funding from the EU.
While placement presentations are normally quite academic, I’m going to focus more on the experience of a placement abroad than the specifics of the placement itself.
Who are Atos?
Atos, who were called Atos Origin when I began my placement, are a giant multi-national company, present in over 40 countries, with a revenue of over $5billion in 2010. They work in many areas, and have many ties to the aeronautics industries (it was often joked in Toulouse that everyone you met worked for Airbus directly or indirectly – within my team at Atos this was certainly true!). Last summer they got even bigger when they acquired a significant subsidiary from Siemens.
In the UK, they are involved with providing varying services for the Department of Work & Pensions, the NHS and the Welsh Assembly. They are also the main IT partner for the Olympic and Paralympic Games, so if anything goes wrong with the computers in London this summer I swear I had nothing to do with it.
The team I was working with – its name roughly translating as “Innovation and Tools” – were a fun bunch from all around the world. Pictured are many of the regular members of the team, the other placement students, and none of the supervisors/managers of the team! My colleagues came from all over the world, from France and Spain to Mexico and Morocco.
This team works on a number of projects, including working on the award-winning Topcased software for Eclipse (http://www.topcased.org/) – which you probably won’t have heard of, I hadn’t before starting my placement – which I mention as it’s a Big Thing in the graphical modelling editor world, and also it’s award-winning.
So on to the actual placement: its full title was “Formal Verification of Critical Software”, which is a bit of a mouthful but thankfully I didn’t have to say it too often. Formal verification, also called static analysis, is as above. What does this mean in real terms?
Essentially, formal verification techniques allow you to prove (or disprove) that no errors are possible under any circumstances when executing your code. And this is done without ever having to execute the code itself, which on critical systems is generally designed to operate on pricey custom microcontrollers. By being a “correct” analyser, it promises never to be quiet if there’s the slightest possibility – no matter how unusual or unlikely – of a run- time error, a buffer overflow, a bad memory allocation… so if it’s quiet, you can guarantee that there’s no errors.
Now the idea is that these techniques could be used to replace current code verification techniques, saving time and money for big companies who need critical and safe code (like aeroplane auto-pilots). Considering that you need to be 120% convinced that code is safe before popping it in a plane, the research done on placement was aimed towards proving that the software that actually does this analysis is also safe. While I’m glad that we’re ensuring that the code checking up on the other code is safe, I’m not sure that I’m happy at this step closer towards Skynet and the T-1000.
Anyway, the software we used for analysis was called Frama-C. It’s a fully open-source framework, that comes with a number of plugins that allow it to run many types of analysis, and is incredibly extensible: that is, you could ‘easily’ write your own custom plugin to obtain the specific results that you need to analyse for. It’s designed to run analyses on C code, as that is what many critical systems are written in, although equivalents do exist for Java and other languages.
So this modern, techniques-of-the-future looks like this….
This is an early version of Frama-C, but you can tell it’s been designed for functional rather than aesthetic use, as it’s as grey as Aberdeen. However, during my placement a new version was released which looks…
…more or less the same, but with some more features and an extra colour.
So another part of my placement was to help develop a plugin for the Eclipse IDE, that would integrate the features of Frama-C into the Eclipse interface. This would allow programmers to access it through a familiar interface, and hopefully that would encourage these techniques to be used during the actual code development, rather than after all code has been written.
Here’s some screenshots of the parts of the FCDT plugin I worked on. Top left shows a part of a fully-featured new code editor for Eclipse, and the bottom shows a callgraph viewer, both worked on primarily by me.
And here’s one of the best bits of the placement: the code that I worked on, packaged together with other parts done by the rest of the team (obviously), is currently available to download and is being used by companies such as Airbus.
See? My name right there. The point of this being, that the work you can do on placement can be important, and you might even be publically attached to a project.
Benefits of the Placement
So the academic benefits of the placement include everything you’d expect to hear, which are seriously a great thing to have on your CV. HR folk will say “Oh, I see you have an Erasmus placement?” (Maybe they won’t actually say that.) That’s an instant edge on the other applicants – you’ve shown that you can handle a full-time placement while also juggling living in a new country. And being abroad is a lot of fun.
Benefits of an Erasmus Placement
Obviously this one depends on which country you go to, but in France certainly, you’re surrounded by some amazing cuisine. (Also, wine.) I didn’t spend all my time in the McDonalds (they had free wifi – needed for the first month when I didn’t have working internet in my flat) although some of my friends will say otherwise. I did go to many different types of restaurant, proper French ones, fondue restaurants (“pay us to let you cook your own dinner!”), one where they only served a single cut of beef (Entrecote) but served it really well, with all-you-can-eat chips, Moroccan and Greek restos, late-night take- away baguette shops… and of course you’re next door to Italy so you get…
…some fantastic Italian pizza places. This one restaurant (la Pastasciutta) was fantastic, and that is not a trick fork – the pizzas were huge, really well priced, cheap wine and amazing atmosphere. Also you can get ‘white’ pizzas, that have a crème fraiche base instead of tomato, which are really tasty.
Of course I did try the local dishes too. Cassoulet, which is a kind of everything casserole, was quite tasty, and this soup was fantastic: it had a whole chicken leg in it, bacon, a sausage, bread, it was great but odd having to eat soup with a fork!
“But what about frogs’ legs and snails?” Well, they’re apparently a Northern thing, but I did find one place that sold snails. They were… interesting, chewy and tasted only of garlic, I’m glad I tried them but I’m not going to seek them out again.
Second last benefit! New cultures and new experiences: it’s a bit obvious, but it’s true.
There were many different festivals throughout the year, these pictures are all from one holiday. Plenty of outdoor events happen all the time, and when Toulouse are playing rugby (they’re one of the best teams in Europe, or so all the Toulousians told me) they often put up giant screens in front of the town hall/square (top left) and the crowd is huge. It’s a lot of fun!
And lastly, when you’re in mainland Europe, it’s so much easier to travel. Want to go somewhere? Jump on a train! Spend a weekend in a different country, easy.
And here’s me showing off with photos of Geneva, Andorra, Bordeaux and Barcelona. Places not pictured include Malaga, the Mediterranean coast, Copenhagen and Carcassonne.
How did I manage this while on placement? There’s a lot of long weekends in France, plus I already mentioned the combination of student loan, placement pay and Erasmus grant…
The End – Any Questions?
This is where I would say “any questions”, but if you’re reading this then I’m clearly not actually presenting this. I’m happy to be contacted on my student email ( firstname.lastname@example.org ) or my personal email ( email@example.com ) by anyone thinking of doing a placement (abroad or otherwise) so if you do have any questions, please get in touch.