2 | Interrupt Inside Interrupt Inside |3 4 | Interrupt Inside Interrupt Inside |5 SMART HOME

Java promise “write once, run anywhere” Furthermore, we developed a mecha- ergyBASE behaves in a very performant available for Android and iOS as well. is real. The EnergyBASE architecture nism to define relationships between and smooth way notwithstanding to is also based on the OSGi component services and the ability of injection. the huge amount of functionality of the VIRTUALIZATION & TESTING model. By choosing this technology, According to the inversion-of-control engine and the complexity (see Illustra- We are able to virtualize every compo- we are able to provision, deploy, start, pattern, our ServiceMonitor (or more tion 3) of our application. nent of the whole system, including the stop and remove software components specifically the OSGi BundleContext) devices and the device adapters. This (called “bundles”) on-the-fly on remote observes and manages the complete The ability to communicate with our technology is very useful when it comes devices without interrupting operation lifecycle of each service and provides backend through a (SSL encrypted) TCP to testing individual device configura- or other services on the device. the requested instance. At this point socket connection is already provided by tions as well as performing integration the relationship between dependencies the used OSGi engine. The EnergyBASE testing. Our continuous build process Bundles can be updated individually or on Bundle- and Service-Layer becomes is obviously completely useable without makes use of automated testing during within groups, which gives us the ability much more important. Following the an active connection to the internet or nightly builds. It is also possible to model to react quickly and effectively to new Illustration 4 we can see, that Service our backend. But there are some handy complete sample installations (virtual requirements and potential problems in X is injected in Service Z. The instance features, also used by most of our cus- households) that can be used for train- production environment. of Service X can only be created when tomers, like remote access through ing of the system maintenance staff or Bundle B is running. Due to the rela- the web (https://energybase.enbw.com), to support the sales process: it is always The component model is used to as- tionship between Bundle B to Bundle A, mail sending in case of malfunctioning very convincing to demonstrate a live semble customer specific applications its running state is also necessary. This or weather consumption which requires system rather than showing off a slide depending on parameters like hard- small example shows that this tech- an active connection. deck. ware release, customer contracts, con- nique give us a handy way to control figuration, stage or use case scenario. Illustration 5: EnergyBASE backend (mPRM) CREATING A “WHITE LABEL” SOLUTION As shown in the Illustration 3, there are FROM A BRANDED PRODUCT many possibilities to combine the ap- Our customer EnBW decided to offer a plication bundles: multiple adapters to or electricity prices from external service tionality is not as large as the default “white label” variant of the EnergyBASE handle different kinds of devices from providers, sending emails and push no- web application but it contains all impor- product due to market demand. The different manufacturers, implementa- tifications or to activate and deactivate tant data to get a broad overview about main challenge for an OEM product pro- tion of protocols for communication This feature is very convenient to develop automated EnergyBASE(s). the current energy production, batteries vider is to allow for flexible extensions, purposes, external service connectors, test-cases which implement complete test scenarios state of charge and further more (see customization and customer specific selectable forecast algorithms, optimi- over all system components. The mPRM provides a generic RESTful Illustration 6). skinning of the applications. Our aim zation methods to use the energy in an API which allows executing its functions was to provide mechanisms for cus- efficient way and much more. via HTTPS service calls. This feature is Each UI related bundle contains three tomizing the EnergyBASE software and very convenient to develop automated directories to provide its content for offer customers limited or changed set There are a few preliminary decisions dependencies but can also grow to a ENERGYBASE BACKEND test-cases which implement complete different environments: one folder just of functions and UIs compared with the you’ll want to make while defining an complex construct really fast. In prac- Our backend system is based on the test scenarios over all system compo- for mobile application related files, one original software. OSGi bundle. One of these decisions is tice we keep the dependencies as small “mPower Remote Management” (mPRM). nents. for web browser files, and one shared the dependency to other bundles. Each as possible. It is built by using the same software folder for both cases. The CI system BACKEND CHANGES bundle can be independently defined or stack Java/OSGi, as the EnergyBASE, Due to the use of Java and OSGi on chooses the right files in conjunction to Since our software is implemented and in conjunction with other. For example, Despite having the loosely coupled which brings us many advantages. It server and device side, it’s easy to im- the target environment while building structured in OSGi bundles, it is relative- let us assume Bundle B is dependent components, the ability to commu- provides some essential features out-of- plement distributed services for both the software. ly easy to add, replace or remove func- on Bundle A. In this case, it is sure that nicate to each other by means of an the-box like monitoring external devices, components. For example, in case the tionality by deploying or removing bun- the startup process of bundle B will be event-based publish/subscribe mecha- configuration, remote software updates EnergyBASE is connected to a server, The mobile applications are currently dles. So adding “white label” capabilities initialized after bundle A is already in the nism is still present. In addition to the and the internal repository to handle dif- weather data can be consumed and to our system was not really a technical correct state (started). In more concrete general properties of the OSGi-based ferent versions of software components. prepared on the server-side, while the challenge since the underlying archi- manner: it will not happen that one of platform, we also benefit from various We are able to extend the existing set device is only collecting the relevant re- Illustration 6: tecture directly supports the necessary the device adapter bundles get started add-ons created by the OSGi-Engine. of functionalities by providing self-devel- gional data from the backend. Further- EnergyBASE Mobile App configurability. while the necessary protocol implemen- It provides several features to monitor oped bundles. We use this technique, more, it is possible to shift functions tation bundle is not available. and manage external devices. The En- for example, to consume weather-data from the EnergyBASE device up to the To extend the backed for OEM use, we server to process computationally inten- had to extend our system database for sive operations. multi-client capabilities. This was done by extending the data model to include Further aspects of the general software contract data for the OEM customers. Illustration 4: Bundle and Service dependencies development process are affected by The contract types are being used to the homogeneous choice of technology. configure which part of the software e.g. We can use the same IDE, with the same which OSGi bundle is included in the set of plugins and also the same testing runtime environment for which particu- framework to develop client and server lar contract. bundles. Also, the build and publishing process on our CI system does not need The customer can also order (or imple- any changes. This may not sound very ment) some kind of extra functionality important but when you have already besides the preexisting bundles and in- worked with totally different technology clude them into his contract configura- stacks on the client and server side you tion. will be very pleased with the simplicity of this approach. In addition it was also necessary to pro- vide a way to set specific contract infor- FRONTEND APPLICATIONS mation for any particular EnergyBASE The frontend applications are imple- device and to integrate the dynamically mented using modern web-app technol- configured extensions into the systems ogies and are provided to allow end cus- management. mPRM provides an ap- tomers access to statistics and process propriate technology (called “control control via desktop and mobile brows- units”) which we used to monitor custom er. Besides its browser-based access extensions on the backed. there exists also hybride, HTML5-based mobile web applications.The set of func-

>> 6 | Interrupt Inside Interrupt Inside |7 SMART HOME

A COMPLETE TECHNOLOGY PARTNER Illustration 7: UI effects by changing contract for smarter embedded and IoT solutions DEVICE CHANGES As a part of the implementation of the EnergyBASE device software, we de- THE FIRST OEM CUSTOMER veloped a possibility to mark a bundle Let’s have a quick look on the requirements of our first real world OEM within its “Manifest.mf” configuration file customer and the resulting efforts in development. Data Respons is a full-service, independent technology company and a leading player as “ManagedByContract”. Such bundle will only be loaded when the currently 1. The EnergyBASE web app should not be available anymore after the in the industrial IoT and the embedded solutions market. We provide R&D services applicable contract calls for it. The con- installation is done. and embedded solutions to OEM companies, system integrators and vertical product suppliers tract information is managed by a soft- => Easy. The UI bundle will be marked as “ManagedByContract” and not ware component called ContractService. included in the related contract-configuration. in a range of market segments such as Medical, Industry Automation, Smart grid/Smart home, This service receives every change in the contract from the backend instantly 2. The customer wants to develop its own mobile application which displays Bank and Insurance, Automotive, Defence, Maritime, Energy and Telecommunications. through an event system and begins to the data collected by the EnergyBASE every five minutes. start/stop different bundles according to the new configuration. => Just implement a mechanism to send the needed data every five min- utes to the mPRM within the customer-specific bundle. A kind of observer mechanism will be triggered after receiving the data on the mPRM side. Additionally, we did many changes to the After that, just forward it to the customer. local UI layer and separated these bun- dles into smaller pieces. Now onwards, 3. Based on some cooperation contract, only two manufacturers should be IoT / Digitalisation there is one bundle with the standard UI available in this configuration. A specific solar inverter and one type of bat- and one additional for each customer. tery. Other devices and manufacturer should not be supported.

This customer bundle does not only => The same procedure as we did in point 1. The device adapters are Security contains UI stuff but also arbitrary code already split into separate bundles for each manufacturer. Just add the to solve the required features or change allowed devices in related configuration. existing behavior. In the case of UI, it contains just the difference between 4. The remote support access should be activated all the time. Connectivity standard and customer specific CSS/ => The original Version of EnergyBASE software does not force the user HTML/Assets. The Illustration 7 dem- to enable the option for remote access. In this case, we just have to over- Software & APPs onstrates this kind of change in Web-UI ride this option within the customer-specific bundle. just by changing the contract. Everything happens without any reboot or manual 5. Additional function: Each device should consume and store the stock browser refresh. prices for electricity by using a defined service once per day.

Due to the dependencies between bun- => Create a new “ManagedByContract” bundle and add it to the contract configuration. dles shown in Illustration 4 it is possible to imagine that there can be several 6. Additional function: The customer should consume energy for free to load tricky situations to think about while de- its battery in the time periods with negative prices (based on the data veloping this part. from the previous point) until a specific amount is reached.

CONCLUSION => The same procedure as described in point five. This real-world example clearly shows that significant deviations between customer requirements The Java/OSGi software platform used and default implementation can be managed in a very clean way. We for the EnergyBASE project has proven don’t need complex and error prone if/then/else code to solve the chal- Embedded to be stable, flexible and extensible. lenge. Solutions R&D Homogeneous runtime environments Services on all system components allow us to A split of functionality and responsibility on our bundles and the overall distribute code and functionality as modular approach help us manage most of the requirements with a very needed. In particular, the OSGi compo- low effort on the development side. All complex enhancements were separated in custom bundles without any need to change the existing nent model and it’s hot deploy/undeploy code. capabilities helped us to quickly imple- ment the customer requirement to expand the system from a proprietary offering into an open multi-client plat- Refrences: form. EnBW Energie Baden-Württemberg AG – https://enbw.com Even new requirements, like opening EnergyBASE – https://energybase.com up the system as a hosting platform for Oracle Java SE 8 Embedded – https://oracle.com/technetwork/java/embedded domain specific third party apps would ProSyst mBS Smart Home - https://dz.prosyst.com/pdoc/mBS_SDK_7.5 not be a significant challenge for this OSGi – https://www.osgi.org/ robust architecture.

8 | Interrupt Inside Interrupt Inside |9 MARKET

parts, and not even the most common. higher degree. Since the 2011 reported Other major sources of counterfeits are discovery of counterfeits in major mili- excess inventory improperly disposed tary systems like the F16 fighter jet, and of, legitimately produced parts rejected the realization of the risks it represents, by the test process, legitimate parts re- the attention on fighting counterfeits has marked and re-labelled as parts of better been intense, far greater than in regular performance and the aforementioned commercial markets. The test and quali- empty capsules. fication regimes of the defense sector along with the consciousness of the con- But the most common, and perhaps sequences of failure contributes to a su- BY: Haldor Husby Principal Development Engineer most sinister counterfeits are parts re- perior detection of substandard quality. Data Respons claimed from used and discarded elec- However, defense and aerospace, with tronic products, primarily in Chinese product lifetimes spanning several dec- backyard operations. The boards are typ- ades, are especially mismatched to com- ically heated over open fire to as much ponents life cycles of a few years, and do as 400°C (far higher than the approved rely on a steady supply of components rated reflow temperature) to liquefy the that are in effect obsolete. These hard- solder, then hit and thumped to the con- to-come-by parts are most easily found n hindsight, the innocence of our shock crete floor until the parts fall off. After in the grey market. Hence, the problem facing such simple component decep- sorting and cleaning in whatever water of counterfeit components are closely Ition seems almost quaint. We were is available at the site, the top markings related to the ever-mounting problem of stunned by the sheer audacity of the are ground down and a new topcoat is obsolescence and life-cycle management fraudsters and did not realize that hawk- applied before the parts are marked, la- (see article in the previous issue of Inter- ing empty capsules as real components belled, packaged, and reintroduced as rupt Inside). is actually one of the more benign forms fresh parts through the grey market. of counterfeiting. Counterfeit electronic On the face of it, avoiding counterfeit components, at that time an almost un- This group constituted an estimated components should be simple; buy known issue, would accelerate in the 10 80-90% of the component counterfeit components directly from component years following to become a visible and market in 2012, which in turn was as- makers and reputable authorized dis- acknowledged problem with thousands sumed to be 8-10% of the total electronic tributers only, and you have no problem. of reported incidents in 2005 which in components market and representing an Not until you need a part not available turn increased another 300% by 2008. annual revenue loss of USD 7-8 billion to through those channels, that is. Con- the semiconductor industry. However, sidering a complex military system like The issue of counterfeit components piv- this is only a fraction of the overall cost a fighter jet or a helicopter, adding to it oting around the turn of the millennium counterfeit components represents to variants, upgrades and maintenance, is closely related to fundamental changes society, albeit maybe the only one that is it is obvious that the supply chain is ex- in the electronics component supply close to quantifiable. Correcting a prob- tremely large and convoluted involving chain at and around that time. The ad- sub-contractors with sub-contractors mittance of China into the World trade Organization (WTO) in 2001 resulted in the lifting on export bans for non-govern- mental entities. A surge of manufactur- These hard-to-come-by parts are most ing outsourcing and the development of global shipping shifted the manufactur- easily found in the grey market. ing center of gravity to Asia, specifically China, a region with weak protection and understanding of intellectual property, creating distance between the OEMS and their supply chain. Somewhat earlier, lem invoked by a counterfeit component, at multiple levels. Each of them battling major efforts to establish a responsible E- once detected, may exceed the value of their own difficulties with obsolescence, waste handling led to a massive export of the components by orders of magnitude. lead times, delivery pressure and cost, hazardous waste in the form of discard- A counterfeit component not detected and with varying levels of maturity and ed electronics to China and other devel- may cause serious loss of infrastructure control handling the parts supply, not to oping countries, creating a substantial in the worst case, and the loss of life and mention ethics. The temptations to make industry centered on e-waste recycling. safety for people. use of the grey market are multifold. A FAKE ? This industry, intended for the recovery vendor of a sub-component pressured of precious metals from electronic as- RISKS AND CONSEQUENCES and committed to a delivery date but My first encounter with counterfeit components occurred more than 20 years ago while semblies, became a growing source of A salvaged waste component already missing a handful of critical components, reclaimed electronic components. spent an unknown and possibly signifi- gets instant relief from a smaller broker. working for a large North-American electronics manufacturer. One day a fellow test engi- cant percentage of its useful service life An EMS provider, cut to the bone on price before being recycled. Add to that an un- by his customer, sees the opportunity of neer was called to the production line to help investigate the 100% test failure of a certain TYPES OF COUNTERFEITS known, and possibly inappropriate ser- recovering some of his profit procuring product. We headed down to the line, and quickly isolated the failures to a specific compo- The word counterfeit invokes associa- vice situation, and the fact that the part is the most expensive parts from another tions of unauthorized copies. An early on a board that has been discarded, and friendly broker. The appearance of coun- nent. Getting no electric response from the part, we decided to X-ray it to look for damage and famous case affecting thousands of it is clear that re-claimed electronic com- terfeit components in military planes is computer motherboards involved a ca- ponents can only be legitimately used in no mystery, once you know it. or broken wire bonds. Looking at the images in disbelief, we had to check several times pacitor electrolyte made from a formula non-critical applications. However, the before accepting that the component housing contained neither chip nor wire bonds. Our first stolen, then corrupted, which caused vast majority of reported counterfeit in- FIGHTING COUNTERFEITS the capacitors to burst and the comput- cidents are in the military and aerospace Early topcoats could easily be removed boards were all populated with empty capsules marked, labelled, packaged and passed off ers to malfunction. The case alone cost segments, and includes cases involving with an Acetone wipe, and date and lot the computer makers more than USD safety and mission critical systems. It is codes printed on the components them- as real components. 100 million. However, making copies, clear that these segments are particu- selves were often incorrectly formatted now specifically termed cloning, is just larly susceptible to counterfeits, and relative to the specifications from the one of many ways of creating counterfeit not only discovering incidents to much vendor. Fakes were therefore relatively

10 | Interrupt Inside Interrupt Inside |11 We make the technology

Components are often sanded down you need to hide the original markings, the black topped and remarked.

easy to detect once looked for. How- control of the supply chain. Traceability DEPARTMENT OF ever, counterfeiters are steadily getting from manufacture through distribution DEFENSE DEFINITION better at what they do, so the technol- and assembly is inevitable for any OEM An unlawful or unauthorized ogy to detect frauds must improve as or sub-system manufacturer who wants R&D SERVICES well. Companies are, as an example, to be confident that their product is clean reproduction, substitution, or working on using botanical DNA to mark of counterfeits. Also in this context, co- Data Respons delivers R&D services, alteration that has been know- chips, and the use of RFID tags has long ordinated industry responses are impor- ingly mismarked, misidentified, been considered, but the long term tant. Like the SAE internationals standard development projects and experienced or otherwise misrepresented impact of improved marking will only be AS5553 for procurement of electronic specialists with extensive industry to be an authentic, unmodified relevant for cloned components. To aid parts, and directly motivated by volume electronic part from the original detection, IPC has developed inspection of fraudulent parts in the supply chain. knowledge. manufacturer, or a source with training and certification for detection the express written authority of counterfeit components. One must STAYING SAFE assume that frequent re-education is Counterfeit products are not limited to of the original manufacturer or necessary. Several automated test and electronic components. Fakes, primar- current design activity, includ- inspection systems targeting detection ily clones, are widespread in all markets. WHY DATA RESPONS ing an authorized aftermarket of counterfeit components are also Every year more than a 100 million fake FROM IDEA TO IMPLEMENTATION manufacturer. Unlawful or about to hit high-end markets. phones are put in circulation. Fake ball unauthorized substitution in- bearings, car parts, cables, network serv- CONSULTANCY, SPECIALISTS OR R&D PROJECTS cludes used electronic parts Parallel to improvements in process ers, safety textiles, vehicle airbags and STRATEGIC COLLABORATION PARTNER represented as new, or the and technology, the distribution of many more are well known and severe counterfeit components is fought in examples of counterfeits discovered. TOP SELECTED TALENTS & SPECIALISTS false identification of grade, American courtrooms. In response to Considering the profits involved, the serial number, lot number, date relatively resent definitions of new of- fragmentation of the supply chain and DYNAMIC METHODOLOGY code, or performance charac- fences introduced in law motivated by the many pressures on manufacturers, teristics.” the appearance of counterfeit parts in there is little reason to expect the fight defense systems, the FBI has stepped to end counterfeiting to be successful. up its investigation of component fraud, It appears that the only path to success- SAE INTERNATIONAL and several American brokers have been ful avoidance of counterfeit components STANDARD AS5553 subject to high-profile prosecution and goes through solid life cycle manage- DEFINITION sentenced to lengthy incarceration. The ment. The link between counterfeit com- message is clear; if you supply US de- ponent avoidance and obsolescence A fraudulent part that has been fense companies you need to be sure management cannot be overstated, and confirmed to be a copy, imi- that all components are genuine, or face actions taken to avoid “distress procure- SOFTWARE DEVELOPMENT / SYSTEM DESIGN / EMBEDDED SOFTWARE DEVELOPMENT / INTERACTION DESIGN / tation, or substitute that has charges and prison terms. The original ment” are also actions to keep fake com- PROJECT MANAGEMENT / ELECTRONIC & HARDWARE DEVELOPMENT / MECHANICAL DESIGN / TEST & QUALITY been represented, identified, or “manufacturers” and distributers of the ponents out of the factory. marked as genuine, and/or al- counterfeit parts are of course still out tered by a source without legal of reach. right with intent to mislead, de- Inspection and prosecution aside, get- ceive, or defraud. ting on top of the counterfeit compo- nent problem necessitates getting in Contact our R&D Services on 600 [email protected] SPECIALISTS 12 | Interrupt Inside Interrupt Inside |13 METHODOLOGY

BY: Fredrik Bakke Senior Development Engineer Data Respons

BY: Svein Tore Ekre Senior Development Engineer Data Respons

let you describe SW all the way down to SW function level. Compared to UML, the Systems Modeling Language (SysML) is more light-weight, more general, and targeted towards modeling require- ments and architecture. In 2001, the International Consortium on Systems Engineering (INCOSE) and the Object Management Group (OMG) SYSTEM issued the “UML for Systems Engineer- ing” request for proposal, with the in- tention of adapting UML for system specification and design. In the 16 MODELING years since, SysML (now at version 1.4) has developed into a mature and more agile language than UML, that is suitable for modeling requirements, hardware, software and processes. In addition, a SysML model gives opportunities for documenting the relationships between requirements and system components at any level of decomposition in accord- ance with best practices and also func- SYSML BACKGROUND was done by UML to unify the world of tional safety requirements. The Block diagrams and flow diagrams software modeling. UML is now a 20 are perhaps the de facto standards of year old mature software modeling lan- SYSML 1.4 AND ENTERPRISE visually describing structure and func- guage that promotes an object oriented ARCHITECT tions of embedded systems. These mindset. A major strength of UML is the The SysML language is a profile of UML, diagrams have good track records, but ability to combine diagrams showing SW and provides both a notation in the form he concept of modeling system requirements and design in is not a new one shortcoming lies in the fact that Structure and SW behavior, and reuse of diagrams, elements, and relation- one. However, recent advances in languages and tools has created opportu- they can not easily be integrated with elements. Reuse is also a key aspect of ships, and the semantics of these. Some nities for reducing the total development effort for embedded systems, and other diagram types or even other dia- SysML, and portions of models can be diagrams are directly adopted from T grams of their own type using common reused between product generations or UML, the requirements diagram and improve quality. This article aims to present some of these opportunities, based tools. If you for example develop five variants. parametric diagram are new diagram block diagrams in Microsoft Visio with types, and some UML diagrams have on the authors’ experiences. Keywords are traceability, and multiple consistent some common elements, you will need The most used UML diagram types are been left out in SysML. The authors have requirements, design, and test views. The article gives an overview of the SysML to maintain each of them individually. arguably the class, sequence, and use- used Enterprise Architect from Sparx Make a change in one, and you will need case diagram. UML tools lets elements Systems for SysML modeling. It is a fea- language, its usage, and potential benefits. The article also gives advice on how to to validate the others. If flow diagrams be reused between diagrams, and a ture rich and flexible modeling tool with for these elements are also developed, change in one element is therefore re- good Support for SysML 1.4. get started with system modeling along with literature recommendations. the effort of making changes and ensur- flected in all diagrams showing that el- ing consistency increases exponentially. ement. This enables more aspects of The process of modeling an aspect of A solution to making multiple diagrams a system to be documented with dia- the system is to first create a diagram of consistent, is to use a tool that inte- grams, for less effort. Common criticism a suitable type (see SysML 1.4 Diagram grates several diagrams and diagram of UML is that its “red tape” that gets in Types), secondly drag in any previously types using a relational database. This the way of coding, and UML will indeed defined elements, and third define any

14 | Interrupt Inside Interrupt Inside |15 METHODOLOGY

Test Case “verify”

Stakeholders System Objectives

Stakeholder Requirements Function System of interest “satisfy” Text = “The System of interest shall...” Stakeholder Part Base Architecture “deriveReqt” External Interface Requirement System “satisfy” Requirements

new elements or relationships. After SysML 1.4 Diagram Types that, descriptive text and visual format- System Context Use Cases ting can be added for increased read- Diagram type Usage ability. Enterprise Architect lets you hide relationships and element properties on Block Definition Diagram Define reusable structure and behavioral elements a per diagram basis, so a diagram can Internal Block Diagram Connections, interface, internal block structure show what you want and nothing more. Activity Diagram Flow based behavior SYSTEMS MODELING IN DATA RESPONS Sequence Diagram Message based behavior ( Communication protocols) SysML models have been used in Data State Machine Diagram State based behavior Respons by the authors since 2011. Elements” feature.’ The applications have ranged from Use Case Diagram Stakeholders and use-cases • Diagram Legends can be defined once and used in several concept studies, internal process de- Requirements Diagram Requirements and Test Cases diagrams. Use Legends and Element colors consistently to TRACEABILITY, REPORTING AND scriptions, through requirements speci- help make the model readable. VISUALIZATION fications and architecture descriptions. Parametric diagrams Quantitative Constraints Projects may require traceabil- For requirements specifications, the • All diagrams should have a text box, describing what aspect Package Diagram The structure of the model, and relationships between packages ity between stakeholder requirements, authors have created model with full bi- of the system the diagram shows. For improved readability, system requirements, components, directional traceability between system do not rely solely on SysML notations like the diagram header. test-cases and tests at different levels. requirements and environmental re- As long as the “Model Setup Recommen- quirements (Aviation). In the automotive • Document the usage of SysML element and connector dations” are followed, custom searches industry, the authors have established “Types” and “Stereotypes”, and make sure the meaning is can be saved and performed quickly on bi-directional traceability in a system unique. This is a prerequisite for a consistent model, im- the model without the need for docu- requirements specification down to tools” yields lists of popular tools, com- the modeling tool is recommended. A proves traceability, and enables complex model searches. menting complex relationships directly. software unit level. This has shown that parisons and feature lists. SysML under- SysML model is structured using pack- Examples of possible custom searches SysML models can be efficient means went significant changes up till version ages. These are logical containers that • Use a “package” diagram to establish a package structure and are listen below: to achieve traceability between system 1.3. The current version of the standard contains diagrams and other elements. document package dependencies. This serves as an overview requirements and stakeholder require- (1.4) has been around since 2015. Some Elements in the same or different pack- of the model, and helps in managing changes to the model. • Passed test-cases at SW component ments, and also down to low level tools are better than others in imple- ages can have relationships between level tracing to a set of stakeholder design. menting new SysML features, and not each other. Even though the element • Define a logical system break-down, and structure all informa- requirements. all tools available have mature enough and relationship types have defined tion in accordance with this. The items in the breakdown The authors have also used a SysML SysML support for efficient system SysML semantics, practice shows this is structure should represent logical parts of the system (hous- • Components impacted by changes model for stakeholder management, modeling. No Magic MagicDraw, Altova not always clearly enough defined. While ing, power module, controller SW etc). Break down as many in a requirement, and tests that capturing requirements, exploring solu- Umodel and Sparx Enterprise Architect using the semantics of the SysML stand- levels as needed. must be re-run. tion concepts and developing system ar- are among the most popular SysML ca- ard is a good thing, we have found that chitecture. Capturing this information in pable modeling tools. the usage of diagram, elements and re- • Manage the model scope, and stop to consider return on • List of stakeholder requirements not the same model has shown the strength lationship types should not be too tied investment before modeling below “architecture level”. yet verified at component level. of using a model containing diagrams as GETTING STARTED to the SysML semantics, but instead be a tool for communicating and validating SysML is a language. In order to create documented on a per-model basis. Thus • Quick visualization of relationships benefits from a properly Sometimes, there are better ways to design decisions in an iterative manner. a model in the SysML language that ensuring consistency within the model. structured model. Make sure you understand the visualiza- present or share information than using The model also proved to be efficient serves a purpose in a given project, the The package diagram below shows one tion capabilities of the modeling tool before deciding on diagrams. Most SysML capable mod- for establishing a shared terminology purpose must first be defined, this might possible model structure with package model structure. For Enterprise Architect this is the “Trace- eling tools have several options for re- and understanding of the system under for example be a requirements specifi- dependencies. ability view”, the “Relationship Matrix”, and “Insert Related porting and presenting data. Enterprise development, for exploring solution cation, consistent design diagrams, Architect has a customizable report concepts in team, and for documenting interface specifications, test manage- MODEL SETUP RECOMMENDATIONS generator for MS Word and PDF, .html system architecture at multiple levels of ment, or a full architecture description. SysML models should be structured on generator and an .XMI import/export decomposition. Secondly, a suitable model structure a per project basis in order to meet pro- The visual notation of SysML function in addition to version control and workflow must be established. This ject specific requirement. However, the gives the model user a quicker integration. Also, relationships in pack- MODELING TOOLS is arguably the most critical challenge of experience of the authors is that follow- ages can be presented using the rela- There are some SysML capable tools to working with SysML models. Knowledge ing some general rules when setting up understanding of requirements tionship matrix, and any diagram can be choose from, both with commercial and of Systems Engineering best practices the model results in it being more read- presented on list format. This makes it open source licenses. Googling “SysML and experience with SysML or UML and able and maintainable. and architecture possible to generate different but con-

16 | Interrupt Inside Interrupt Inside |17 sistent reports and visualizations. Example SysMod Products SYSMOD - THE SYSTEMS MODELING TOOLBOX System Objectives - The high level objectives of the System under development SysML provides a language with nota- tion and semantics, but do not advise Stakeholders - Anyone or anything that has and interest in or interacts with the system during its lifecycle on the process of system modeling. SysMod is a framework for modeling the Base Architecture - Design decisions made before the project started system from stakeholder requirements to a product architecture. SysMod uses Requirements - Stakeholder and System Requirements and Constraints. A SHORTCUT examples with SysML and Enterprise Ar- System Context - External systems, operators, environmental effects etc. chitect. This can be a good starting point for determining the scope of the mode- Logical Architecture - The System Architecture, reusable between product variants ling effort and model structure. SysMod Product Architecture - Product variant/generation specific architecture TO EMBEDDED describes at a high level what should be modeled and the relationship between packages. See Literature Recommenda- tions for a description of SysMod. SMART MESH NETWORKS

SUMMARY tions that are more consistent and less SysML with supporting tools provides The ability to document relationships time consuming to develop and main- opportunities for reducing the docu- from system objective, through require- tain than document based specifica- mentation effort and increase quality ments and design makes it possible to tions. The visual notation of SysML gives in all stages of development projects. In trace all functionality back to customer the model user a quicker understanding the initial phases of a project, a SysML requirements and business value. This of requirements and architecture, this model can improve communication and is also valuable for testing, as test cov- can make collaboration with stakehold- help validate requirements and design erage can be easily measured. Diagrams ers and within the development team decision. Inconsistency will be easier to showing complex relationships can more efficient. A prerequisite for this is discover by the use of visual models. be auto generated based on custom that some modeling guidelines are fol- searches. lowed in structuring and developing the The project manager can track pro- model. The model structure decided gress using custom searches across At project delivery, customer documen- on initially will impact its usability later complex relationships. For example by tation or internal documents can be on in the project. Consideration of the the number of customer requirements auto generated from the model, using models’ purpose and potential scope that are verified at component level. custom templates. For example design must therefore be given as early as pos- After traceability between requirements, descriptions, interface descriptions and sible. This article gives some recommen- design and test has been established, test reports. Consistency is ensured dations for structuring system models. use-cases or user stories can be prior- when all reports are generated from To get a clearer picture of the opportu- itized for each phase of development the same model. The model can also nities and limitations of SysML models more efficiently. Impact analysis dia- be reused for future generations of the and the Enterprise Architect modeling grams can be generated and used for product to speed up the initial phases of tool, we recommend the literature listed change management. Use case or user- a project. at the end of this article. SYSMOD - The story based development can benefit System Modeling toolbox gives an over- from giving the developer auto generat- If a model is structured in a manner that view of the modeling process, and can ed views of requirements and architec- facilitates its purpose, the results can be be great input for deciding on the mod- ture. This provides relevant information requirements and architecture descrip- eling scope and structure. for the specific use case or user story.

Literature Recommendations References In the emerging world of Internet-of-Things, wireless low-power mesh networks are more relevant than ever. Data Respons has gained valuable experience with one particular A Practical Guide to SysML INCOSE - International Council on technology after employing it in a large industrial instrumentation project, namely Linear Description: The SysML Language Systems Engineering Technology’s SmartMesh IP. As a specialist on embedded solutions, Data Respons re- Author: Friedenthal, Moore, Steiner http://www.incose.org/about cently became an official Linear SmartMesh partner, after developing the QuickStart SYSMOD - The Systems Modeling Toolbox UML - Unified Modeling Language Library: A software library that greatly reduce development time for embedded applica- Description: A Systems Engineering process based on http://www.uml.org/what-is-uml.htm tions of SmartMesh IP. best practices, that uses SysML. Author: Tim Weilkiens SysML http://www.omgsysml.org MESH-TO-THE-EDGE power efficient and collision-free packet 50 Enterprise Architect Tricks SmartMesh IP is a wireless technol- exchange. Every device in the mesh net- Description: Useful tips and tricks for modeling in Sparx OMG ogy pioneered by the Linear Technol- work has the same routing capabilities, Enterprise Architect. http://www.omg.org ogy owned company Dust Networks. often referred to as “mesh-to-the-edge”, Author: Peter Doomen A descendant of ultra-low power and as it provides redundant routing to the SysMOD ultra-high reliability protocols such as edge of the network. This allows for a WirelessHART, the SmartMesh IP pro- self-forming and self-healing network EA in 10 days https://leanpub.com/sysmod tocol is based on the 6LoWPAN and that constantly adapts to changes in to- Description: Introduction to Sparx Enterprise Architect. 802.15.4e standards. It features a time pology, while maintaining an extremely Author: Peter Doomen slotted, channel hopping mesh network high data reliability, even in harsh radio BY: Jon-Håkon Bøe Røli where every node knows exactly when frequency environments. Development Engineer to listen, talk or sleep, resulting in a very Data Respons

18 | Interrupt Inside Interrupt Inside |19 RESEARCH

MOTES AND MANAGER MASTER AND SLAVE A SmartMesh IP network consists of one or several wireless nodes, known as motes, The typical use for a mesh network is to which collect and relay data, and a network manager. The manager has two funda- publish sensor data from each node to mental functions: Firstly, it is an access point (AP) that acts as a gateway between the a centralized application for processing, mesh network and the monitoring or control network. Secondly, it runs the network storage and/or visualization. As illustrat- application software that continuously makes decisions on how to build and maintain ed in Figure 3, a SmartMesh IP mote can the mesh network. operate in two different modes. Run- ning in a master mode, the on-board ARM Cortex-M3 processor can access sensors and other I/O directly, where it runs an application that terminates commands and controls network join- ing. An On-Chip Software Development Kit (SDK) allows a user to write applica- tions directly on the mote, on top of the SmartMesh IP network protocol stack. Alternatively, the mote can run as a slave to a connected device, expecting the master device to terminate commands and control network joining via a serial API. This puts more complexity in the hands of the user, but is often the most viable option in an embedded solution, as a custom MCU adds more flexibility.

C LIBRARY Figure 1: SmartMesh IP network with an Embedded Manager. Since both the SmartMesh mote and embedded manager has a similar serial Figure 4: The QuickStart Library structure. The Embedded Manager is a self-contained solution where both the AP function and API that the typical embedded applica- the network management algorithms runs on a single chip. This setup however, il- tion has to interact with, Linear provides lustrated in Figure 1, is limited for smaller networks, as the single AP has a hardware a complete implementation of both in constraint of 100 motes and a throughput of 36.4 packets per second. The customer the SmartMesh C Library. This library ple, the steps necessary to configure the PLATFORM INDEPENDENT up and running with the sample code software communicates with the manager directly through a serial Application Pro- abstracts commands into simple func- gramming Interface (API). mote, set up sockets, initialize a search Designed to be highly portable, the QSL provided for the supported platforms. It tion calls, handling serial formatting for and join a network, as well as request (and the underlying C Library) is written also includes guidance on existing tools and framing for the high-level data link a certain bandwidth, are all hidden in a in C without any hardware-specific code, that can visualize data arriving on the control (HDLC) protocol used in all serial simple call to connect. Downstream allowing its use “as-is” in any C-based manager-side, as well as transmit data communication with SmartMesh devic- user payloads are also handled by platform. Platform dependent functions downstream to motes. This allows a de- es. The library also makes sure to match storing them in a circular inbox buffer only have their prototypes implemented, veloper to integrate a prototype mesh sent commands with ensuing replies, with a configurable size, where calls to leaving their definition to the user. For network with their embedded system passing them back through a callback read will pop the oldest message in the instance, a developer has to define how within only a few hours. function. Notifications received from the inbox, if any. Send queues a payload for to feed the watchdog (if any) or how indi- SmartMesh device are also parsed and transmission to the manager, while is vidual bytes are written to or read from As the name entails, the QSL is primar- correctly acknowledged, before they too Connected is a simple way to check if the serial port. Figure 4 illustrates the ily meant to help developers get started are passed back “up” through a callback the mote is still connected (this way the library structure, where the hardware- with embedding SmartMesh IP in their function. Still, implementing the API itself is not necessarily the hardest part. On the manager-side there is little to no Figure 2: SmartMesh IP network with a Virtual Manager. required intervention, as it will autono- The steps necessary to configure the mote, set up sockets, mously start creating a network upon A second, new alternative is the Virtual Manager, where the network application runs power-up – The connected customer initialize a search for and join a network, as well as request a on an x86 virtual machine, while only the AP functionality remains on-chip. The AP, software simply need subscribe to the certain bandwidth, are all hidden in a simple call to connect. together with a bridge SW on a locally connected MCU or PC, then constitutes an AP desired notifications, while commands gateway that connects remotely to the virtual manager. This connection can be serial, and interactions are stateless, and thus Ethernet, WiFi or even cellular, as long as it can support the maximum throughput of reasonably straightforward. By contrast, 40 packets per second from the AP. In this setup, illustrated in Figure 2, the customer on the mote-side a software designer application interacts with the virtual manager through an HTTP-based API. Adding has to be aware of mote states and user application can determine if a failed specific categories that need definitions applications. The library is not an ex- multiple APs can scale the network to support thousands of motes, as well as increase corresponding behavior, as well as the send is the result of not being connect- are listed to the left (watchdog and lock haustive API for the SmartMesh IP mote, the available throughput, reduce latency or achieve redundancy. correct sequence of configurations and ed or an actual transmission failure). for concurrency is optional). although its interface is adequate for commands to join a network. Linear Lastly, init should be called once upon most simple applications, as it provides found that this knowledge barrier some- startup, and will simply initialize the data To further help developers get started, functionality for data transmission and times prevented potential customers structures and establish the serial con- complete sample code is provided for a configuration of the most important net- from embedding SmartMesh IP in their nection to the mote. Except for read, set of commonly used platforms: Rasp- work settings. Furthermore, by extend- applications, which is why the need for a which returns the number of bytes read, berry Pi, Atmel SAM C21 and STM32, as ing its functionality or simply by using simpler starting point emerged. the API only returns simple Booleans well as a generic example for the ARM it as a thorough how-to, the QSL can to let the user application know if an mbed operating system. Sample code reduce development time for advanced Figure 3: QUICKSTART LIBRARY Master or Slave - The two modes attempt was successful, avoiding the for these platforms also include imple- applications that require more features of a SmartMesh IP mote. The QuickStart Library (QSL) developed need to interpret any response codes. mentations of the necessary prototypes. from the underlying mote interface. by Data Respons abstracts the mote Furthermore, send and connect has a interface one step further: A finite state configurable timeout such that the user RAPID MESH NETWORK PROTOTYPING machine (FSM) schedules the necessary Note: application can be sure that their call QSL is accompanied by a detailed guide, On March 10th, 2017 Linear Technology Corporation sequence of commands depending on will return within a set limit. While send with step-by-step instructions on how to officially became part of Analog Devices. Inc. the current state, events and replies only makes one attempt at queueing a get started with the typical case of data from the mote, leaving only a minimal packet, connect keeps trying to join a publishing from an external MCU. The and intuitive API for the user. For exam- network until successful or the config- guide also explains how to get a demo ured timeout occurs.

20 | Interrupt Inside Interrupt Inside |21 MACHINE LEARNING

Machine learning using neural networks is a field that has seen rapid development the recent years. While the basic theory of artificial neu- rons linked together in Artificial Neural Net- works (ANN’s) was developed in the fourties, the hardware for efficient implementation of relatively large ANN’s has only recently become commoditized. In the wake of these advances, frameworks for building and training ANN’s have been developed - many with open source licenses. Unlike in traditional computing, neural networks can be designed and trained to identify complex patterns without specifying the pattern- features in an algorithmic manner with if’s and else’s. Image Classification is one of the fields where neural networks can be put to use.

BY: Fredrik Bakke Senior Development Engineer Data Respons

Co-author: Lars Albert Fleischer Senior Development Engineer Data Respons

In 2016 Data Respons was asked to col- the theory and available tools for build- Image laborate with the University College of ing and training image classifiers based South-east (HSN) in a research on neural networks, with root in experi- project with the long term goal of ap- ences from the AMD diagnosis project. plying machine learning and image clas- sification to diagnose the eye disease CONVOLUTIONAL NEURAL Age-related Macular Degeneration NETWORKS (CNN’S) Co-author: Svein Tore Ekre (AMD). The project has financial sup- The concept of artificial neural networks Senior Development Engineer port from Oslofjordfondet, a fund that is inspired by nature. Biological neural Data Respons classification promotes innovation and R&D in the networks consists of cells called neurons region around Oslofjorden. The picture that are connected with synapses. Over (at location) shows the backside of the the synapses, the neurons fire electri- eye interior (fundus). The marked area cal signals. Similarly, Aritificial Neural using artificial neural networks shows a drusen, which is a buildup of Networks consists of nodes transmit- fatty protein. The shape of the drusen ting values to the input of other nodes. shows it consists of more than one Two of the factors that separates bio- smaller drusen, and can therefore be a logical and artificial neural networks is Co-author: Eimund Strøm sign of AMD. This is the feature the ANN- scale and complexity. An average adult Specialist Development Engineer based classifier needs to detect. This human brain has 100 billions neurons Data Respons article aims to give an introduction to each with 7000 connections to other

22 | Interrupt Inside Interrupt Inside |23 MACHINE LEARNING

(overfitting). neurons. This is currently outside the of features by 75%. The main reason Input Feature maps capabilities of modern hardware. for the pooling layer is to prevent over- Training a neural network from scratch fitting, which is when the network de- is computational intensive in itself, and f. maps f. maps f. maps The image below shows an example scribes random noise instead of the more so because it can be necessary to of a single artificial neuron (node) with general trend in the data. An overview experiment with different network de- input and output connections. Each of the layers is shown in the figure at the signs. A number of user friendly wrap- input connection has a weight constant next page. pers for CNN frameworks and imple- that is used to define the importance of mentations of pre-defined models can the connection. The inputs of the neural The fully-connected layer perform the be found online. For example at https:// node are multiplied with the weights, high level reasoning in the CNN in order github.com/tensorflow/models. summed and then passed through an to output the final scoring. activation function. The output from the DIABETIC RETINOPATHY DETECTION activation function is usually between 0 Designing a CNN involves a number of In 2015 there was a competition to de- and 1. parameters whose effect on accuracy is velop an automated method of detect- not necessarily intuitive. Trial and error ing a type damage to the eye caused by Convolutions Subsampling Convolutions Subsampling Fully connected is therefore a large part of creating a diabetes known as diabetic retinopathy. CNN, and this make the training process The competitors would use color fundus time-consuming. The design often start photography as input and use image with pre-processing of the images, to classification, pattern recognition, and reduce noise and bring out the features machine learning to “push an automat- belonging to the classes of interest. ed detection system to the limit of what is possible” – ideally resulting in models The next step is to design the network. with realistic clinical potential. out. Tensorflow is Google’s framework The model can then be trained and used ing, and is supported on both AMD and Decisions that impact the accuracy of for building neural networks that was without the speed-penalties of using Nvidia GPU’s. If considering buying hard- A network architecture commonly used the network include how the image is di- The contestants had over 35,000 retina- released as open source in 2015. Sev- a scripting language. Of Theano and ware for training convolutional networks, in image classification is the Convolu- vided among nodes, and the pixel group images available for training, and there eral tutorials for designing and train- Tensorflow, Tensorflow has the most the choice in hardware depends on the tional Neural Network (CNN). CNN’s are size and overlap best suited to detect were in total 5 severity classes. The ing CNN’s using Tensorflow are avail- feature-rich toolset for visualizing the CNN framework that will run on it. From feed forward networks that are inspired the required features. The final step is distribution of classes was fairly imbal- able online, and also more user friendly network models. the CNN frameworks described above, by the visual cortex. A CNN consist of a the amount and type of layers and con- anced and most of the images had no wrappers like TF-Slim. Theano is another Tensorflow supports CUDA and Theano few distinct types of layers, convolution- nections. Generally, more layers enables indications of the disease. A few percent open source numerical computation li- HARDWARE supports both CUDA and OpenCL. al layers, pooling layers and fully-con- classification based on more complex had the two most severe ratings. brary, that is primarily developed by a Training a CNN for good accuracy may nected layers. In a feed forward network, patterns. machine learning group at the Univerité require thousand of iterations on data SUMMARY the nodes are divided into hierarchical Min-Pooling - The winner of the competi- de Montréal. Other Popular Frameworks sets containing tens of thousands of The tools for building image classifi- layers where each node only transmit to In order to achieve a good accuracy, tion, used a convolutional network run- include Caffe, Torch and Deeplearning- images. There are ways to optimize the ers using neural network has become a node at the level above. the CNN has to be trained with a set of ning on an NVIDIA Graphic Processing 4Java. input data for speed, such as reducing readily available the last years, and can images (dataset). The process of training Unit (GPU). Images were pre-processed image resolution, removing color chan- perform better than humans in some The image below shows an example of the CNN can be described in a simplified using Python and Open Source Com- Theano is widely used for deep learn- nels and pooling. Even with these meas- circumstances. Already in 2015 both the convolutional layer in a CNN. Start- manner with the following steps: puter Vision (OpenCV). Preprocessing ing research in academia. Raw Theano ures, the architecture of normal Central Microsoft and google’s image classifiers ing with a 2x2 pixel group from an • Run the CNN with with the dataset included scaling to achieve uniform can be somewhat non-intuitive to use, Processing Units (CPU’s) are not very beat the human score in the ImageNet image, the pixel group is multiplied with • Modify the weights sizes, subtracting color information, and and for this reason several wrappers well suited for training neural networks. challenge (http://image-net.org). Soft- a 2x2 filter weight, summed and then • Evaluate the accuracy cropping the image. In addition - images for working with ANN’s have been devel- Normal CPU’s process data using only ware frameworks and learning mate- passed through an activation function. were scaled and rotated to achieve a oped, including the open source librar- a small number of cores, but training rial for building neural networks are The output from the activation func- For each iteration on the training data larger training data set. The Network ies Keras, Lasagne, and Blocks. Some of models is a task suited for more mas- available online and for free, but can tion is called a feature. The weights are the weights gets more correct and the consisted of 12 Layers, each with be- the creators of Theano later went on to sive parallellization. Modern High-end be challenging to navigate. For initial then shifted and applied to another four models ability to accurately classify a tween 5 and 356 connections. create Tensorflow at google and the two GPU-s can have thousands of cores, and experimentation and benchmarking - it pixels to calculate another feature. Fea- picture better. The size and content of libraries have some similarities. several cards can be incorporated into can be smart to train prebuilt models. A tures calculated for all the pixels in the the dataset used to train the model will The achieved score of the neural net- a training rig. For this reason, many ma- number of models and wrappers can be input image then generate a feature also impacts it accuracy. Typically, the works was measured as a quadratic Theano and Tensorflow both let the chine learning frameworks have support found for the popular frameworks map. More weights can be used to gen- available dataset is divided into three weighted Kappa score, and the winner user define computational graphs in the for GPU computing. Theano And Tensorflow. erate more feature maps. subsets; training, validation and test. achieved a score of 0.85. Research Python language, which is a powerful,

The tools for building image classifiers using neural network has become readily available the last years, and can perform better than humans in some circumstances.

high level scripting language. The com- There are two common low-level inter- putational graphs consists of nodes that faces that a CNN framework can lever- can be functions, variables or constants, age for offloading computing tasks to The pooling layer of a CNN do a subsam- The training dataset contains the images measuring how well an ophthalmolo- and enables the definition of computa- a GPU. All modern Nvidia GPU’s imple- pling to reduce the amount of features used for training, the validation dataset gist can detect diabetic retinopathy find tions involving multidimensional arrays. ments the Compute Unified Device Ar- and the computational complexity of is used to evaluate the model accuracy values ranging from 0.72 to 0.838 kappa. Convolutional neural network models chitecture (CUDA) platform and API for the network. The most commonly used during training, and the test dataset is map very well to computational graphs. parallell computing. AMD was an early pooling layer is the maxpool layer, which used at the end to verify that the model CNN FRAMEWORKS After a network model has been defined adopter of the Open Computing Lan- pick the largest element from a group has generalized a pattern as opposed to During the AMD diagnosis research per- as a computational graph, the frame- guage (OpenCL). OpenCL is an open of features. Typically this group is a 2x2 having memorized the training images formed by Data Respons and HSN, two work compiles it to executable code. platform for heterogeneous comput- window and thereby reduce the amount popular CNN frameworks were tried

24 | Interrupt Inside Interrupt Inside |25 Norway , Høvik, , Stavanger, Bergen.

Sweden Stockholm, INSIDE WRITERS Gothenburg, Linköping

HALDOR FREDRIK HUSBY BAKKE Principal Development Engineer Senior Development Engineer Data Respons Data Respons

MASc Electrical Engineering, University of Toronto MSc degree in Systems Engineering, Siv.Ing. Electronics, Norwegian University of Science and Technology Buskerud and Vestfold University College

Denmark Copenhagen, Århus SVEIN TORE JON-HÅKON EKRE BØE RØLI Senior Development Engineer Development Engineer Data Respons Data Respons

MSc degree in Systems Engineering, MSc in Engineering Cybernetics, Germany Buskerud University College Norwegian University of Science and Technology Berlin, Munich, Stuttgart, Erlangen, Karlsruhe

THIMO CHRISTINE KOENIG MITTERBAUER Senior Software Developer Senior Software Engineer, Project Lead Data Respons, GmbH Data Respons, GmbH

M.Sc. Business Process Engineering, Dipl.Ing. Technische Informatik, DHBW Stuttgart FHDW - University of applied science

Taiwan Taipei EIMUND LARS ALBERT Main offices STRØM FLEISCHER Group HQ Specialist Development Engineer Senior Development Engineer Data Respons ASA Data Respons Data Respons Sandviksveien 26 NO-1363 Høvik, Norway Tel.: +47 67 11 20 00 [email protected] Bachelor of Science, Computer Science Cand. Scient, University of Oslo. Germany Buskerud University College Data Respons GmbH Amalienbadstr. 41, Bau 53 DE-76227 Karlsruhe Tel.: +49 721 480 887 10 Our values [email protected] Sylog AB Sweden Norway Jan Stenbecks Torg 17, III Being Generous PUBLISHER: EDITOR-IN-CHIEF: EDITOR: TECHNICAL EDITOR: Data Respons AB Data Respons Norge AS SE-164 40 Kista Data Respons ASA, Kenneth Ragnvaldsen Elisabeth Andenæs, Ivar A. Melhuus Sehm Jan Stenbecks Torg 17, III Sandviksveien 26 Tel.: +46 (0)8 750 49 00 Responsibility Sandviksveien 26, 1363 Høvik CEO, Data Respons Corporate Communications & Brand Director R&D Services, Data Respons SE-164 40 Kista NO-1363 Høvik Tel.: +46 8 501 688 00 Tel.: +47 67 11 20 00 TechPeople A/S To Perform Tel: +47 66 11 20 00 Manager, Data Respons [email protected] [email protected] [email protected] Smedeholm 10 [email protected] Tel: +47 92 20 30 03 DK-2730 Herlev Taiwan Having fun Email: [email protected] Tel.: +45 88 32 75 00 Data Respons A/S Data Respons ASIA Smedeholm 10 18F-6 NO. 738, MicroDoc Computersysteme GmbH DK-2730 Herlev Chung-Cheng Road, Elektrastrasse 6A Tel.: +45 88 32 75 00 Chung-Ho, New Taipei D-81925 Munich, Germany [email protected] Tel.: +886 2 8226 2150 26 | Interrupt Inside Tel: +49-89-551969-0 Interrupt Inside |27 Digitalisation of the industries of tomorrow

We can develop everything from sensor level to the mobile app, making us a good partner for our customers with their digital transition.