Dansk >>

You are here: Home Projects Completed projects - case stories

Print   Sitemap   Siteindex

Change languages - and earn money


Does it pay to change to an new programming language when working with embedded real-time systems? That’s what associate professor Hans Søndergaard is going to find out – and the theories will be tested at the company FOSS who are very excited about the result.

 

Associate professor Hans Søndergaard lectures at Vitus Bering Denmark in Horsens. But from 1 August 2005 and until early 2007, he’s going to be associated with CISS as well, working on a project that has attracted keen interest from several parties.

"The aim of the project is to show that Java, or to be more exact, the Ravenscar-Java profile, can be a valid alternative for the most prevalent programming languages such as C++ when we’re working with embedded software systems subject to real-time requirements," Hans Søndergaard explains and continues:

"When programming using Java, productivity’s improved with about 40 percent than when programming using C/C++. But that’s not enough. I also need to be able to document the system’s predictability and stability. In a real-time system, it’s important for the system to keep within the answering times."

 

Faster – and fewer errors

CISS’ representative in the project is associate professor Bent Thomsen, Department of Computer Science at Aalborg University. And he sees great potential in the project:

"Our dream scenario is that people within the industry will be able to increase their production efficiency, at the same time as fewer errors will occur in the programming process. High-level language has certain qualities that makes it impossible to create certain types of programming errors that you may make in e.g. C++,” Bent Thomsen points out..

Whereas Hans Søndergaard is the man with extensive experience in writing real-time applications, Bent Thomsen’s interest and knowledge focuses on high-level programming languages.

"We’re going to try to implement the Ravenscar-Java profile on an aJile aJ-100 processor.

Then we need to get some people associated with the project, who can construct formal models and relate them to implementations in the Ravenscar-Java profile. In that way, we’ll be able to analyse systems the entire way from specification to implementation. This happens to be one of CISS core competency areas, “ Bent Thomsen says.

 

Will we be faster?

The next step will be to test the implementation in a realistic environment, and for this purpose, FOSS Analytical A/S in Hillerød, Zealand, was chosen. FOSS develops, manufactures and sells equipment for, among other things, chemical and microbiological analysis for use in the food industry, in pharmaceutical production, in the chemical industry etc..

"For our clients, operational reliability is highly important. Therefore, what is first and foremost of determining for us is the system’s reliability. Secondly, we need to look at productivity: Will we be faster at developing systems if we change to a new programming language? And finally, we’d also like to know if it’s easier to analyse,” software architect martin Astradsson, FOSS, explains. He continues:

"We’re entering this collaboration with an open mind and we’re neither ”married to” C++ or Java in advance. But no matter the result, the employees who’re participating in the preparation of an industrial case like this will get a significant skill development – and at the same time a motivational boost. It’s interesting to take part in working with 'up front technology'!"

"Generally speaking, a collaboration like this strengthens the company, and ideally, all companies ought to embark on collaboration projects with universities and institutes of technology and engineering regularly,” Martin Astradsson emphasises.

 


The wireless crop sprayer
Imagine that you're an agricultural contractor and would like to know where all your machines are at any given moment and what they are doing. Or that you're a farmer sitting at home in front of your computer, wanting to plan tomorrow's field spraying - and send the spraying schedule back to the tractor's 'computer'.