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

Paradigmenwechsel: Wann lohnt der Technologieumstieg – und wie hilft MBSE dabei?

Paradigmenwechsel: Wann lohnt der Technologieumstieg – und wie hilft MBSE dabei?

Mit dem Flugzeug zum Nachbarn, mit dem Fahrrad nach New York: Das hört sich idiotisch an, aber nur weil wir beide Vorgehen sehr gut kennen und Aufwand und Nutzen genau abschätzen können. Anders sähe es aus, wenn wir uns für den Einsatz einer Fortbewegungsmethode entscheiden sollten, die einem Paradigmenwechsel entspricht, mit dem wir keinerlei Erfahrung haben. Und damit sind wir beim eigentlichen Dilemma angelangt. lesen

Model Based Systems Engineering: So führen Sie MBSE erfolgreich ein

Model Based Systems Engineering: So führen Sie MBSE erfolgreich ein

Wenn es um die Einführung modellbasierten Systemdesigns geht, scheinen Unternehmen manchmal etwas blauäugig vorzugehen: Tool kaufen, Mitarbeiter schulen, fertig. So einfach ist die Sache nicht. Wer nicht bedacht an MBSE herangeht, beraubt die Systemmodellierung um einige ihrer stärksten Eigenschaften lesen

Funktionsorientierte Entwicklung mit Rapid Control Prototyping

Funktionsorientierte Entwicklung mit Rapid Control Prototyping

Durch den Einsatz einer Rapid Control Prototyping (RCP) Umgebung ist das funktionsorientierte Entwickeln und Testen an realer Hardware zu einem frühen Zeitpunkt in der Entwicklungsphase möglich. Mit der RCP lassen sich direkt angeschlossene Antriebe auf Modellebene betreiben. lesen

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

Karriere

Lauterbach GmbH

Ingenieur für das Technische Marketing

Wir sind ein mittelständisches Unternehmen mit mehr als 40 Jahren Erfahrung im Bereich von Testsystemen. ...

Firmen stellen vor:

Parasoft® Deutschland GmbH

C++ Test ™

Statische C/C++-Analyse, Code-Prüfung, Modultests, Laufzeit-Fehlererkennung Parasoft® C++Test™: ...

Lauterbach GmbH

PowerTrace Serial

PowerTrace Serial als universelles Trace-Modul ist für ein Trace-Protokoll (z. B. ...

Downloads:

Parasoft® Deutschland GmbH

Parasoft – Quality@Speed with DevOps

Today's DevTest teams are under pressure to deliver more - and more innovative - software faster than ever before. ...

MicroConsult Microelectronics Consulting & Training GmbH

Die drei Gesichter der Sicherheit von Software-Systemen (Teil 3): Zukunftssicherheit

Teil 3 behandelt den etwas schwieriger zu definierenden Begriff der Zukunftssicherheit, ...

Mixed Mode GmbH

Expert Sessions 2017

Unsere Expert Sessions finden als kostenlose Halbtagesseminare mehrmals pro Jahr in unseren Schulungsräumen in München statt.