Monday, 23 July 2012

100% Code Generation From UML

When organizations chose to develop software using UML and code generation, typically only the static model is used to generate the code, resulting in the structure of the code being the only part automatically created. Unfortunately this leaves a large portion of the implementation not generated and the software engineers with the task of ‘filling in the gaps’.

Objektum Solutions have created a UML modeling environment, using Atego Studio on a number of projects that enables the dynamic (or behavioral) aspects of the design to be auto generated.  This means that 100% of the code can be generated from the UML model with the additional benefit of the model and code always being synchronized.
 
The UML2 Activity Model has been used to model the dynamic behavior of operation bodies and a bespoke code generator has been developed (in partnership with Atego) for both Ada and the C programming languages. Objektum Solutions have also developed a reverse engineering capability so that Activity models (including diagrams) can be automatically created from source code. 

Below is a simple example of an activity model and the auto generated c code.

 
If you would like more information or if you would like Objektum Solutions to help you achieve 100% code generation and full synchronization, please contact us at:

Email: info@objektum.com
Telephone: 0845 199 9932 (UK)

VB6 Training Re-launch


Here at Objektum we are affirming our support for legacy programming languages by re-launching our Developing Visual Basic Applications course.  We have taken this decision in support of the application modernization services now offered by Objektum Modernization and therefore can support all your VB6 training needs.

Visual Basic 6 (VB6) was created by Microsoft in 1998 and was designed to be easy to learn and use. VB6 has a strong history of being the first language employed by developers to grasp programming concepts. But its uses go much further than that as VB6 is very much alive and well and being utilised by businesses of varying sizes. Microsoft ceased their support for VB6 in March 2008 and the designated successor was Visual Basic.NET. Despite this, a vast amount of enterprises are still reliant on VB6 applications and a demand still exists to support the legacy language. There are many legacy applications written in VB6 and Objektum is proud to support this with our extensive training programme. We can help you to fully comprehend your existing legacy application. Further information can be found here on our website.

If your requirement is to maintain or modernize your VB6 application, then we have developed LegacyExplorer technology to help you gain insight and plan the migration activities. Objektum’s Legacy Explorer is configured to parse VB6 and enables management, engineers and analysts to fully understand their software application both in terms of capabilities and legacy VB6 code structure. Equipped with this vital knowledge of the application, enterprises are able to migrate their VB6 applications. Once the application is modernised, it can be maintained and enhanced to support changing business demands.

We will be continuing our support of legacy application by re-launching other programming courses in languages such as COBOL, RPG, FOXPRO etc. Watch this space for further information.  



Monday, 16 July 2012

A Background to DO-178C


In late 2011 RTCA’s DO-178B received a significant update to bring it in line with modern software development practices. DO-178B replaced the previous DO-178A standard in 1992 and has been used by a number of aviation authorities as the basis on which they base their certification of civil aviation software.

Over the past few years DO-178B has received criticism over the fact that it does not address modern software development techniques such as object orientation and the use of modelling languages like UML.             
        
Like its predecessors, DO-178C, published in Europe by EUROCAE as ED-12C,   defines 5 levels of software based on the effect of system failure:

A – Catastrophic (inability to safely fly aircraft)
B – Hazardous (serious or fatal injuries to some)
C – Major (discomfort and possible injuries)
D – Minor (some inconvenience to occupants)
E – No Effect (not addressed in DO-178B)

Each of these levels identifies a number of objectives which must be satisfied before the software can be certified. These range from 66 at level A to 28 at level D. These are further divided by identified processes which must satisfy between 1 and 13 of the objectives. These processes are:
  •    Software Planning Process
  •    Software Development Process
  •    Verification of Software Requirements Output Process
  •    Verification of Software Design Output Process
  •    Verification of Software Coding and Integration Output Process
  •    Testing Outputs of Integration Process
  •    Verification of Verification Process
  •    Software Configuration Management Process
  •    Software Quality Assurance Process
  •    Certification Liaison Process
DO-178C is a non-prescriptive standard which means that it only identifies the objectives to be met and allows individual projects to decide how they achieve that.

All of the above remains consistent between DO-178B and C with only minor changes to clarify the use of terminology (e.g. purpose, goal, objective, activity etc.). DO-178C, however, aims to address modern software development techniques such as the use of:
  •    Object-Oriented design and languages
  •    Model based design
  •    Automatic code generation
  •   CASE tools for design and code development
Given the recent report detailing the system failure and pilot error that caused the loss of 228 lives on an Air FranceAirbus A330 in 2009 one hopes that, once DO178C has been fully implemented by the worlds aviation authorities, future aircraft systems will provide even greater reliability thereby minimising the need for human intervention.

Wednesday, 16 May 2012

Objektum Modernization In The North West 200

Objektum Modernization are proud sponsors of the North West 200 rider Phil Crowe. 

Phil Crowe has embarked on his first ride out at Ireland’s most notorious road race, The North West 200. He will be riding in two classes, the super bikes and the super stocks. Objektum Modernization are sponsors in both classifications. Riding for PCR HMT Racing Phil will be racing on the edge pushing himself to new levels; just as Objektum Modernization have been doing in the software world. 

Objektum Modernization wish Phil and the team all the best on race day tomorrow and we hope for a great result.

My First Company Tool

This week our trainee software engineer Joe has made/developed his first tool that will be used by Objektum at a customer site. He tells us about his experience.

The tool that I have written is called the FileCopier; its primary functions are to take a list of file names and search a directory and all the sub-directories within for each file in the list. Once it has found the file it then copies it to an output destination, selected by the user.

The Problem

The initial idea of the tool was simple, find a file within a nested directory structure and copy it to another directory. It was time to turn this idea into a tool. I started out by creating a simple form that would allow the user to select a file which contained a list of file names that were going to be searched for, select the directory that was going to be searched and then where the documents were going to be copied to.

The code behind the form

This was my first pressured programming experience, the deadline was very close and I didn’t have much of an idea of where to start. Getting all the buttons on the form to work seemed like a good start, and after a few initial hiccups with trying to select a directory in VB6 that will be searched, I was able to find a working solution for all the button click events.

The next part was the one that I thought I was going to struggle with; recursively searching for the file in each directory and its sub-directories. After a couple of hours of writing pseudo code and working with the VB6 file IO libraries I finally found an elegant solution. With the help of Derek and Todd I was able to implement the code that made it possible for the files to be searched and copied to the target directory.

I thought that was the tool complete but we still had some small bugs in the code. It was then time to run through and pick through every small detail and make sure that it was functioning correctly. The first problem we found was that the tool was still continuing to search after it had found the file, because we didn’t tell the program to exit and search for the next file in the list as soon as it had found the one matching the file name. Tracking down the problem was the hard part, but the fix was fairly easy once we had found it.

After a few more small changes I had created my first tool for Objektum Modernization. After tidying up the form it was ready for use.

The thought that I would have made a tool that will be used by a customer within the first year of starting my programming experience was something that hadn’t even come to mind. It made me realise that I am making good progress and I just need to keep practising and learning and it will not be long till I can contribute a lot more than just a simple tool to the company.