Booyens - Embedded Engineer - Stellenbosch, WC, South Africa

Martin Booyens

Stellenbosch, WC, South Africa

Services

Embedded Engineer

Summary:

I am an EXPERIENCED realtime embedded software development contractor with a passion for protocol stacks.

Work History

NuTerra Software CC

PERSONAL DETAILS
Nationality : South African E-mail:MBooyens@NuTerraSoftware.com
Location : Cape Town Home : +27 (0) 21 852 5233
Post Code : 7130 Mobile (SA) : +27 (0) 82 358 9197


EDUCATION & QUALIFICATIONS
1979 B.Sc. University of Stellenbosch
1980 B.Sc. (Hons) (Computer Science) University of Stellenbosch
1983 M.Sc. (Computer Science) University of Stellenbosch


PROFILE
Software engineer/architect with 27 years experience. Skills cover software development using C/C++ and Java (J2SE) in general, and real-time, multi-threaded, embedded software in particular. Successfully completed a spectrum of commercial projects varying from Protocol Stacks to assorted black boxes (Vehicle Tracking, EFTPOS, Traffic Intersection Controllers, etc). Proficient in object oriented (UML) design, including design patterns.

Recent experience as lead software engineer responsible for the realisation of the telephony features on an airborne business office based on Inmarsat’s new BGAN technology.

Have the ability to quickly grasp the software requirements and to translate them into a design, implementation and ultimately a reliable, maintainable product.

Seeks contract work being immediately available for telephonic interviews.


TECHNICAL SKILL SUMMARY:

Focus: Real-time Multi-threaded Embedded System Design
Languages: C/C++, Java (J2SE)
Real-time Executives: FreeRTOS, Integrity, VxWorks, Windows NT/2000/XP, RTK, QNX, Linux other
Processors: AVR32, ARM7, Cortex, PowerPC, Motorola 68302, Fujitsu (MB90580C & MB90610A), Intel 80n86, Intel 8032
Design methodologies: Object oriented (UML/RUP), Design patterns
Protocol Stacks: TCP/IP, SS7, GSM, ISDN, X.25
Cryptography: RSA, DES, Security Module Design
Version Control: Subversion, WinCVS, SourceSafe, MKS, RCS
UML CASE Tools: Rhapsody, Together ControlCentre, Rational Rose RealTime, Rational Rose 98
IDEs: AVRStudio, CrossWorks, VSlick, Eclipse, MS Visual Studio (C/C++), ARM Development Suite, Tornado 2, Keil C51, TopSpeed C
Ha

Projects

TeleTendo

Martin Booyens
I am a real-time embedded software development contractor with more than 25 years’ experience with the design and implementation of embedded applications. During this time I have gained a wealth of experience in the design and implementation of telemetry systems in general and GPRS-based telemetry systems in particular.
My latest project may be of interested to readers in this forum.
Some 18 months ago I was approached by a company to design them a framework for their next generation telemetry platforms. Since I have implemented my fair share of telemetry systems in my day, I opted to design them a generic telemetry framework that is both platform independent and operating system independent and cater for their particular requirements in a flexible way on top of that.
Let me elaborate.
There must be thousands of implementations of telemanaged (i.e. telemetry/telecontrol) systems that are deployed throughout the world, each one with its own unique requirements. One application my want to monitor the state of a digital input that indicates, for example, a power failure, whereas another may want the ability to control the state of, say, a relay. Yet another may want to monitor an analogue value, such as the voltage of a battery, or control the temperature inside a hen-house. What they all have in common though, is the fact that they serve to manage/monitor/control a set of variables (called the schema) via a protocol stack of sorts.
The protocol stack may be simple or complex. It may be as simple as a serial communications cable or it may be as complex as a full blown TCP/IP/PPP/GPRS stack.
The schema (also called the Management Information Base (MIB), Domain Object Model (DOM) or data model in other technologies) is arguably the area in which one telemanaged application differs most from another. The schema may be very simple and flat, but often consists of a tree of variables. Be that as it may, ultimately the end-user wants the ability to view and control the variables in his schema using one or more of a number of different technologies e.g. a standard Web Browser, XML or Command Line Interpreter (CLI).
I therefore opted to implement a generic framework that is capable of managing such a schema via a protocol stack and satisfy my client’s particular requirements via an extension to the framework and schema.
I have opted to call it TeleTendo, which I believe, roughly translate to “far manage” in Latin. TeleTendo is now mature and I am the co-owner of the intellectual property.

