Taking the drudgery out of software development
November 24, 2009
(PhysOrg.com) -- Software developers will no longer have to reinvent the wheel when writing new programs and applications thanks to a clever new set of tools and a central repository of 'building blocks'.
Traditionally, developers have had to write software programs from scratch, whether or not something similar has been done in the past for a different application or circumstance.
This has meant skilled people spending a lot of time doing repetitive, boring work before being able to turn out new software for a specific requirement.
But a much more efficient way of doing things has been demonstrated by European researchers who have developed an automated way of searching a central software repository to extract software ‘artefacts’ from existing systems for use in new systems.
The EU-funded ReDSeeDS project was established with the aim of initially researching the requirements for the components of an automated searchable repository, and then producing a software toolkit to cope with the requirements.
The researchers had to come up with a requirement specification language, which allows developers to use a single user interface to frame their queries; query technologies which automate the query process once the requirements have been entered; and a repository technology which searches the repository and provides answers to queries.
Automation is the key
According to project coordinator Michal Smialek there have been attempts made in the past to build standards for the type of software repository envisaged and then developed by the project. But the problem was they were not automated and so a lot of work was still involved.
“The big difference with our platform is that it allows you to simply sketch out the requirements of your proposed new system and then these are automatically compared with the requirements and capabilities of existing systems. The results are displayed to you with the differences and similarities between the old and new systems highlighted,” he says.
This allows a developer to pick and choose what artefacts he can take from existing systems and slot them into the new system.
Of blueprints and codes
“In this context, by artefact we mean a software artefact which has been constructed on a computer by a software developer,” Smialek notes. "This can be any kind of model or document or program which is the result of a software project,“ he says.
“In a project, you may produce several artefacts which are design blueprints and then an artefact which is the code that tells the system how to work. The final program is also an artefact which is served by the other artefacts - that is the design and the code.“
So when it comes to matching up the requirements of a new system with what has been done in previous systems, it is a question of automatically matching up the design blueprints and then seeing which bits of code can be re-used.
Smialek points out it may not be as simple as stripping out the relevant points of functionality from one system and pasting them straight into the new system - some adaption work might need to be done. Even so, it is still a great deal quicker and more efficient than starting from scratch.
“When you have a similar problem to that solved previously you put in the design and the code, and of course you might have to adapt it slightly to your new problem, but the majority of work was already done on the previous project,” he says.
Any size of repository
He gives as an example different types of registration. “Somebody logging onto a website might have to press a button which causes a form to pop up which must be filled in. You press enter and the system checks the validity of the data and registers it in the memory.
“This type of functionality can be used between different types of program domains so doing something as different as registering a computer in a warehouse could have the same logic as registering a user in an online system - so much of the same system design and code could be copied,” he says.
In practical terms, a repository might just be in one company, or widely shared. The project has set up an online open-source repository with its own server, and project members from seven different countries have contributed software and trialled the system.
Once fully validated, the next step is to try to commercialise it. A software tools company, which was not part of the project, has expressed interest in incorporating the system into its product suite, reveals Smialek.
“What it will do as a commercial product is to reduce considerably the amount of work required to develop a new software application, and that means the ability to develop more and larger systems using the same human resources, which is bound to have a wide appeal,” he concludes.
More information: ReDSeeDS project
Provided by ICT Results
-
Taking the hard work out of software
Jul 28, 2009 |
not rated yet |
0
-
Embedded systems -- the whole picture
Oct 28, 2009 |
not rated yet |
0
-
Software development: speeding from sketchpad to smooth code
Jul 30, 2009 |
not rated yet |
0
-
IBM Debuts 'Grammar Checker' Approach to Catching Software Bugs
Jul 30, 2008 |
not rated yet |
0
-
Software that gets reduced, reused, recycled
Sep 28, 2009 |
not rated yet |
0
-
Engineers build first sub-10-nm carbon nanotube transistor
Feb 01, 2012 |
4.9 / 5 (31) |
30
-
Something old, something new: Evolution and the structural divergence of duplicate genes
Jan 31, 2012 |
4.6 / 5 (7) |
1
-
The hidden nanoworld of ice crystals: Revealing the dynamic behavior of quasi-liquid layers
Jan 30, 2012 |
5 / 5 (3) |
1
-
Stock market network reveals investor clustering
Jan 27, 2012 |
3.9 / 5 (23) |
8
-
Of microchemistry and molecules: Electronic microfluidic device synthesizes biocompatible probes
Jan 26, 2012 |
5 / 5 (1) |
0
-
Calling function with no input argument
15 hours ago
-
Force free body diagram problem on gym equipment
16 hours ago
-
Empirical data regarding shower heads and water
Feb 10, 2012
-
feed hold button on CNC lathe
Feb 09, 2012
-
RFAC in Fortran
Feb 09, 2012
-
dynamics 2/32
Feb 08, 2012
- More from Physics Forums - General Engineering
More news stories
Anonymous knocks CIA website offline (Update)
The website of the Central Intelligence Agency was inaccessible on Friday after the hacker group Anonymous claimed to have knocked it offline.
9 hours ago |
5 / 5 (9) |
16
Google users warned of threat to smartphone wallets
Users of Google smartphone wallets were being warned on Friday that there is a way to crack pass codes intended to thwart thieves from going on illicit shopping sprees.
8 hours ago |
5 / 5 (2) |
0
New error-correcting codes guarantee the fastest possible rate of data transmission
Error-correcting codes are one of the triumphs of the digital age. Theyre a way of encoding information so that it can be transmitted across a communication channel such as an optical fiber o ...
Technology / Computer Sciences
18 hours ago |
4.9 / 5 (8) |
6
|
New power source discovered
(PhysOrg.com) -- Researchers at the Massachusetts Institute of Technology (MIT) and RMIT University have made a breakthrough in energy storage and power generation.
Technology / Energy & Green Tech
17 hours ago |
4.8 / 5 (29) |
8
|
Small modular reactor design could be a 'SUPERSTAR'
(PhysOrg.com) -- Though most of today's nuclear reactors are cooled by water, we've long known that there are alternatives; in fact, the world's first nuclear-powered electricity in 1951 came from a reactor ...
Technology / Energy & Green Tech
17 hours ago |
4.4 / 5 (13) |
23
|
Humans may have helped the decline of African rainforests 3000 years ago
(PhysOrg.com) -- Large areas of rainforests in Central Africa mysteriously disappeared over three thousand years ago, to be replaced by savannas. The prevailing theory has been that the cause was a change ...
The power of estrogen -- male snakes attract other males
A new study has shown that boosting the estrogen levels of male garter snakes causes them to secrete the same pheromones that females use to attract suitors, and turned the males into just about the sexiest ...
Complex wiring of the nervous system may rely on a just a handful of genes and proteins
Researchers at the Salk Institute have discovered a startling feature of early brain development that helps to explain how complex neuron wiring patterns are programmed using just a handful of critical genes. ...
Could Venus be shifting gear?
(PhysOrg.com) -- ESAs Venus Express spacecraft has discovered that our cloud-covered neighbour spins a little slower than previously measured. Peering through the dense atmosphere in the infrared, the ...
Advanced power-grid model finds low-cost, low-carbon future in West
(PhysOrg.com) -- The least expensive way for the Western U.S. to reduce greenhouse gas emissions enough to help prevent the worst consequences of global warming is to replace coal with renewable and other ...
Fool's gold may prove an unlikely alternative to overexploited catalytic materials
Catalytic materials, which lower the energy barriers for chemical reactions, are used in everything from the commercial production of chemicals to catalytic converters in car engines. However, with current catalytic materials ...
Nov 24, 2009
Rank: 3 / 5 (1)
Nov 25, 2009
Rank: 5 / 5 (1)
Nov 25, 2009
Rank: 3 / 5 (3)
Nov 25, 2009
Rank: 4 / 5 (1)
There is a clear trend toward cloud computing. So we will continue to see more software provided by a central provider on the internet. This will reduce the amount of replicated code as programming becomes more globalized.
Nov 25, 2009
Rank: 4 / 5 (2)
It has been noticeably obvious that software bugs are are the increase. The cloud will rescue us, is the new mantra. Probably even less QA in the Cloud.
Nov 25, 2009
Rank: 3 / 5 (1)
Nov 25, 2009
Rank: 4.5 / 5 (2)
Not an amazing development - but an amazing amount of work that nobody has done before, and for that I hope the team continues to get sponsorship and the opportunity to evolve into a global staple of future programmers IDE's.
Perhaps RedSeeDS could also guarantee the components supplied as "Internet Ready" - as in virus proof! We have extremely secure kernels, now we need the same quality in the components used to build on top of them.
That would be something extraordinary, and extremely valuable.
Nov 25, 2009
Rank: 4.3 / 5 (3)
And the real drudgery, for a programmer, would be to formulate the search query so precisely that you get relevant answers. And that's only the start. Then you have to wade through docs, specs, and source code to see whether it actually suits your needs. Which means you have to get "into" and understand another person's source code, logic, idiosyncracies and bugs, and ultimately tweak it to your own needs. (And then the Library guy gives you hell for not properly documenting the precise difference to your final version.)
Any sane programmer would rather save time and nerves by just writing the thing, instead of all that drudgery!
All we'd really need is a C++ replacement, that comes with a comprehensive, well organised and orthogonal library, where each routine is properly documented (including examples), and that has a way to search quickly and *easily* for what you need.
But that's not sexy and can't get big funding.
Nov 25, 2009
Rank: 3 / 5 (2)
Best solution I've seen to this issue has been provided by Microsoft: C# + .NET + MSDN. There are other such frameworks too, not just specific to Microsoft. But it's a sincere attempt that has worked well.
Nov 25, 2009
Rank: 4 / 5 (1)
NO one codes anything from scratch unless its a new company or they just got out of school... and building dependencies on a code base tends to make weak programmer's weaker. If there is an issue with the solution it becomes harded to find because there was no hands on/in most of the routine funtcions.
Personally we have seen what this does to solutions -- because of the fact we know we are writing code that will be reused and needs to be fault tolerant and output good error information we tend to write in a style similiar to java and lets face it java is slow because its programming with training wheels.
Nov 25, 2009
Rank: 4 / 5 (1)
NO one codes anything from scratch, period. (Well, that might be a bit of an exaggeration, a few hacks might click out small control programs for embedded chips from scratch, but that's about it.) Just set up a modern compiler and you get gazillions of tools. Look on sites like www.planetsourcecode.com to get all manner of example and snippet code for free, or look in the programming mags or use a web search to purchase all manner of drop-in tools. Then, of course, there is your own library, and the library of the company you work at.
There's no story here folks, move along.
(I'm a 7 times patented software developer with 30 years experience.)
Nov 25, 2009
Rank: 4.7 / 5 (3)
Nothing to be proud of! When it comes to software, that's called being a "patent troll", because it's a flawed system based on archaic concepts of mechanistic inventions.
Nov 28, 2009
Rank: 4 / 5 (1)
You ALWAYS need to refine and adapt algorithms and datastructures as soon as you do something even marginally new.
For the simple tasks we have program libraries, but it's almost never 'plug and play'.
Especially in research it's most often better to write the code yourself from scratch - not because you'll do it better than the 'standard implementation' out there, but because having written it yourself you have full control over the architecture and interfaces. Whenever you tweak it you will be in control.
If you tweak 'standard packages' or 'foreign code' where you have never looked under the hood you will be in a world of hurt in no time once you start to do non-standard stuff.
Nov 28, 2009
Rank: 3 / 5 (1)
Once fully validated, the next step is to try to commercialise it."
So am I reading this right? It's being developed using open-source principles but as soon as it's any good it's going to be proprietary software?
Nov 29, 2009
Rank: not rated yet
HAHAHAHAHAHAAaaaaaaaaaa! :)
That had me laughing. Made my day!
Nov 29, 2009
Rank: not rated yet
Nov 29, 2009
Rank: not rated yet
Nov 30, 2009
Rank: not rated yet