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.