The rapid application development approach (RAD) applied to many well known commercial operating systems for desktop environments has led C²I² Systems to providing application development solutions for the embedded market. The stringent requirements set for embedded, mission–critical and real-time applications are met by the current approaches being adopted by C²I² Systems for hardware and software application solutions. These capabilities acquired by C²I² Systems to project manage, design, develop and support applications for the embedded market can be exploited by any organisation wanting to outsource their software development.
An embedded application generally requires minimisation of hardware and software resources. Graphical applications require high-speed graphics solutions. Networking applications require high-speed protocol processing, high-bandwidth data throughput, guaranteed delivery latencies, node synchronisation, data timestamping, transparent application interfaces and provision of third party protocols.
Real-Time systems are required to execute multiple, concurrent tasks with hard deadlines; i.e. exhibit bounded and deterministic responses to external events. Compromising these deadlines may have catastrophic results, including loss of life, loss of platform or mission failure.
Mission-critical systems have differing definitions in military, industrial process control and business environments. The definition provided below applies primarily to military or process control systems.
In business environments, information systems managers would consider systems where failure could lead to loss of money (e.g. banking), serious inability to conduct business (e.g. online investment systems or accounting systems), or serious operational chaos (e.g. electronic trading systems or electronic data interchange systems), as being mission-critical.
C²I² Systems have adopted an object-orientated approach (OOA) to application development. This approach provides for design solutions for both software and systems applications. They have acquired the capability to design, develop and support using a number of object-orientated, high-level software languages.
The development approach involves an iterative design/develop/test/deploy cycle to achieve the best trade–off between cost, performance and timescales.
C²I² Systems current development efforts involve building up an extensive re-useable software repository for applications being developed by the company. The repository allows C²I² Systems to provide cost-effective application solutions. The software repository consists of man-machine interface components (ccMMI), window components (ccWindow), shapes (ccShapes), co–ordinate transformations (ccTransform), mathematical functions (ccMath), standard multi-tasking library (ccSMTL), standard window manager (ccWinMan), standard event handler (ccEvtHandler), communications (ccComms) and networking interface (ccNet) components.
Software is developed according to MIL-STD-498 Software Development and Documentation. The company is registered as an evaluation company for SPICE (Software Productivity Improvement through Continuous Evaluation) in South Africa.
Generally, software is developed in accordance with a documented company standard methodology known as C5S C²I² Systems C and C++ Coding Standard which uses MIL-STD-498 as a guide.
The company uses the Rational Rose CASE (Computer-Aided Software Engineering) tool with SODA (SOftware Documentation Automation) tool. Generally, the Booch object-orientated notation is used as the standard notation.
C²I² Systems (Pty) Ltd • P.O. Box 171 • Rondebosch
7701 • South Africa