TeleTendo: The Ultimate Generic Embedded Telemetry Platform
TeleTendo consists of a software framework that allows for the quick implementation of a telemanaged system:
• TeleTendo supports the concept of an application dependent schema: The details of the application’s schema is captured in an Extensible Schema Definition (XSD) document, and subsequently compiled to generate C++ code that renders the schema Web browsable, XML manageable and accessible via Command Line Interpreter (CLI) without any additional effort.
• TeleTendo is hardware agnostic: TeleTendo is written in terms of an abstract hardware platform. This means that the core of the framework is unaware of the hardware platform on which it is deployed. The framework includes abstract Digital Inputs/Outputs, Analogue I/Os, serial ports, etc. Only the specifics of the physical Digital I/Os, etc have to be realised in concrete classes that represent the actual hardware.
• TeleTendo is operating system agnostic: TeleTendo is written in terms of an abstract real time excutive. This means that the core of the framework is unaware of the real-time executive/operating system on which it is deployed. Only the specifics of the underlying RTOS have to be realised in the concrete class that represents it.
• TeleTendo supports a variety of technologies for viewing and controlling the schema (e.g. Web Browser, XML, Command Line. EXI (Efficient XML Interchange) and SNMP are envisaged for the future.
• TeleTendo supports the notion of abstract formatters that allows for the generation and parsing of standard and proprietary messages to view/control the schema.
• TeleTendo supports the extension of the basic framework to cater for application dependent business logic.
• TeleTendo includes a scripting engine that allows for the introduction of business rules in terms of the schema .
• TeleTendo includes a full blown TCP/IP/PPP/GPRS stack. This is realised by a Sierra Wireless GSM modem
• TeleTendo’s GSM Driver supports simultaneous SMS, GPRS and CSD operation (if allowed by the GSM modem).
• It includes a Web Server, which could make the schema browsable via any standard Web Browser.
• TeleTendo is written in C++ and, as such, is very portable

Detail
A block diagram of TeleTendo is presented below.
• Central to TeleTendo’s design is the user-defined schema. It consists of a number of user-defined variables that may be monitored and/or controlled from a remote management station. The TeleTendo package utilises a code generator that allows the end-user to define the variables that are to be controlled and/or monitored. These variables, which may be hierarchical in nature, are collectively known as the end-user’s Schema .
• TeleTendo includes an integrated Web Server that, without any additional effort, allows the Schema to be browsed via any standard Web Browser.
• TeleTendo includes an integrated Command Line Interpreter that, without any additional effort, allows the Schema to be browsed via any standard Serial Port Utility (e.g. Windows HyperTerm), e.g. by typing “get \Battery\Voltage”.
• TeleTendo contains an abstract Business Logic layer, also known as the application. The end-user must implement his particular requirements in a concrete derivation of TeleTendo’s abstract Application.
• TeleTendo includes a Reporter that is responsible for the generation of StatusReports at configurable time intervals.
• TeleTendo includes an integrated XML Parser/Generator, which, without any additional effort, allows the Schema to be modified with – and monitored via – auto-generated XML-based text.
• TeleTendo includes an integrated Script Engine that, without any additional effort, allows the end-user to define special behaviour via TeleTendo’s scripting language in terms of the Schema, e.g.
“if \Battery\Voltage < 1000 then execute (“BatteryLow”)”.
• TeleTendo includes an integrated TCP/IP/PPP/GPRS protocol stack. This allows for management via GPRS over GSM networks. This is based in the Sierra Wireless modem.
• TeleTendo includes an integrated SMS service. This allows for management via SMS over GSM networks.
• TeleTendo includes an integrated CSD service . This allows for management via CSD over GSM networks.
• TeleTendo includes an abstract framework for the persistent storage of the schema, so that it retains its state over a reset.
• TeleTendo includes a file transfer implementation. The file transfer application may be used to to transfer file to and from the platform in general and to perform firmware upgrades in particular.
• TeleTendo includes a message queue framework. Message queues are used to persistently store messages that have to be sent to a remote management station. Different rules may be applied to different message queue, e.g. some queues will only spool via GPRS while others may spool via any medium (including SMS). Message Queues may also be used to establish a priority scheme between different classes of messages
• TeleTendo includes an abstract framework for many standard entities found in telemetry systems. These include Digital Inputs, Digital Outputs, A/D Converters, Pulse Counters, Serial Ports, etc. The end-user must however obviously provide hardware dependent realisations of these entities.
• TeleTendo comes with an abstract event framework. TeleTendo defines the concept of an abstract Event, an occurrence of something that has an effect on the business logic hosted by a TeleTendo extension (e.g DigitalInput#1WentHigh). The Business Logic may extend the abstract event framework to suit its needs. Each Event is associated with zero or more Actions. TeleTendo’s abstract Action may be extended to provide appropriate behaviour as dictated by the Business Logic (e.g. SendStatusReportToControlCentre).
• The TeleTendo core is operating system agnostic (i.e. it does not contain any specifics about the operating system or real-time executive it is running on). It is instead implemented in terms of a real-time executive interface that contains only the concepts of threads and mailboxes. It is normally very simple to map these entities onto those provided by the underlying operating system/real-time executive.
• The TeleTendo core is hardware agnostic (i.e it does not contain any specifics about the CPU and hardware platform it is running on). The end-user must provide hardware specific logic. Currently only ARM Cortex 3 is supported.

TeleTendo specifically excludes the following:
• Any business logic, including proprietary messaging between the TeleTendo and a management station (i.e. a back-office).
• Any hardware dependent behaviour.

TeleTendo is written in C++.

TeleTendo

Martin Booyens
I am a real-time embedded software development contractor with more than 25 years’ experience with the design and implementation of embedded applications. During this time I have gained a wealth of experience in the design and implementation of telemetry systems in general and GPRS-based telemetry systems in particular.
My latest project may be of interested to readers in this forum.
Some 18 months ago I was approached by a company to design them a framework for their next generation telemetry platforms. Since I have implemented my fair share of telemetry systems in my day, I opted to design them a generic telemetry framework that is both platform independent and operating system independent and cater for their particular requirements in a flexible way on top of that.
Let me elaborate.
There must be thousands of implementations of telemanaged (i.e. telemetry/telecontrol) systems that are deployed throughout the world, each one with its own unique requirements. One application my want to monitor the state of a digital input that indicates, for example, a power failure, whereas another may want the ability to control the state of, say, a relay. Yet another may want to monitor an analogue value, such as the voltage of a battery, or control the temperature inside a hen-house. What they all have in common though, is the fact that they serve to manage/monitor/control a set of variables (called the schema) via a protocol stack of sorts.
The protocol stack may be simple or complex. It may be as simple as a serial communications cable or it may be as complex as a full blown TCP/IP/PPP/GPRS stack.
The schema (also called the Management Information Base (MIB), Domain Object Model (DOM) or data model in other technologies) is arguably the area in which one telemanaged application differs most from another. The schema may be very simple and flat, but often consists of a tree of variables. Be that as it may, ultimately the end-user wants the ability to view and control the variables in his schema using one or more of a number of different technologies e.g. a standard Web Browser, XML or Command Line Interpreter (CLI).
I therefore opted to implement a generic framework that is capable of managing such a schema via a protocol stack and satisfy my client’s particular requirements via an extension to the framework and schema.
I have opted to call it TeleTendo, which I believe, roughly translate to “far manage” in Latin. TeleTendo is now mature and I am the co-owner of the intellectual property.

TeleTendo: The Ultimate Generic Embedded Telemetry Platform
TeleTendo consists of a software framework that allows for the quick implementation of a telemanaged system:
• TeleTendo supports the concept of an application dependent schema: The details of the application’s schema is captured in an Extensible Schema Definition (XSD) document, and subsequently compiled to generate C++ code that renders the schema Web browsable, XML manageable and accessible via Command Line Interpreter (CLI) without any additional effort.
• TeleTendo is hardware agnostic: TeleTendo is written in terms of an abstract hardware platform. This means that the core of the framework is unaware of the hardware platform on which it is deployed. The framework includes abstract Digital Inputs/Outputs, Analogue I/Os, serial ports, etc. Only the specifics of the physical Digital I/Os, etc have to be realised in concrete classes that represent the actual hardware.
• TeleTendo is operating system agnostic: TeleTendo is written in terms of an abstract real time excutive. This means that the core of the framework is unaware of the real-time executive/operating system on which it is deployed. Only the specifics of the underlying RTOS have to be realised in the concrete class that represents it.
• TeleTendo supports a variety of technologies for viewing and controlling the schema (e.g. Web Browser, XML, Command Line. EXI (Efficient XML Interchange) and SNMP are envisaged for the future.
• TeleTendo supports the notion of abstract formatters that allows for the generation and parsing of standard and proprietary messages to view/control the schema.
• TeleTendo supports the extension of the basic framework to cater for application dependent business logic.
• TeleTendo includes a scripting engine that allows for the introduction of business rules in terms of the schema .
• TeleTendo includes a full blown TCP/IP/PPP/GPRS stack. This is realised by a Sierra Wireless GSM modem
• TeleTendo’s GSM Driver supports simultaneous SMS, GPRS and CSD operation (if allowed by the GSM modem).
• It includes a Web Server, which could make the schema browsable via any standard Web Browser.
• TeleTendo is written in C++ and, as such, is very portable

Detail
A block diagram of TeleTendo is presented below.
• Central to TeleTendo’s design is the user-defined schema. It consists of a number of user-defined variables that may be monitored and/or controlled from a remote management station. The TeleTendo package utilises a code generator that allows the end-user to define the variables that are to be controlled and/or monitored. These variables, which may be hierarchical in nature, are collectively known as the end-user’s Schema .
• TeleTendo includes an integrated Web Server that, without any additional effort, allows the Schema to be browsed via any standard Web Browser.
• TeleTendo includes an integrated Command Line Interpreter that, without any additional effort, allows the Schema to be browsed via any standard Serial Port Utility (e.g. Windows HyperTerm), e.g. by typing “get \Battery\Voltage”.
• TeleTendo contains an abstract Business Logic layer, also known as the application. The end-user must implement his particular requirements in a concrete derivation of TeleTendo’s abstract Application.
• TeleTendo includes a Reporter that is responsible for the generation of StatusReports at configurable time intervals.
• TeleTendo includes an integrated XML Parser/Generator, which, without any additional effort, allows the Schema to be modified with – and monitored via – auto-generated XML-based text.
• TeleTendo includes an integrated Script Engine that, without any additional effort, allows the end-user to define special behaviour via TeleTendo’s scripting language in terms of the Schema, e.g.
“if \Battery\Voltage < 1000 then execute (“BatteryLow”)”.
• TeleTendo includes an integrated TCP/IP/PPP/GPRS protocol stack. This allows for management via GPRS over GSM networks. This is based in the Sierra Wireless modem.
• TeleTendo includes an integrated SMS service. This allows for management via SMS over GSM networks.
• TeleTendo includes an integrated CSD service . This allows for management via CSD over GSM networks.
• TeleTendo includes an abstract framework for the persistent storage of the schema, so that it retains its state over a reset.
• TeleTendo includes a file transfer implementation. The file transfer application may be used to to transfer file to and from the platform in general and to perform firmware upgrades in particular.
• TeleTendo includes a message queue framework. Message queues are used to persistently store messages that have to be sent to a remote management station. Different rules may be applied to different message queue, e.g. some queues will only spool via GPRS while others may spool via any medium (including SMS). Message Queues may also be used to establish a priority scheme between different classes of messages
• TeleTendo includes an abstract framework for many standard entities found in telemetry systems. These include Digital Inputs, Digital Outputs, A/D Converters, Pulse Counters, Serial Ports, etc. The end-user must however obviously provide hardware dependent realisations of these entities.
• TeleTendo comes with an abstract event framework. TeleTendo defines the concept of an abstract Event, an occurrence of something that has an effect on the business logic hosted by a TeleTendo extension (e.g DigitalInput#1WentHigh). The Business Logic may extend the abstract event framework to suit its needs. Each Event is associated with zero or more Actions. TeleTendo’s abstract Action may be extended to provide appropriate behaviour as dictated by the Business Logic (e.g. SendStatusReportToControlCentre).
• The TeleTendo core is operating system agnostic (i.e. it does not contain any specifics about the operating system or real-time executive it is running on). It is instead implemented in terms of a real-time executive interface that contains only the concepts of threads and mailboxes. It is normally very simple to map these entities onto those provided by the underlying operating system/real-time executive.
• The TeleTendo core is hardware agnostic (i.e it does not contain any specifics about the CPU and hardware platform it is running on). The end-user must provide hardware specific logic. Currently only ARM Cortex 3 is supported.

TeleTendo specifically excludes the following:
• Any business logic, including proprietary messaging between the TeleTendo and a management station (i.e. a back-office).
• Any hardware dependent behaviour.

TeleTendo is written in C++.

Qualifications & Certifications

Paul Roos Gymnasium

Skillpages has been acquired by Bark.com!

Bark.com is pioneering the way people find local services. Skillpages is the world’s premier directory of service providers.

Find out more


Are you sure that you want to leave?