MicroConsult offers services related to the topics that are discussed at ESE Kongress: Training, seminars, and coaching. to.
Benefit from the experience of our embedded software engineering specialists and get in touch with us. We'd be happy to advise you.
MicroConsult training & coaching topics
ESE Congress 2017 Contributions, Part 1 – Topics:
- Architecture & Design
- Automotive
- Real-time
- implementation
- Industry 4.0
- Internet of Things
- Machine Learning
- management
- Modeling
- Contributions to ESE 2017, Part 2
- Homepage ESE Contributions
Lecture series: Architecture & Design
Controlling Software Complexity with Architectural Design
Keeping code and architecture consistent – approaches and benefits
Moritz Neukirchner, Guillaume Cordon, Elektrobit Automotive GmbH, Andreas Gaiser, Axivion GmbH (ESE Congress 2017)
Managing the complexity of a software project becomes increasingly difficult as the project grows and evolves over time. Software architectural design shall control this complexity by defining clear cut interfaces between components and permitted interactions among them. Still, ensuring that the code adheres to the architecture specification is hard, even in the presence of reviews and integration testing. This challenge is even aggravated if multiple software variants must be taken into consideration and when portions of the code are being generated.
Function-oriented development with rapid control prototyping
Design of a development environment for drive controllers
Moritz Olbrich, Dr. Fritz Faulhaber GmbH & Co. KG (ESE Congress 2017)
Implementing and testing newly developed functions (e.g., drive controllers) for drive controllers can be error-prone and time-consuming. Using a Rapid Control Prototyping (RCP) environment aims to make developing new functions more efficient. This environment allows directly connected drives to be operated at the model level. Improved analysis capabilities and prior direct comparison with the drive controller enable early assessments of the extension's functionality.
Lecture series: Automotive
(R)Evolution of Automotive Software Architectures
How new software technologies are changing the automotive industry
Dr.-Ing. Detlef Zerfowski, Niranjan SK, Robert Bosch GmbH Automotive System Integration (ESE Congress 2017)
The entire automotive industry is currently facing dramatic technological changes. These changes result from the introduction of entirely new electrical and electronic architectures (E/E architectures) and, consequently, entirely new software architectures.
Securing test systems
The calibrated hardware-in-the-loop test system
Kristian Trenkel, iSyst Intelligente Systeme GmbH (ESE Congress 2017)
This article addresses the requirements for test systems from a functional safety perspective, using hardware-in-the-loop (HIL) test systems as an example. The ISO 26262 standard is considered. These considerations lead to requirements for the accuracy and reliability of the test systems. Analog inputs and outputs of the test systems are examined as examples. On the one hand, the results of investigations into the calibrability of various test systems, as well as the possibilities of automated calibration, automated adjustment, and automated self-testing, are presented. On the other hand, this article aims to stimulate discussion about further requirements for test systems for testing safety-critical systems.
Parallel design for real-time software
Applicability in the AUTOSAR environment
Ralph Mader, Continental Automotive GmbH (ESE Congress 2017)
Patterns for designing parallel-executable algorithms have not yet been systematically adopted in embedded real-time systems. Continental is currently investigating the applicability of patterns in AUTOSAR-based applications. This presentation will focus on patterns applicable in this field and describe the analysis methodology. Furthermore, the application of a pattern will be demonstrated using a concrete example from the engine control environment. Possible solutions for scheduling support, such as state transitions synchronized across core boundaries or the application of logical execution time, will be presented in this context.
Automatic verification of safety criteria for ASIL D basic software
Ensuring Freedom from Interference in Automotive Applications
Ulrich Kloidt, Altium Europe GmbH, Rudolf Grave, Elektrobit (EB) (ESE Congress 2017)
Integrating safety-relevant applications into AUTOSAR environments presents a challenge, as it almost always requires integrating software with differing safety objectives, combined with the requirement of non-reciprocal impact. To support integrators, this article presents an automated verification process that significantly simplifies software development in safety environments. This approach leads to better utilization of hardware resources, reduced development time, and consequently, lower costs.
Is security slowing down our system?
Evaluation of certificate handling and security in cars
Florian Pramme, Jan-Phillip Foltz, Prof. Dr.-Ing. Gert Bikker, Ostfalia University of Applied Sciences (ESE Congress 2017)
This article presents the research focus "SecuRIn – Security Reference Model Industry 4.0," funded by the Lower Saxony Ministry of Science and Culture. The goal of this interdisciplinary research focus is to develop procedural models that support companies in easily and securely developing Industry 4.0 applications in the future and operating them securely throughout their entire lifecycle. The use case used in this article focuses on the digitalization of vehicles and the associated challenges. Specifically, studies have been conducted to analyze the temporal behavior of current automotive encryption chips within the security lifecycle.
Software design for the AUTOSAR Adaptive Platform
Novel optimization tools for parallel POSIX software
Maximilian Odendahl, Silexica GmbH (ESE Congress 2017)
Developing software for the new AUTOSAR Adaptive Platform will present developers with unprecedented challenges. Compared to existing single-core systems, and even to the existing AUTOSAR Classic Platform, distributing the software across the various processor cores of the target platform will become an increasingly significant challenge. This involves not only considering timing and functional requirements, but ideally also minimizing performance and energy consumption. Even for simpler algorithms and target systems, this results in a multitude of potential solutions, the development and evaluation of which push existing development approaches to their limits. Novel algorithms and tools from the field of software design automation can provide a solution.
Use of virtualization for secure software architectures
Central control units, mixed criticality, testing, multicore
Thomas Bock, Dr. Henning Kleinwechter, Volkswagen; Dr. Ralph Sasse, OpenSynergy; Armin Stingl, iSystem; Dr. Ralf Münzenberger, Philip Rehkop, Olaf Schmidt, INCHRON (ESE Congress 2017)
The large number of electronic control units (ECUs) is prompting the automotive industry to consolidate multiple ECUs into central units. This involves executing many functions previously performed on individual ECUs together on a single CPU. This article describes the challenges and solutions that arise regarding the temporal distribution of CPU computing power across the individual functions. The focus is on interference-free operation for systems that integrate ISO 26262 ASIL-relevant functions with ASIL quality management (QM) functions. The article is based on the results of a joint pre-development project by Volkswagen, OpenSynergy, and INCHRON. This project utilizes a hypervisor as an architectural approach. Real-time behavior and causal chains are modeled, simulated, and refined and verified through measurements. The results enable the formulation of best practices for the use of a hypervisor in domain ECUs.
Lecture series: Real time
Properly distribute software in real-time systems
Avoiding typical errors in concurrent software
Dr. Jochen Härdtlein, Simon Kramer, Peter Häfele, Dr. Dirk Ziegenbein, Robert Bosch GmbH (ESE Congress 2017)
Solving errors arising from concurrent or parallel software execution using traditional methods—such as locks—leads to significant system overhead and severely limits distributability and the effective use of parallel computing power. The constructive approach of Logical Execution Time decouples communication from computations and structures it temporally across the system. This paper analyzes typical error scenarios in concurrent real-time software and summarizes constructive mechanisms for their prevention [6]. It also provides an outlook on tool-supported, correct software distribution.
SysWCET: End-to-end response times for OSEK systems
Time-critical paths throughout the entire system
Christian Dietrich, Leibniz University Hannover, Peter Wägemann, Friedrich-Alexander University Erlangen-Nuremberg (ESE Congress 2017)
To guarantee the timeliness of tasks in real-time systems, determining worst-case response times is essential. The challenge lies in precisely analyzing all activities of the entire system, such as synchronous system calls and asynchronous interrupts, without making overly pessimistic assumptions. To solve this problem, we developed the SysWCET analysis approach, which enables the first integrated formulation of the response time problem. This formulation encompasses the complete computing system, taking into account all tasks, all interrupts, and the schedule.
How to Measure RTOS Performance
And how to read data sheets
Colin Walls, Mentor Graphics (ESE Congress 2017)
Desktop or laptop computers are extremely powerful and amazingly low cost. This means that developers of software for desktop systems assume that there is infinite CPU power, so they worry very little about the speed of their code. They also assume that indefinite amounts of memory are available, so they do not worry about code size either. Embedded systems are different. Typically, there is enough CPU power to do the job, but only just enough - there is no excess. Memory size is limited. It is not normally unreasonably small, but there is unlikely to be any possibility of adding more. Power consumption is usually an issue and the software – its size and efficiency – can have a significant bearing on the number of Watts burned by the embedded device. It is clear that, with an embedded system, it is vital that the RTOS has the smallest possible impact on memory footprint and makes very efficient use of the CPU.
Selection and use of an operating system for microcontrollers
NuttX – a user review on Arm Cortex-M7
Frank Benkert, FRB Computersysteme GmbH (ESE Congress 2017)
Development projects for new embedded products typically begin with the same fundamental question: With or without an operating system? If without, which one? If with, which one? There is, of course, no universally applicable answer to this question. However, a closer look at the requirements of the new product often reveals itself. But what facts truly help in making this decision? How is this information gathered? What questions need to be asked? Who can answer them? The following example from a real-world project will demonstrate how this selection process and subsequent integration can be successfully achieved.
Lecture series: Implementation
C++ Core Guidelines Reloaded
Automatic code repair and critical review of the guidelines
Prof. Peter Sommerlad, HSR Rapperswil (ESE Congress 2017)
The C++ Core Guidelines are an effort led by Bjarne Stroustrup. They intend to show how to use modern C++ effectively. "Following the rules will lead to code that is statically type-safe, has no resource leaks, and catches many more programming logic errors than is common in code today. And it will run fast — you can afford to do things right." In addition to the adaptable core guidelines, there also exists an open source support library providing features for code transition and support that might not be yet in your C++ standard library, or even standardized.
Should I Use C++14 in My Next Embedded Design?
What does C++14 get me in embedded systems?
Bertil Spolander, IAR Systems (ESE Congress 2017)
EETimes and Embedded.com has an annual market survey which, among other things, surveys what programming language the respondents use in their current project and what they are planning to use in their next project. In 2017, C is used by 56% in their current projects and 52% in their next project. The corresponding numbers for C++ is 22% and 24%. No other languages are over 5%.
C++: Fast and small
How much does a voice feature cost?
Andreas Fertig, Philips Medical Systems Böblingen (ESE Congress 2017)
With the C++11 standard and its successors, C++ developers can benefit from exciting new features of the language. Features always come at a cost, either in terms of speed or code size. To effectively use C++ according to the motto "you pay only for what you use," it's crucial for developers to understand the specific costs associated with each feature.
Boost Your State Machines
Create state machines that are easy to read and maintain
Pawel Wiśniewski, Pawel Wiśniewski Consulting (ESE Congress 2017)
State machines are an important part of software. Unfortunately, they are too often implemented manually, for example, using if-else or switch-case constructs. Such constructs are difficult to understand and extend. Additionally, they always look slightly different because they are rewritten from scratch each time. This presentation will demonstrate a solution based on the Boost.SML library. State machines created with this library are not only easier to understand and extend, but they are also often more efficient than handwritten versions.
Graphical object-oriented C programs with Simulink
Simulink scripts generated from header files
Dr. Hartmut Schorrig, vishia (ESE Congress 2017)
This article demonstrates the application of graphical programming in a MATLAB-Simulink environment. It utilizes core modules in so-called S-functions, which are programmed in C. The advantage of this approach is twofold: firstly, low-level layers and operating system interfaces can be directly formulated in C; secondly, the core module calls are reflected in the code generated by Simulink, simplifying code navigation and long-term maintenance. The article aims to introduce developers accustomed to primarily line-oriented programming to the benefits of graphical programming and the ease of integrating existing code.
Lecture series: Industry 4.0
Local user interfaces – available everywhere
A high-performance approach to becoming independent of the end device.
Frank Borchard, XiSys Software GmbH (ESE Congress 2017)
The demands placed on the user interfaces of embedded systems are increasing with the introduction of IoT and Industry 4.0. Existing local user interfaces should be able to be displayed as easily and effortlessly as possible on virtually any conceivable device, from smartphones to laptops. To achieve this, the user interface is typically designed as a web application, thus shifting the visualization of the interface logic to the web browser.
Bonjour PLC, parlez-vous IT?
Merging of Information Technology (IT) and Operational Technology (OT) in Industry 4.0 systems
Dr. René Graf, Siemens AG (ESE Congress 2017)
This article describes the combination of IT and OT for the realization of dynamically configurable manufacturing facilities. The OT world retains its determinism, necessary for controlling physical processes, while overlying IT mechanisms realize the dynamics of the production process.
Industry 4.0 and IoT in production
How can this be achieved? Technologies, methods, and goals.
Robert Schachner, RST Industrie Automation (ESE Congress 2017)
The implementation of production facilities, as described by the Industry 4.0 Reference Architecture Model (RAMI 4.0) or the parallel IoT development with its Industrial Internet Reference Architecture (IIRA), has now become a reality. Companies and operators are ready to digitize their production facilities.
Lecture series: Internet of Things
IoT connectivity with limited resources? No problem!
Experiences with embedded software for small IoT nodes
Andreas Foltinek, IMACS GmbH (ESE Congress 2017)
Remote data communication between technical systems is as old as the systems themselves. With the ever-expanding and accelerating web infrastructure, it's a natural step to utilize it for technical systems, leading to the established terms IoT and IIoT. While implementing IoT capabilities on Linux/Windows and similar systems is now relatively straightforward from a software perspective, Linux and similar systems are unsuitable for many applications for a variety of reasons (component/manufacturing costs, boot process, complexity, stability, energy consumption), especially when higher production volumes and thus increased efficiency are required. Implementing IoT on smaller embedded targets, however, presents a greater software challenge. The following practical report demonstrates that even with the resources of smaller 32-bit single-chip controllers, typical IoT features such as TCP/IP protocols, web client/server functionality, push mechanisms, and firmware updates via the cloud can be easily implemented – while still meeting current security standards. The following section explains the experiences from several such projects regarding hardware, toolchain, RTOS, stacks, drivers and their special features in integration, commissioning and daily use.
Enhanced security for LPWAN devices
Security basics for developers
Jürgen Messerer, bbv Software Services AG (ESE Congress 2017)
In our digital age, we are surrounded by connectivity. Everyone and everything is exchanging information. A crucial component of this digital network is the Internet of Things (IoT) with its countless applications. However, not every application can be implemented with a single technology. A variety of wireless solutions are available for IoT devices. To select the most suitable technologies, various criteria must be considered, such as range, data rate, security, and licensing model. One technology that meets these criteria while being uncomplicated and versatile is the Low-Power Wide Area Network, or LPWAN. LPWAN offers long battery life with broad coverage and low throughput. But what about security? Are we seeing the same issues as with other IoT devices, where security was implemented only sparsely or not at all? This article will show what needs to be considered to prevent tomorrow's LPWAN devices from being immediately reconfigured as bots by unauthorized individuals.
IoT – A Software Developer's Perspective
„Executable Modeling for Distributable Components“ in Embedded Software Engineering
Ian Macafee, EVOCEAN GmbH (ESE Congress 2017)
The term IoT has become widely used in recent years. Google dictionary defines it as: Internet of things: The interconnection via the Internet of computing devices embedded in everyday objects, enabling them to send and receive data. As a software developer, I produce code that probably receives and sends data. So, what, if anything, do I need to change to satisfy the IoT? Maybe you don't see a need to change. The logic of your code is the valuable part. How it receives and sends the data could be viewed as someone else's problem. At a conceptual level, this is true. You shouldn't have to change the logic of your functions but… perhaps there are ways of making your implementation easier to thingify. Perhaps there are techniques and tools that you are yet to discover?
IoT – Your Way
A pragmatic DSL approach
Christoph Woskowski, Alexander Leupold, Zühlke Engineering GmbH (ESE Congress 2017)
The sheer number of products and solutions in the field of connected devices, or the "Internet of Things," is overwhelming. A wide variety of new—and also familiar—transmission technologies, protocols, standards, and the consortia and interest groups behind them are readily available. Within this vast array of options, it is assumed that a suitable solution can be found for every problem and every use case. However, this often contrasts with the very specific requirements and circumstances of companies that may be seriously engaging with the topic of IoT for the first time—or are forced to do so because their competitors may have already taken this step. Especially when the business case and use cases are still unclear, a cumbersome solution or premature commitment to specific technologies and vendors should be avoided. The approach presented here for developing an enterprise-wide IoT data model fulfills this requirement by being designed for lightweight construction and maximum flexibility.
Lecture series: Machine Learning
Deep Neural Networks in Embedded Applications
How to develop intelligent systems
Andrés Mlinar, Embedded Trend (ESE Congress 2017)
In recent years very deep artificial neural networks (DNNs) have been created that successfully solve many difficult problems. This opens up entire new areas of application. DNNs are a solution when there is a large amount of data showing the expected outcome for a given input. DNNs can be trained using this data to be able to give sensitive answers when presented with new, never seen before, data. These capabilities are also desirable in the embedded field, for example to develop intelligent sensors. However, the large computation capabilities necessary are a limiting factor. A solution is to acquire the data on the embedded device and send it for processing to a cloud service. This has several limitations like connectivity costs, latency and privacy. The lecture describes a method by which deep neural networks can be deployed to embedded devices, using currently available processors, with limited processing power and limited available memory.
Security for Deep Learning
Management of Safety and Security in Programmable SoCs
Dr. James Hunt, Aicas, Dr. Giulio Corradi, Xilinx (ESE Congress 2017)
Machine learning and artificial intelligence are key trends that play a central role in supporting autonomous decision-making. This requires secure, dynamic updates and monitoring of new configurations, as well as a perfectly managed and optimized language platform. This platform provides the necessary security for these systems and enables easy and secure access to and updates of GPU- and FPGA-coded functions.
Perception: The Most Difficult Technical Challenge for Automated Driving
Improving Real-Time Perception with Deep Sensor Fusion
Forrest Iandola, Ben Landen, DeepScale (ESE Congress 2017)
Today's mass-produced driver-assistance systems are typically implemented with a Late Fusion paradigm, which is described as follows: each camera or radar sensor has an onboard processor that runs perception software to generate an object list. Then, the object lists are sent to an Electronic Control Unit (ECU), which performs probabilistic techniques to merge the object lists. This late-fusion approach has a number of limitations in terms of accuracy, portability, and robustness to sensor failure. We propose an earlier stage of fusion, called Deep Sensor Fusion, where sensors transmit raw data over higher bandwidth in-vehicle networking already used in mass production, and this data is processed by a modern ADAS Domain Controller. We show how Deep Neural Networks (DNNs) can ingest raw data from multiple types of sensors and generate improved perception results. Finally, we implement DNNs in real-time using automotive-grade processors to enable all SAE levels of automated driving.
Neural Networks: Current Trends in the Industry
Megha Daga, Cadence Design Systems (ESE Congress 2017)
Machine Learning and Neural Networks have experienced an accelerated growth in recent years, making their ways into various commercial products across many industries. The industries are facing a dynamic set of challenges with the continuous evolution of customer needs. Each of these commercial products need to sense their surroundings, think, reason and take appropriate actions. This is where NN technology complements rather than replaces the existing non-NN computer vision based technology. This talk will delve into trends, hardware and software challenges and a few industry solutions.
Lecture series: Management
Using conflicts as an opportunity
Clarify and resolve conflicts professionally
Peter Siwon, MicroConsult (ESE Congress 2017)
Who likes conflict? But if we take a realistic look at the world, or even just at our relationships with others, we realize that conflict is a part of life. It's a natural phenomenon of human coexistence and stems from the simple fact that people have different—sometimes very different—experiences, sensitivities, and needs. If we look closely, we find that the problem isn't the causes of the conflict, but rather how we deal with conflict situations. In extreme cases, people are either very argumentative or very conflict-averse. Both attitudes hinder finding a solution. Below, I've compiled a few tips to promote solution-oriented conflict resolution skills.
Scaling Agile!
Agile frameworks at the enterprise level
Urs Böhm, Noser Engineering (ESE Congress 2017)
With the turn of the millennium, the Agile Manifesto and, consequently, agile methods like Scrum and Kanban gained traction in software development. Traditional methods such as the Waterfall and V-models are increasingly relegated to the background and niche applications. New, young, and well-trained developers and managers expect agile methods for both projects and line development tasks. Scrum explicitly addresses the team size of 7 plus or minus 2, a size that has proven effective since the time of the Roman legions. Eight legionaries formed a "contubernium" (tent community), working and living together in a spirit of camaraderie. However, for larger software projects, a single team is often too small or cannot represent all the necessary skills. Kanban development groups can grow somewhat larger, but then team dynamics are lost, and they too are somewhat limited. This is where scaling comes into play. What do you do when you're building systems that require dozens, hundreds, or more people, but still want to leverage the advantages of individual teams?
Visualize Invisible Work
Transparency for complex problems and projects
Matthias Künzi, visuellklar (ESE Congress 2017)
Transparency is essential for developing efficient and effective software and system solutions, or for managing demanding projects effectively. It is fundamental that all stakeholders understand the issues at hand, the risks, dependencies, and tasks involved. This presentation demonstrates how visual tools can restore this transparency. Participants will receive practical ideas, methods, and examples for making projects and system developments more visible, tangible, and comprehensible.
From the life of an embedded system
The life cycle from cradle to grave
Alfred Ressenig, RealSkills, Remo Markgraf, MicroConsult (ESE Congress 2017)
Let's take a control unit for a coffee machine and examine the lifecycle of this embedded system from its inception to its retirement. The control unit tells a fascinating story with many surprises. You'll likely recognize some of the episodes from the ESKA01 embedded system's life cycle. Systematic lifecycle management is an effective control tool in critical phases such as the development, integration, and market launch of embedded systems. It provides structure and order, saves you time and money, and prevents dissatisfied customers. This article introduces the lifecycle and lifecycle management of embedded systems and products. It explains the advantages and provides practical tips and best-practice recommendations for implementation.
Effort drivers and cost assessment in modern software engineering
Being able to foresee the "oh shit" mountain early on
Florian Schäffer, Andreas Lachenschmidt, iNTENCE automotive electronics (ESE Congress 2017)
This presentation reveals the pitfalls of modern software engineering when it comes to effort and cost assessment, and the hidden challenges of virtual and distributed projects. In the past, it was possible to simply add up the unit costs of hardware and rely on a transparent manufacturing process where programming was a secondary activity. However, with increasingly extensive, complex, and agilely developed software, more sophisticated methods are required for accurate effort estimation.
Identifying and managing the risks of technical debt
Thomas Aicher, Huan Dong, Birgit Vogel-Heuser, Chair of Automation and Information Systems, TU Munich (ESE Congress 2017)
Often, when resolving a technical problem under time pressure, a decision must be made between a less expensive, but "suboptimal" solution and a more complex, "better" solution. Engineers, technicians, and decision-makers frequently face this dilemma during the development, operation, and commissioning of an embedded system (ES). They must consider the project situation, the remaining timeframe, and costs. Technical debt (TD) refers to the deliberate decision against a better, more sensible solution. Although TD is a well-known and researched phenomenon in traditional software engineering, it has received little attention and is consequently poorly understood in the fields of embedded systems and mechatronics, such as production systems. The resulting financial losses for companies are considerable. Therefore, providing transparent criteria for making informed decisions regarding the acceptance of TD is of particular importance. Based on an extension of the TD classification from software engineering and a cross-domain case study, TD and its effects, as well as the potential for controlling TD, are discussed. To achieve the required transparency, both the short-term and long-term effects are presented and compared for embedded systems.
Privacy is becoming a legally mandated design process.
What can be done to comply with the EU GDPR's technical design requirements?
Dr. Thomas Liedtke, Kugler Maag CIE GmbH (ESE Congress 2017)
The new EU General Data Protection Regulation (GDPR) will come into force on May 25, 2018. Data protection will then be uniformly regulated by law across Europe. Preamble 78, Article 25, and other provisions of the new GDPR explicitly require "data protection by design" and "privacy-friendly default settings." In particular, Data Protection by Design and Data Protection by Default are mandated. The use of data protection measures, such as pseudonymization and anonymization of personal data, will be obligatory. The state of the art in the development and design of technical products must be ensured throughout the entire development lifecycle. This paper provides an overview of various principles and methods in different project development phases. Privacy by Design (PbD), Privacy Principles, and Privacy Enhancing Techniques (PETs) are explained. To ensure data protection, privacy-specific protection goals (predictability, manageability, disassociability) must be met. These protection goals are not necessarily derived from the classic security protection goals. At the end of the paper, standards for conducting privacy risk analyses are presented.
The indispensable foundation for KPIs in embedded software development
Optimization of software projects
Litha Hari, Thomas Hunter, Jason R. Rolles, BlueOptima (ESE Congress 2017)
This work examines key performance indicators (KPIs) that are crucial for optimizing the price-performance ratio in software development, for example:
- accurate time estimate to establish realistic expectations and budgets
- Selecting the most suitable outsourcing suppliers/persons for each project
- Collaboration with suppliers/managers to achieve optimal results
- Making the best decisions during each project, including the ability to proactively change assigned software developers to achieve the best results.
BlueOptima offers unparalleled insight into these aspects: The SaaS analytics platform provides a detailed understanding of the cost-benefit ratio that software developers, teams, and outsourcers deliver, based on objective, justifiable units of intellectual effort. This proven approach, built on objective and consistent metrics, bridges the gaps of other approaches, empowering organizations to make the best decisions and unlock significant cost savings.
Lecture series: Modeling
Often misunderstood: Requirements modeling
Whether agile or V-model – a driver for effectiveness
Dr. Michael Jastram, Formal Mind (ESE Congress 2017)
Requirements modeling is a technique that is either not practiced at all or only partially implemented in many companies, yet it can be introduced relatively easily and iteratively. Given the enormous cost and time pressures in many organizations, this technique represents a significant opportunity to improve development efficiency. Because there are many different approaches, this course will present both the concepts that best suit your specific work and concrete tactics that deliver results with minimal effort.
A model is worth a thousand pictures!
Anticipating the future with models
Andreas Willert, Willert Software Tools (ESE Congress 2017)
This article aims to demonstrate that model-driven engineering is far more than just a graphical representation. It also aims to show that simply creating a graphical representation leads to a dead end. While it increases comprehensibility, this comes at the cost of increased redundancy and, consequently, increased maintenance effort. This, in turn, reduces work efficiency. Only when redundant elements are automatically adjusted by tools, changes to a component are automatically correlated with the overall system, tests are automated, and code is generated—in short, when processes and workflows are automated wherever possible—can model-driven development succeed in the long term.
Model-based to serial code
Two projects, two tools, many insights
Joachim Terasa, coming GmbH (ESE Congress 2017)
Two tools for MBSE, which differ in their characteristics and unique features, nevertheless appear to have a great deal in common at first glance. In practice, some of these similarities prove to be quite relevant. In the cases considered here, the most striking differences are the polled state machines versus the event-driven state machines, which lead to incomparable behavior of the generated embedded system.
Modeling with CIRO
A UML extension for modeling reactive systems
Johannes Scheier, Zurich University of Applied Sciences (ESE Congress 2017)
Model-driven software development is an approach with enormous, only partially exploited potential. The more understandable and readable the models, the greater their benefit. UML (Unified Modeling Language) allows users to extend the language with their own abstractions. CIRO (Communicating Interacting Reactive Objects), an extension based on this mechanism, is introduced below.
