Ein Angebot von

Software-Architektur für Embedded Systeme

Software-Architektur bezeichnet den Prozess, bei dem Merkmale wie Flexibilität, Skalierbarkeit, Wiederverwendbarkeit und Sicherheit von Software-Code in eine strukturierte Form gebracht werden, die den technischen Erwartungen gerecht wird. Der Entwickler muss sich von Beginn an die Frage stellen, welche qualitativen Eigenschaften eine Software besitzt bzw besitzten muss, die sich entsprechend auf das Design ihrer entsprechenden Architektur auswirken. Dazu gehören unter anderem Eigenschaften wie Verlässlichkeit (reliability), Skalierbarkeit oder Robustheit. Hier finden Sie eine umfangreiche Liste an qualitativen Softwareeigenschaften.

Fachbeiträge

Modellbasiertes Vorgehen bei Echtzeitanforderungen

Modellbasiertes Vorgehen bei Echtzeitanforderungen

Beim Embedded Software Engineering gehören Zeitanforderungen zu den wichtigsten nicht-funktionalen Anforderungen. Deshalb gibt es spezialisierte Werkzeuge, die das Zeitverhalten eines realisierten Embedded Software Systems analysieren und validieren können. lesen

Modellbasiert zum Seriencode: radCASE und QP/QM-Framework im Vergleich

Modellbasiert zum Seriencode: radCASE und QP/QM-Framework im Vergleich

radCASE und das QP/QM-Framework sind zwei Werkzeuge für modellbasiertes Software-Engineering (MBSE), die oberflächlich viele Gemeinsamkeiten haben, die sich aber durch ihre Eigenheiten und Features signifikant unterscheiden. Was ist der grundlegende Unterschied zwischen den Tools – und wann sollte man was bevorzugen? lesen

Praxiserprobte Anforderungsmodellierung

Praxiserprobte Anforderungsmodellierung

Anforderungsmodellierung ist eine Technik, die in vielen Unternehmen nicht oder nur ansatzweise praktiziert wird. Dabei kann sie vergleichsweise einfach und iterativ eingeführt werden. Im Folgenden werden einige gängige Konzepte und konkrete Taktiken präsentiert, die bereits mit wenig Aufwand Ergebnisse bringen. lesen

Modellierung reaktiver Systeme mit der UML-Erweiterung CIRO

Modellierung reaktiver Systeme mit der UML-Erweiterung CIRO

Modellgetriebene Software-Entwicklung ist ein Ansatz mit enormem, nur teilweise ausgeschöpftem Potential. UML (Unified Modelling Language) sieht die Möglichkeit vor, die Sprache durch eigene Abstraktionen zu erweitern. Nachfolgend wird CIRO (Communicating Interacting Reactive Objects), eine auf diesem Mechanismus basierende Erweiterung vorgestellt. lesen

(R)Evolution der Automotive-Software-Architekturen

(R)Evolution der Automotive-Software-Architekturen

Mit dem Einzug von prozessorbasierten Plattformen im Fahrzeug findet eine Leistungsexplosion hinsichtlich Speicher, Rechenleistung und Konnektivität statt. Dies lässt aber auch die Software-Komplexität gewaltig ansteigen. Um dem Herr zu werden, müssen sich Entwickler stark auf spezielle Automotive-Software-Architekturen fokussieren. lesen

Abhängigkeiten selbst gestalten: Mit Dependency Injection zu flexiblem Software-Design

Abhängigkeiten selbst gestalten: Mit Dependency Injection zu flexiblem Software-Design

Um ein funktionierendes und modulares Softwaresystem zu erhalten, sind Abhängigkeiten im Softwaredesign leider bis zu einem gewissen Grad unvermeidlich. Daher sollten sie vom Entwickler von vorneherein gezielt angelegt werden, so dass sie möglichst wenig stören. Das Entwurfsmuster Dependency Injection (DI) hilft hierbei. lesen

Robuste Architekturen: Health Check für die Entwicklung von Echtzeitsystemen

Robuste Architekturen: Health Check für die Entwicklung von Echtzeitsystemen

Viele Software-Projekte für eingebettete Systeme haben Probleme bzgl. Budget- oder Terminüberschreitungen. Basierend auf vielen Entwicklungsprojekten wurde ein kompakter Fragenkatalog (Real-Time Health Check) entwickelt, der Schwachpunkte im Entwurfsprozess aufdeckt. lesen

Embedded-Software-Design: Anforderungen entwickeln und Architekturen verfeinern

Embedded-Software-Design: Anforderungen entwickeln und Architekturen verfeinern

Worauf kommt es bei gutem Software-Design an? Wer im Vorfeld durchdachte Anforderungen entwickelt und die Architektur konsequent mit Software-Design verfeinert, sichert Software- und Produktqualität – nicht nur für die Gegenwart, sondern auch für die Zukunft. lesen

Grundlagen des Modellbasierten System-Engineering (MBSE)

Grundlagen des Modellbasierten System-Engineering (MBSE)

Software und Systeme werden zunehmend schwieriger versteh- und beherrschbar. Infolgedessen wenden sich immer mehr Entwickler modellbasiertem System-Engineering (MBSE) zu. Was gibt es dabei zu beachten? lesen

Microservices – Neue Geheimwaffe oder SOA-Remake?

Microservices – Neue Geheimwaffe oder SOA-Remake?

Microservices – der Programmieransatz wird als Geheimwaffe gehandelt, die Software schneller und flexibler macht. Kleine Codeblöcke – Microservices – statt komplexer Anwendungssilos klingt gut. Doch wie? Und … hatten wir das nicht schon mal? lesen

Ports and Adapters – Eine Software-Architektur für moderne Applikationen

