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:

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.

Tuesday, 10 April 2012

The History of Android

With the addition of our latest Android courses for Developers, Joe looks back at the history of Android and it's evolution to become the  best-selling smartphone platform... 

Palo Alto California, October 2003 was the birth of Android Inc. Andy Rubin, Rich Miner, Nick Sears and Chris White “secretly” worked on Android only revealing to the public that they were working on software for mobile phones. Not knowing much about Android at the time, on August 17th 2005 Google acquired Android Inc. This made Android Inc a wholly owned subsidiary of Google Inc.

23rd September 2008 was the day of release for the first Android device, the HTC Dream (G1) which had Android 1.0 on it.  Some of the features of Android 1.0 were:
  • That it was integrated with Google Services
  • Android market app downloads and updates.
  • Multitasking, instant messaging, Wi-Fi and Bluetooth.

The next major update was the release of Android 1.5 'Cupcake'. The update included:
  • Faster Camera start-up and image capture.
  • Much faster acquisition of GPS location.
  • On-screen soft keyboard.
  • Directly upload videos to YouTube and Picassa
This update was released in April 2009

Androids next up-date “Donut” was released in September 2009 and came with some very nice additions to the previous version:
  • Quick Search Box and Voice Search
  • Integrated camera, camcorder and gallery
  • CDMA Support
  • Multilingual Text-To-Speech function

As winter approached in October 2009 It was time for “Eclair” to be released. The changes for Android 2.0 were:
  • Multiple accounts for email and contact synchronization
  • Microsoft Exchange Support for syncing of e-mail
  • Bluetooth 2.1 support
  • New browser user interface and support for HTML5
  • New calendar features

May 2010 was the release of Android 2.2 “Froyo”. This update was packed with user friendly updates such as:
  • New tips widget for home screen
  • Improved Exchange support
  • Multiple keyboard languages 
  • Adobe Flash 10.1

The heart of winter brought out the “Gingerbread” Android 2.3. Communication was a focus in this update.
  • UI refinements for simplicity and speed
  • New keyboard for faster text input
  • One-touch word selection and copy/paste
  • Near Field Communication
  • Internet Calling

 February 2011 the first Tablet only update release, Android 3.0 “Honeycomb”, featured:

  • Specifically optimized for tablets
  • Refined multitasking, rich notifications, home screen customization and updated widgets
  • Bluetooth tethering
  • Built-in support for media/picture transfer protocol

October 2011saw the release of Android 4.0 “Ice Cream Sandwich”, which is the most recent release to date and updates included:

  • Enhanced speed and performance
  • Easier-to-create folders, with a drag-and-drop style
  • A customizable launcher
  • Ability to access apps directly from lock screen (similar to HTC Sense 3.x)
  • Better voice integration and continuous, real-time speech to text dictation
  • 1080p video recording for stock Android devices

These are just a few of the changes in each of the different releases of the Android operating system.The Android operating system is constantly evolving, enabling for greater things to be done on an android device. Android entered the market as a new mobile operating system in September 2008, in 2010 Android was listed as the best-selling smartphone platform worldwide. This is a huge statement of what Android is delivering.

Our latests Android courses for developers an technology managers and strategists can be found here.