Evergreen Python: An introduction to the popular multi-paradigm language
Among the many programming languages popular with developers, one stands out as a chameleon, adapting to a wide range of requirements: Python. Python has long been known as one of the most widely used programming languages. But what makes coding with Python so special? Let's take a look at why it's worthwhile using Python in projects.
Article: The enduringly popular Python: An introduction to the beloved multi-paradigm language
Requirements engineering and management for embedded systems
Embedded systems are an important component of today's technologies and enable a wide variety of applications in diverse fields such as industry, automation, medical technology, automotive, and aerospace. These systems are designed to perform specific functions while adhering to required quality standards and are frequently integrated into larger systems or products. Establishing effective processes for requirements gathering and management is crucial for the success of an embedded system project.
Article: Requirements Engineering and Management for Embedded Systems
C++ Programming: Dynamic or Static Polymorphism?
As the complexity of embedded software increases, fulfilling quality criteria such as modifiability, extensibility, adaptability, and reusability becomes ever more important. A key means of meeting these software quality requirements is the application of polymorphic structures in architecture, design, and implementation. Software development distinguishes between dynamic and static polymorphism.
Article: C++ Programming: Dynamic or Static Polymorphism?
Design for test and design for safety – Tailor-made software architecture
Our everyday lives are now seamlessly integrated with interconnected devices and systems. Whether using a smartphone to find the fastest route, reading the newspaper on a tablet while relaxing on the sofa, or controlling smart heating via a smartphone app, these systems make our lives more comfortable. However, this increased comfort also necessitates stricter security and safety requirements, which the developers of such systems must meet. This is especially true for autonomous driving – where sound safety concepts are of paramount importance.
Article: Design for Test and Design for Safety
Embedded Software Redesign Guide
Sometimes simply extending old code isn't enough: a complete overhaul is needed. This series of articles describes the process of embedded software redesign and explains the concepts of reverse engineering, refactoring, and reengineering.
Article: Embedded Software Redesign Guide
Applying Design Patterns Correctly in Practice
Design patterns are solutions for frequently recurring tasks in object-oriented software design. In this sense, they play a similar role to the multiplication tables, which one learns by heart to avoid having to recalculate the results of frequently occurring arithmetic problems every time.
Article: How to correctly apply design patterns in practice
Programming guidelines – curse or blessing?
Lectures, articles, and books constantly emphasize that code quality is a crucial factor in a project's success. Therefore, there are ongoing attempts to introduce regulations that improve code quality. However, the code delivered by many developers is anything but elegant. One approach to ensuring code quality is the use of programming guidelines.
Article: Programming guidelines – curse or blessing?
Development processes as the basis of modern software development
In professional software engineering, the development and process steps prior to software implementation are essential. Terms like software analysis and software design, or high-level software design and detailed software design from development processes (for example, the V-Model XT or the industry-specific V-Model Automotive), represent precisely this.
Article: Development processes as the basis of modern software development
Requirements engineering and management
Capturing and managing requirements is a key to successful projects. Whether in a traditional or agile process environment, professional requirements engineering and management for embedded and real-time systems shortens your project timelines and saves on development and maintenance costs. Take on this challenge!
Article: Requirements Engineering and Management
Gain a competitive edge through well-designed software usability
The quality of industrial software is a crucial competitive factor for companies. Project success is directly linked to high user-friendliness. Human-computer interaction is based on knowledge of computer science, psychology, ergonomics, and industrial engineering. Developers can access proven processes, tests, and analyses that provide them with valuable insights.
Warning signs of impending software erosion and what you can do about it
Successful embedded software is usually developed over a long period. During this process, relationships may occasionally be introduced into the code that don't belong there. Over time, the software deviates increasingly from the planned architecture – software erosion is well underway.
New momentum for the embedded project with C++11
Many embedded projects still use older (and outdated) environments that don't allow developers to use a new C++ standard. This is a mistake. Not only do programmers miss out on the newly added features, but C++11 also fundamentally improved several aspects.
Article: New momentum for the embedded project with C++11
Control sensors with Linux – Use the latest embedded Linux know-how directly in your projects
Your task is the successful implementation of the Linux operating system in your embedded project. The challenge when using real hardware under real-time conditions lies in understanding the correct use of embedded Linux and selecting the appropriate Linux operating system mechanisms.
Article: Addressing sensors with Linux
More important than ever: Think in systems and architectures
Looking at the present and the future clearly shows that the embedded world and the IT world are intertwined and will become increasingly so. Embedded systems are becoming part of the Internet of Things, which is evolving into the Internet of Everything and will be a breeding ground for many new business ideas. The major challenge lies in thinking in terms of increasingly complex and dynamic systems and combining the ever-accelerating pace of technological and entrepreneurial developments to create new systems and business ideas. Our trainers have given this some thought.
Article: Thinking in systems and architectures
Larger and more universal: All about "Modern C++"
Six years ago, C++11 ushered in a new era for C++. MicroConsult sheds light on modern C++ standards and brings you up to date with C++17 through a specially developed training course.
Tip for STM32 developers: Convert your project from C to C++ with STM32CubeMX and Open System Workbench for STM32
We have compiled this tip for developers who work with the Workbench for STM and want to compile their project with C++.
Article: Convert your project from C to C++ with STM32CubeMX
Here's how to integrate the Surface Dial into your own application
The Surface Dial is a new input device from Microsoft designed to simplify working with graphic and technical applications. It combines the functionality of a rotary dial with that of the Enter key. It was first introduced in the fall of 2016 and is now available in our region.
Article: How to integrate the Surface Dial into your own application
Design Pattern
In the object-oriented development of software architecture, software design, and object-oriented programming (OOP) within a structured software development method, one repeatedly encounters similar tasks and design problems, which can be prevented from requiring repetitive software programming effort through the use of reusable design patterns (proven solution templates).
Technical knowledge: Design patterns
Useful information about the development and programming of embedded software
Embedded software development – expertise
Embedded program development – expertise
Embedded programming – specialist knowledge