Ports and Adapters – Eine Software-Architektur für moderne Applikationen

Klassische Software-Architektur ähnelt oft einem Schichtensalat. Doch das, was Sie auf eine Party mitbringen würden, eignet sich nicht als Basis für moderne Anwendungen. Die bessere Alternative: Ports and Adapters lesen

Software-Design für gute Codequalität

Software-Design für gute Codequalität

Guter Code ist Code, der offensichtlich korrekt ist. Offensichtlich korrekter Code ist einfach lesbar, einfach zu warten und einfach überprüfbar. Wie erstellt man also guten Code? lesen

Lesbarkeit von Quellcode erhöhen

Lesbarkeit von Quellcode erhöhen

Nach der strukturierten Analyse eines Software-Auftrags geht es an die strukturierte Programmierung. Dabei handelt es sich nicht um das gleichnamige Programmier-Paradigma, sondern um die Struktur des Quelltextes an sich. Das kann in jeder Programmiersprache umgesetzt werden und bietet einige Vorteile. lesen

Queuing – Warteschlangentheorie für Embedded-Software

Queuing – Warteschlangentheorie für Embedded-Software

Entwickler von Embedded-Systemen müssen beim Systementwurf oft die maximale Anzahl an Messages ermitteln, die in einer Message Queue auflaufen können. Viele RTOS benötigen diese Information, um eine Queue zu erzeugen. Besonders wenn es um „harte“ Echtzeitsysteme geht, gilt es, sich auch mit Queuing-Verzögerungen auseinanderzusetzen, lesen

Systemarchitekturen für sicherheitskritische Systeme

Systemarchitekturen für sicherheitskritische Systeme

Vernünftige Systemarchitekturen für sicherheitskritische Systeme (Safety Critical Systems) sind unbezahlbar - dienen sie doch dazu, Menschenleben zu schützen. Eine Risikoeinschätzung und ein vernünftiges Grunddesign sind hier essentiell, denn auch alltägliche Systeme können sicherheitskritisch sein. lesen

Dynamische Softwarearchitektur für eingebettete Systeme

Systembeschreibung

Dynamische Softwarearchitektur für eingebettete Systeme

Mit der UML und den Erweiterungen SysML und MARTE lässt sich die statische Architektur einer Software grundsätzlich gut beschreiben. Ein Problem stellt aber die Dynamik des Systems dar. Insbesondere das Zusammenspiel zwischen der Hardware, dem Speichermodell, dem Betriebssystem und der Anwendungssoftware kann nur unzureichend strukturiert und beschrieben werden. lesen

Architekturprüfung für UML-Modelle

Modellbasiertes Software Engineering

Architekturprüfung für UML-Modelle

Die Versprechungen der UML-Modellierung mit anschließender Codegenerierung sind signifikant höhere Wartbarkeit, Fehlerfreiheit und Flexibilität im Vergleich zur manuellen Codierung. Damit muss man das UML-Modell so behandeln, als ob es die Stelle von Code einnähme, und es vor Software-Erosion und Implementierungsfehlern schützen. lesen

Designing and Maintaining a High-Performance Architecture

Architectural considerations

Designing and Maintaining a High-Performance Architecture

Well designed software architectures enable better reuse of software components and more rapid development of system variants than monolithic designs. lesen

Der dynamikrobuste Softwareentwurf

Designprozesse

Der dynamikrobuste Softwareentwurf

Nahezu alle Entwicklungsorganisationen sind heutzutage einem Umfeld hoher Dynamik ausgesetzt. Ständig ändern sich bereits bestehende Anforderungen, oder es kommen neue hinzu. Das muss eine Software aushalten können – sie muss dynamikrobust sein. lesen

Softwareplattform für drahtlose Konnektivität in Embedded-Geräten

WICED-Plattform

Softwareplattform für drahtlose Konnektivität in Embedded-Geräten

Mit einer einheitlichen Plattform aus Hardware, Software, Anwendungsbeispielen und Werkzeugen lässt sich die Entwicklung für IoT-fähige Produkte erheblich vereinfachen und beschleunigen. lesen

Karriere

Hitex GmbH

Applikationsentwickler (m/w/d) Functional Safety Embedded Systems

Selbstständig kundenspezifische Applikationen mit Schwerpunkt Functional Safety im Bereich Mikrocontroller-basierende Embedded-Systeme entwickeln

Events:

MicroConsult Microelectronics Consulting & Training GmbH

Clean Code für C-Programme

Lernen Sie die wichtigsten Prinzipien, Regeln und Praktiken für die Erstellung von praxisgerechter, ...

Firmen stellen vor:

MicroConsult Microelectronics Consulting & Training GmbH

TriCore™ AUDO FUTURE Familie: Architektur und Peripherie

Sie kennen die Architektur, Basic On-Chip Peripherie und die Besonderheiten der Bausteinfamilie TriCore™. ...

SYSGO AG

ELinOS Embedded Linux

Linux is the preferred option for many embedded systems. Its flexibility, broad range of functionality and costs are compelling reasons to consider Linux. ...

Axivion GmbH

Qualification-Kit

Zur Unterstützung der Klassifizierung und Qualifizierung Ihrer Toolchain bietet Axivion ein Qualification-Kit an. ...

Downloads:

MicroConsult Microelectronics Consulting & Training GmbH

Ressourcen-Management für die Multicore-Mikrocontroller-Auswahl

Die Anforderungen an Mikrocontroller-gesteuerte Systeme steigen von Jahr zu Jahr. ...

Parasoft® Deutschland GmbH

Parasoft SOAtest - API Testing for the Enterprise, IoT, and Embedded

As applications grow increasingly connected, the security, functionality, and performance of an application’s “mashup” is only as strong as its weakest link. ...