Alle Beiträge von Freddy Vogel

Blended Intelligence – Pimp my Brain!

Kaum eine Diskussion um Wohl und Wehe der Digitalisierung kommt in jüngster Zeit ohne den Begriff der „Künstlichen Intelligenz“ („KI“) aus. Allerlei mögliche Szenarien werden zur Erfassung dieses Phänomens bemüht, von autonom agierenden digitalen „Chatbots“ – wie sie heute schon in sozialen Netzwerken oder als Hardware-gewordene Version in Form von Amazons „Echo“ und dem Sprachassistenten „Google Home“ Wirklichkeit sind – bis hin zur Herrschaft der Maschinen und der vollständigen Vernichtung der Menschheit.

Und was ist wirklich „Künstliche Intelligenz“?

In Wahrheit tun wir uns jedoch schwer, die tatsächliche Tragweite und Bedeutung dieser Entwicklung zu erfassen. Das liegt unter anderem daran, dass es sich bereits als schwierig erweist, ein einheitliches Verständnis von Intelligenz überhaupt zu finden. Auch eine einheitliche Definition von „Künstlicher Intelligenz“ gibt es nicht. Allerdings besteht weitgehend Einigkeit über bestimmte beschreibende Merkmale. Dazu gehören etwa die Fähigkeit, Muster und Logiken zu erkennen (etwa in Texten oder Bildern), Voraussagungen auf dieser Basis abzugeben und über geschriebene oder gesprochene Worte kommunizieren zu können. Als maßgeblich gilt jedoch die Fertigkeit zu lernen, also aus vorausgegangenen Tätigkeiten eigenständig Verbesserungen abzuleiten und autonom Kriterien zur Beurteilung von Sachverhalten aufzustellen.

Vom Automatismus der Chatbots zu „echter“ Intelligenz

Die meisten Chatbots erfüllen zumindest diese letzten Eigenschaften in der Regel nicht. Als klassisches Beispiel wird hingegen oft Googles Alpha Go angeführt, die Künstliche Intelligenz, die es geschafft hat, beim asiatischen Brettspiel „Go“ den Großmeister Lee Sedol zu bezwingen. Nun gab es in der Vergangenheit bereits mit Deep Blue einen Computer, der beim Schach den Weltmeister Gari Kasparow in die Knie zwang. Go unterscheidet sich jedoch wesentlich von Schach; es gilt als hochkompliziert und bislang als kaum für eine Computersimulation programmierbar. Anders als bei Schachsimulationen hat die KI von Google neue Spielzüge selbst gefunden und Zugkombinationen entwickelt, die man bei menschlichen Spielern so zuvor noch nie gesehen hatte. Diese maschinell erbrachte „Geistesleistung“ gilt gemeinhin als Beleg für eine Künstliche Intelligenz.

Künstliche Kreativität

Gerade diesem Feld wird derzeit eine besondere Aufmerksamkeit geschenkt, so dass hier in den nächsten Jahren von erheblichen Entwicklungssprüngen ausgegangen werden kann. Künstliche Intelligenzen werden heute bereits, aufgrund ihrer Fähigkeit, eigenständig logische Zusammenhänge zu erkennen, eingesetzt, um auf dieser Basis Entscheidungen zu treffen – ohne dass es noch eines menschlichen Eingreifens bedürfte. Selbst kreative Leistungen werden durch KI erbracht. Google etwa lässt sein lernendes System „Magenta“ Kunstwerke erstellen, sogar die Komposition von Musik oder auch das eigenständige Verfassen von Prosa wurden bereits erfolgreich erprobt.

Intelligente Robotik und selbststeuernde Drohnen

Die Firma Boston Dynamics stellt Roboter her, die Menschen in verschiedenen Situationen zur Hand gehen. Sie können im Haushalt helfen, räumen die Geschirrspülmaschine ein und schaffen es dabei, ein Glas von einer leeren Bierdose zu unterscheiden – in der Gewissheit, dass letztere nicht in den Abwasch gehört, sondern zielsicher in den Mülleimer zu sortieren ist. Diese Systeme agieren völlig unabhängig von einer menschlichen Steuerung und wirken dabei eher wie ein intelligentes mechanisches Haustier. In der Industrie sind Roboter schon lange im Einsatz, um verlässlich sich wiederholende Aufgaben zu erfüllen, nun werden diese jedoch immer mehr mit einem eigenen Handlungs- und Entscheidungsrahmen ausgestattet. Darunter können unterstützende Tätigkeiten fallen, wie etwa ein Paket von A nach B zu bringen oder bestimmte Sortierungs- und Erfassungsarbeiten zu übernehmen. Es gibt inzwischen auch schon selbst steuernde Drohnen, die eigenständig die Bestandsaufnahme des Inventars in einer Lagerhalle übernehmen. Inzwischen werden Künstliche Intelligenzen sogar als Führungskräfte eingesetzt. Hitachi greift in der Logistik auf eine KI zurück, die den Mitarbeitern Handlungsanweisungen gibt, etwa für die Pack- oder Lieferreihenfolge.

Autonome Roboter in der militärischen Nutzung

Eigentlich lag jedoch der Ursprung dieser intelligenten Roboter in der militärischen Nutzung. Als Lastenträger steuern sie sich heute bereits selbst und finden eigenhändig den Weg zum vorgegebenen Ziel, auch durch unwegsames Gelände. Im Kampfeinsatz müssen diese Roboter jedoch auch tiefergreifende Entscheidungen treffen. Als autonome Kriegssysteme werden sie inzwischen mit Waffen ausgestattet und könnten in naher Zukunft selbstständig über deren Einsatz befinden. Laut einem Arbeitspapier der US-Army will diese bis spätestens zum Jahr 2030 auf derartige autonome Systeme zur Kriegsführung zurückgreifen. Die Entscheidung über Leben und Tod wäre also dann vollständig in der Hand von Maschinen.

„Singularität“: Science Fiction oder konkrete Bedrohung?

Was wie ein klassisches Narrativ aus der Science Fiction klingt, ist damit heute greifbar nah. Ohne Zweifel drängen sich an dieser Stelle Bilder aus den Kino-Blockbustern „Terminator“ oder „Matrix“ auf, deren Geschichte darum kreist, dass in einer fernen Zukunft die Maschinen die Macht über die Menschheit ergriffen haben und diese wahlweise eliminieren (Terminator) oder unterwerfen und ausbeuten (Matrix). In der akademischen Diskussion versucht man diese Thematik mit der Frage nach der sogenannten „Singularität“ Herr zu werden. Damit wird der Zeitpunkt definiert, an dem die Maschinen und Künstliche Intelligenzen uns Menschen in der Leistungsfähigkeit, insbesondere kognitiv überholt haben werden. Es besteht dabei Uneinigkeit darüber, ob das nun eine Bedrohung oder einen Segen für die Menschheit darstellt. Auch die Frage, was wir Menschen dann mit unserer ganzen Freizeit anfangen, wenn die Maschinen uns alle Arbeit abgenommen haben, wird in diesem Kontext diskutiert, etwa im Rahmen der Überlegungen zu einem „bedingungslosen Grundeinkommen“, das vielen nach Eintritt der Singularität als unvermeidlich erscheint. Denn wenn bei der zunehmenden Intelligenz von Maschinen und Robotern diesen zunehmend mehr Arbeit übertragen wird – schlichtweg weil sie viele Tätigkeiten besser als ein Mensch erfüllen können – so bleibt letztlich immer weniger für den Menschen zu tun. Die Folgen wären weitreichende Arbeitslosigkeit und gähnende Langeweile aller Orten. Das allein stellt, auch ohne Weltuntergangsszenarien, bereits zweifelslos eine große gesellschaftliche Herausforderung dar.

Cyborgs & Kognitiver Transhumanismus

Damit rückt ein anderes, ebenfalls der Science Fiction entlehntes Szenario in den Fokus: Eine Möglichkeit wäre, die Errungenschaften der Digitalisierung zu nutzen, um den Menschen als solchen zu „verbessern“ und auf diese Weise den sich entwickelnden Maschinen entgegenzustellen. Im Prinzip bedeutet dies eine Verschmelzung von Mensch und Technik – die Schaffung von „Cyborgs“. Auch wenn manchem dabei zunächst das Bild von mit ihren Smartphones verwachsen scheinende Teenager in den Kopf kommen mag: Tatsächlich gibt es heute bereits Menschen, die sich Chips einpflanzen lassen, um ihre Fähigkeiten zu erweitern. Manche tragen Magnete unter der Haut, um einen weiteren Sinn zu gewinnen – die Fingerspitzen vibrieren, wenn man sich einem elektromagnetischen Feld nähert – andere implantieren sich RFID-Chips, mit denen eine Authentifizierung in Schließsystemen vorgenommen werden kann, zum Beispiel um einen Kopierer „freizuschalten“.

„Pimp my Brain!“: Blended Intelligence als Antwort auf die Intelligenz der Maschinen

Neben diesem eher profanen menschlichen „Tuning“ rückt zunehmend das Phänomen der „Blended Intelligence“ in den Vordergrund, welches auf die Erweiterung der kognitiven menschlichen Fähigkeiten zielt. Das menschliche Gehirn ist schon länger im Visier der einschlägigen Forschung. Bereits heute werden Epilepsie-Patienten mit einem „Gehirnschrittmacher“ ausgestattet. Die EU hat 2015 eine Milliarde Euro in das „Human Brain Project“ investiert, mit dem Ziel, einzelne Bereiche des menschlichen Gehirns durch künstliche Bestandteile wie Computerchips zu ersetzen, um auf diese Weise Krankheiten wie Parkinson zu heilen. Die Möglichkeiten sind damit jedoch nicht auf medizinische Anwendungen allein beschränkt. Das Gehirn gilt vielen als die ultimative „Schnittstelle“ der Zukunft. Eine Umfrage des Bundesforschungsministeriums im Jahr 2015 ergab, dass 51% der Deutschen sich vorstellen könnten, sich Implantate ins Gehirn einsetzen zu lassen, wenn diese zur „Steigerung der geistigen Fähigkeiten“ beitrügen, also etwa um die Konzentration oder die Gedächtnisleistung zu verbessern. Auch die Steuerung von externen Geräten und Computern, die bisher noch klassischer Eingabegeräte wie Tastatur oder PC-Maus bedürfen, soll in Zukunft direkt über das Gehirn erfolgen. Tatsächlich gibt es aktuell schon vielversprechende Versuche, die Erfassung der Gehirnströme zur Steuerung von Flug-Drohnen zu nutzen. Auch simple Gedankenübertragung von einem Menschen auf den anderen – die Übermittlung der Worte „ja“ und „nein“ – ist über die Codierung der Gehirnströme bereits erfolgreich durchgeführt worden.

Gehirnprothesen & Implantate für Gedanken?

Ein Haupttreiber dieser Entwicklungen ist die „DARPA“, gewissermaßen der akademische Arm des US-Militärs. Um kriegsversehrte Veteranen zu unterstützen hat diese maßgeblich zu den Erfolgen auf dem Gebiet der Prothesenentwicklung beigetragen. Jedoch sind Kriegsverletzungen nicht immer auf den Verlust eines Armes oder Beines beschränkt – auch solche künstlichen Extremitäten lassen sich inzwischen recht filigran „neurologisch“ steuern – die Folgen von Kampfeinsätzen sind allzu oft auch psychischer Natur. Und auch hierfür versucht man Behandlungsmöglichkeiten bereitzustellen. Selbst Gedächtnisverlust soll in Zukunft mit entsprechenden Implantaten therapiert bzw. sollen die Erinnerungen wieder im Gehirn rekonstruiert werden. Das setzte allerdings voraus, dass diese bereits vor dem Kampfeinsatz „abgespeichert“ worden sein müssten. Aus heutiger Sicht ist das noch schwer vorstellbar. Aber tatsächlich ruht ein gewichtiger Fokus der Forschung auf diesem Bereich.

Moralische Fragen: Die Macht der Algorithmen

Künstliche Intelligenz und die „transhumanistische“ Vision vom technisierten Menschen und der digitalen Erweiterung seiner geistigen Fähigkeiten zur „Blended Intelligence“ überlagern sich in einigen Bereichen. Moralische Fragen drängen sich bei beiden Entwicklungsrichtungen auf, und wie bei jeder technischen Innovation liegen Nutzen und Schrecken jeweils nah beieinander. Wir lesen und hören heute viel davon, wie man Daten und Algorithmen nutzen kann, um Menschen zu manipulieren, auch um sie hinsichtlich ihrer Stimmabgabe bei eigentlich demokratischen Wahlen zu beeinflussen. Welche Rolle kommt dann hierbei Künstlicher Intelligenz zu? Auch wenn diese in der Lage ist, eigenständig hinzuzulernen, stellt sich die Frage, auf Grundlage welches Wertesystems diese ihre Entscheidungen trifft. Die EU fordert ein Recht auf Auskunft für ihre Bürger, wenn Algorithmen bei einer Entscheidung – etwa bei der Zuordnung zu einem Versicherungstarif – im Spiel waren. Die Faktoren dieser Entscheidungsfindung müssen offengelegt und für den Betroffenen transparent gemacht werden. Bei Künstlicher Intelligenz gestaltet sich das in der Realität oft schwierig. Denn diese hat sich ja meist ihre Prüf-Kriterien selbst erarbeitet, so dass es selbst den Entwicklern von KI mitunter schwerfällt, die Gründe für eine Entscheidung nachzuvollziehen.

Kann man Menschen „hacken“?

Für Künstliche Intelligenz wie auch für das menschliche „kognitive Upgrade“, des „Cyborgs“, erweist sich die Möglichkeit eines Eingriffs von außen als problematisch. Wenn es möglich ist, Erinnerungen zu speichern und zu einem späteren Zeitpunkt wiedereinzusetzen, kann man dann diese auch abändern oder manipulieren? Erinnert man sich dann tatsächlich an das, was gewesen ist oder an etwas, was andere einen glauben lassen wollen? Für die Psychotherapie ergäben sich daraus völlig neue Möglichkeiten, allerdings liegt das Gefahrenpotenzial ebenso auf der Hand. Kann man dann einen Menschen „hacken“? Und können wir es uns auf der anderen Seite überhaupt noch leisten, uns nicht technisch aufzurüsten? Aber wo liegen dann noch die Unterschiede zwischen Mensch und Maschine? Noch ist unklar, wie weit die Entwicklung tatsächlich reichen wird. Aber unbestreitbar ist: Nicht nur die Welt, in der wir leben, auch der Mensch selbst wird sich durch die Digitalisierung grundsätzlich verändern. Mit ihren Smartphones scheinbar verwachsene Teenager werden uns in der nun schon sehr nahen Zukunft der „Blended Intelligence“ bald wie ein Anachronismus vorkommen.  

Der Artikel wurde ursprünglich auf nerdwärts.de veröffentlicht.

Mehr zum Thema: Mehr zum Thema Cyborgs: Prof. Dr. Andreas Wagener. Professur für Digitales Marketing: eCommerce & Social Media, Hochschule Hof „Cyborg Economy Reloaded: Vom Cyborg zum Psyborg – wie die Digitalisierung das menschliche Bewusstsein, unsere Psyche sowie unsere intellektuellen Fähigkeiten verändert“ (Vortrag an der Hochschule Hof am 18.11.2015 im Rahmen der Ringvorlesung „Digitalisierung, Industrie 4.0 & das Internet der Dinge“ der Fakultät Wirtschaft an der Hochschule Hof.) #profwag   Mehr zum Thema Künstliche Intelligenz: Prof. Dr. Andreas Wagener. Professur für Digitales Marketing: eCommerce & Social Media, Hochschule Hof „Industrie 4.0, Datenökonomie und Künstliche Intelligenz: Wie Daten und Algorithmen Wirtschaft und Gesellschaft verändern“ (Vortrag an der Hochschule Hof am 26.10.2016 im Rahmen der Vortragsreihe „Digitale Wirtschaft, Industrie 4.0 und das ‚Internet der Dinge‘“ der Fakultät Wirtschaft der Hochschule Hof.) #profwag   Mehr zu Themen wie Industrie 4.0, Big Data, Künstliche Intelligenz, Digital Commerce und Digitaler Ökonomie finden Sie auf unserer Newsseite auf XING sowie auf Facebook.

Virtuelle Steuerung: Wenn die „Force“ aus Star Wars ins Smart Home einzieht

Das New Yorker Start-Up Hayo will die „virtuelle Fernbedienung“ von elektronischen Geräten und Smart-Home-Anwendungen mit bloßen Gesten und Körperbewegungen „in der Luft“ ermöglichen. Dazu wird ein 3D-Scan der entsprechenden Räumlichkeiten durchgeführt auf dessen Basis die Festlegung bestimmter Zonen oder auch beliebiger Oberflächen von Objekten als Anhaltspunkt für die Steuerung erfolgt. Mit einer App lassen sich dann die Geräte und Anwendungen auswählen, die auf diese Weise gesteuert werden sollen. Damit ist es etwa möglich, den Wasserhahn als Einschaltkonsole für den Fernseher zu definieren oder auch die Klimaanlage allein durch ein Winken mit der Hand zu regulieren – ein Effekt, der in der Tat an die „Force“ aus Star Wars erinnert, welche die Jedis in die Lage versetzt, ihre telekinetischen Fähigkeiten auszuüben. Auf der Crowdfunding-Plattform IndieGoGo wollen die Gründer US-$ 80.000,00 einwerben, um das Projekt zu realisieren. Von diesem Ziel ist man aktuell mit einer Summe von fast US-$ 69.000,00 nicht mehr weit entfernt. Das fertige Produkt soll über eine Open-Source-API für Drittanbieter und Entwickler verfügbar gemacht werden. Die Marktreife ist für Ende 2017 anvisiert. Das fertige Produkt soll für US-$ 299,00 angeboten werden. May the Force be with you!

Der Artikel erschien ursprünglich auf nerdwärts.de

Fehler zu finden, ist nur der Anfang

Überlegen Sie einmal, welches Ziel ein Ingenieur bei der Verwendung eines statischen Analysetools wie CodeSonar anstrebt. Die folgende Abbildung skizziert den Prozess:

Bisherige IoT-Projekte

Als Minimum liefert das Tool eine Liste mit Warnmeldungen, die vom Ingenieur in der Regel durchgesehen wird. Leider besteht dabei jedoch immer die Möglichkeit, dass das Tool eine Warnung ausgegeben hat, obwohl es gar keinen Grund dafür gibt. Die erste Aufgabe des Ingenieurs ist es also, die Warnungen in wahr positive Warnungen vor einem wirklichen Problem und falsch positive Warnungen vor einem in Wirklichkeit nicht existenten Problem einzuteilen. Danach kann man darangehen, die wirklichen Probleme durch Reparieren des Codes zu beseitigen.

Wie kann man die Qualität eines statischen Analysetools beurteilen? Aussagefähig ist in diesem Fall die Qualität der vom Tool produzierten Liste. Wie genau ist sie? Wie hoch ist die Rücklaufquote? Von wesentlich größerer Bedeutung ist jedoch die vom Ingenieur gefilterte Liste der gemeldeten Probleme. Wenn das Tool ein reales Problem meldet, dieses aber vom Ingenieur verworfen wird, haben wir in unserem Streben nach Verbesserung der Sicherheit und Zuverlässigkeit der Software keinen Fortschritt erzielt. Was nützt es, wenn das Tool von einem Problem Kenntnis hat, aber dieses Wissen an keine Person weitergibt, die Abhilfe schaffen kann?

Diese Perspektive ist der Beweggrund für viele Features und Designalternativen von CodeSonar. CodeSonar produziert weit mehr als nur eine Liste potenzieller Gefahrenstellen im Code. Ziel ist es stets, den Ingenieur möglichst effektiv arbeiten zu lassen. Für viele Warnungen zeigt CodeSonar einen Pfad durch den Code auf, der das Problem demonstriert, und versieht diesen Pfad mit Bedingungen, die erfüllt sein müssen, damit das Problem auftritt. Es wird sogar natürliche Sprache generiert, um die Bedingungen und wichtige Punkte entlang des exemplarischen Pfads zu erläutern.

 

Zusätzlich wartet CodeSonar mit fortschrittlichen Code-Navigations- und Visualisierungs-Features auf. Diese helfen dem Anwender beim Verstehen des Kontexts, in dem ein Fehler auftritt. Dies kann wichtig für das Ausarbeiten einer Reparaturlösung sein.

Kurz gesagt, können statische Analysetools mehr als nur eine Liste mit Problemen erstellen. Stattdessen soll CodeSonar den Ingenieuren bei der Entwicklung von Software helfen, die besser und sicherer ist.

Diese Zielsetzung hat ein weit größeres Ausmaß als die simple Defekterkennung. Sie motiviert GrammaTechs Umwechseln von der Forschung in die Entwicklung. Anders als bei anderen Anbietern von Softwaretools ist das kommerzielle Geschäft bei GrammaTech mit einem Forschungszweig verknüpft, in dem unter anderem mehr als 20 promovierte Mitarbeiter daran arbeiten, Techniken und Technologien im Bereich der Softwareanalyse, der Transformation, der Überwachung und der autonomen Funktionen voranzubringen.

Viele der von CodeSonar gebotenen Funktionen begannen als Forschungsprojekte in der Forschungsabteilung von GrammaTech. Zum Beispiel beruhen die Visualisierungs-Features von CodeSonar auf Forschungsarbeiten für die US-Armee zur Visualisierung von 20.000 Codezeilen aus 20.000 Fuß, auf Forschungsarbeiten für die US-Marine zur Untersuchung fein abgestufter Semantiken aus der Froschperspektive sowie Forschungen für einen Kunden, der sich eine neue Möglichkeit wünschte, die Möglichkeiten zur Ausnutzung einer Schwachstelle zu ermitteln.

Derzeit laufen GrammaTechs Forschungsarbeiten zur automatisierten Codeerzeugung und -reparatur auf ein potenzielles Feature von CodeSonar hin, das Reparaturen für erkannte Defekte vorschlagen könnte. Compiler leisten dies bereits bei einigen trivialen Problemen (z. B. fehlenden Semikolons). Bei GrammaTech ist man aber der Auffassung, dass fortschrittliche Analysetechniken auch für subtile, schädliche Fehler automatisch Reparaturmöglichkeiten aufzeigen können.

Forschungsprojekte dieser Art helfen CodeSonar, den umfangreicheren Softwareabsicherungs- und Security-Missionen gerecht zu werden. Neue Releases dieses Produkts sowie die fortlaufenden Verbesserungen und Bugfixes sind alle darauf fokussiert, unsere Forschungsarbeit dem Embedded-Entwickler zugutekommen zu lassen und ihm beim Entdecken, Verstehen und Reparieren von Softwaredefekten zu helfen.

 

 

 

Part 3: In 5 Schritten zur Datensicherheit

Um einen reibungslosen Betrieb zu gewährleisten, müssen die Systeme genau das tun, was sie sollen. Damit Hacker keine Prozesse manipulieren und auch nicht die Kontrolle übernehmen können, ist Security, die weit mehr als „nur“ die Datensicherheit umfasst, ein absolutes Muss.

Security inklusive Datensicherheit

Zum Teil gibt EBV Elektronik auch Empfehlungen ab, wenn es darum geht, Security mit Hilfe von Kryptographie-Chips auf Board-Ebene umzusetzen, aber wenn es um große Security-Konzepte geht, kommen Partner wie Fraunhofer mit ihrem Spezial-Know-how mit ins Spiel. Diese Partner unterstützen dann das entwickelnde Unternehmen auch bei der Security-Analyse und dem Erkennen sowie Beseitigen von potenziellen Sicherheitslücken. Über eines sollte sich jeder im Klaren sein: Wer keine angemessenen Security-Maßnahmen implementiert, kann quasi sicher sein, dass feindselige Hacker sich Zugang zum System verschaffen und für Unannehmlichkeiten sorgen.

Die 5 Kernelemente der Security

Security ist in fünf verschiedenen Ausprägungen erforderlich. Es handelt sich dabei um die Basisaspekte Authentifikation, Datenintegrität und Datensicherheit sowie um die Aspekte Anti-Tampering und Anti-Counterfeit.

Die Authentifikation ermöglicht eine eindeutige Identifizierung von Systemkomponenten. So erkennt das System zum Beispiel, dass jeweils nur wirklich dafür zugelassene Komponenten bei Antrieb, Steuerung oder Terminal zur Fernwartung mit ihm verbunden sind.

Die Datenintegrität bezeichnet den Schutz vor Verfälschung von Daten während der Kommunikation. Dieser Aspekt ist vor allem als Schutz von Firmware-Updates über das Internet erforderlich, aber auch, um den angelieferten Sensordaten auch wirklich vertrauen zu können.

Die Datensicherheit beschäftigt sich mit der verschlüsselten Datenkommunikation durch die Verwendung von Technologien zur Verschlüsselung und Entschlüsselung.

Beim Anti-Tampering handelt es sich um den Manipulationsschutz für ein Gerät. Im Falle einer Manipulation löscht das System automatisch die entsprechenden Sicherheitsschlüssel (Security Keys), so dass die Manipulation erkennbar wird.

Anti-Counterfeit ist nichts anderes als ein per Hardware und Software implementierter Nachbauschutz, bei dem bestimmte Schlüssel in einem Kryptographiechip gespeichert sind. Nur wenn die Schlüssel im Kryptochip und in der Software zusammenpassen, funktioniert das Gerät. So lässt sich unter anderem das Problem des Overbuilding (unautorisierte Fertigung zusätzlicher Geräte jenseits der vereinbarten Abnahmestückzahl) bei Auftragsfertigern in den Griff bekommen.

Lesen Sie auch die anderen Beiträge dieser Serie:

 

 

Part 4: Mit Partnerschaften zum Ziel

Hohes Potenzial

Mit Industrie 4.0 entsteht ein neues Potenzial von Möglichkeiten, das die europäischen Unternehmen nutzen sollten, um neue Geschäftsmodelle zu entwickeln, mit denen sie weiterhin erfolgreich am Weltmarkt agieren können. Wenn die europäische Industrie dieses Potenzial nicht nutzt, werden es sicherlich andere Firmen tun, die dann den europäischen Unternehmen mit den neuen Lösungen das Wasser abgraben könnten. Europas Industrie steht somit derzeit am Scheideweg, denn Industrie 4.0 ist keine Frage des Ob? sondern nur noch eine Frage des Wann? und des Wer?

Viele kleine Mittelständler verfügen nicht über die erforderlichen Engineering-, IT- und Entwicklungs-Ressourcen, um sämtliche Aspekte von Industrie 4.0 abzudecken. So geben zum Beispiel viele Mittelständler offen zu, dass sie keine Erfahrung mit der Programmierung von Apps haben. Gerade die zentraleuropäischen Unternehmen könnten mit einer neuen Form des Denkens sehr viel erreichen, denn sie müssen das Rad nicht immer wieder neu erfinden. Amerikanische beziehungsweise chinesische Unternehmen sind in diesem Rahmen meist wesentlich flexibler, denn sie integrieren die Technologien von verschiedenen Dienstleistern und Firmen zu einer neuen Applikation. Dies kann zu sogenannten disruptiven Geschäftsmodellen führen.

Mit Partnerschaften zum Ziel

Ein Unternehmen, das im Bereich der Automatisierung tätig ist, hat seine Kernkompetenz im Bereich der Automatisierung; dort liegt die spezifische IP dieser Firma. Aber es ist nun einmal keine Kernkompetenz der Automatisierung, über Hochfrequenz-Funkstrecken (RF) zu kommunizieren. Durch Zukaufen von entsprechenden Standardelementen lässt sich hier binnen kurzer Zeit ein hochperformantes System entwickeln.

Die Chiphersteller verfolgen diese Strategie schon lange, indem sie zum Beispiel die Prozessor-Kerne von ARM verwenden. Über den Rechenkern selbst können sich nur die wenigsten Halbleiterhersteller differenzieren – wohl aber über das Gesamtsystem, das sie rund um einen oder mehrere Rechenkerne auf Basis ihres System-Know-hows schaffen. Da die installierte Basis der ARM-Prozessoren mittlerweile sehr hoch ist, hat sich für die Hersteller von entsprechenden Entwicklungswerkzeugen ein sehr attraktiver Markt entwickelt. Von dieser Auswahl in der Tool-Landschaft profitieren die Anwender der Chips in technischer und preislicher Hinsicht.

So wie die Chiphersteller auch nicht mehr jedes einzelne Element in ihren Chips zu 100 Prozent selbst entwickeln, besteht auch in vielen anderen Bereichen die Möglichkeit, gezielt auf externe Elemente zu setzen, um das eigene Endprodukt voran zu bringen. IT-Ressourcen lassen sich heutzutage mieten oder leasen, so dass keine große Hardware mehr im eigenen Haus erforderlich ist. Mittlerweile bieten diverse Unternehmen sichere Cloud-Services an. Da beispielsweise bei Secured Cloud-Services die Datensicherheit zum Kernelement des Geschäftsmodells von Unternehmen wie SAP oder IBM gehört, dürfte es für einen Mittelständler nur mit immens hohem Aufwand möglich sein, den Sicherheits-Level zu erreichen, den derartige Systemanbieter quasi von der Stange bieten – auch mit Serverstandorten in Europa.

Eines der Erfolgsgeheimnisse von Industrie 4.0 ist somit auch die sinnvolle und gezielte Nutzung externer Ressourcen – und EBV spielt bei der Vermittlung dieser Ressourcen eine aktive Rolle, obwohl der Halbleiter-Distributor mit der Herstellung derartiger Kontakte keinerlei Umsatz macht. EBV Elektronik sieht diesen Mehrwert als Mittel zur Kundenbindung, aber auch als Investition in die Zukunft, denn nur wenn EBVs Kunden erfolgreich sind, kann auch EBV erfolgreich sein. Zwei bis drei Jahre nach Projektbeginn kommen dann oft schon die ersten erfolgreichen Applikationen auf den Markt.

EBV-Partner sind unter anderem verschiedene Fraunhofer-Institute, zum Beispiel Fraunhofer AISEC in Garching, das sich mit Security beschäftigt, oder das Fraunhofer-Institut IOSB-INA in Lemgo, das sich im Rahmen der SmartFactoryOWL unter anderem Themen wie TSN und OPC-UA widmet, oder verschiedene andere Partner, die im Auftrag der Endkunden Software schreiben und BSPs (Board Support Package) adaptieren.

EBV Elektronik ist somit nicht „nur“ ein Lieferant sondern bereits ein wertvoller Partner in der Konzept- und Designphase. Falls ein Unternehmen nämlich mit einer Third-Party-Firma zusammenarbeitet, die das avisierte Projekt trotz vorheriger Absprache nicht stemmen kann, weil sie das Know-how und/oder die erforderliche Manpower beziehungsweise finanzielle Stabilität nicht hat, können Projekte eine gewaltige Zeitverzögerung erfahren. Darüber hinaus  sprechen die Kunden mit EBV oft auch darüber, welche Geschäftsmodelle bei der zukünftigen Lösung in Frage kommen, denn im Rahmen von Industrie 4.0 ergeben sich oft ganz andere Möglichkeiten.

Andererseits ermöglicht EBV Elektronik mit seinen Entwicklungs-Boards oft schon einen guten Einstieg in das Thema. Ein gutes Beispiel dafür ist das SoCrates-Board, das sehr gut die Möglichkeiten von FPGAs aus dem Hause Altera aufzeigt. SoCrates ist mehr als nur ein Entwicklungs-Board, denn es ist ein komplettes Referenzdesign, mit dem es beispielsweise möglich ist, sehr schnell eine Security-Funktionalität für die individuelle Applikation zu implementieren, wenn dabei eine bestimmte Software des EBV-Partners Wibu-Systems zum Einsatz kommt.

Auch für kleine Unternehmen interessant

Früher musste ein Unternehmen eine gewisse Größe mit entsprechend vielen Mitarbeitern aufweisen, um eine aktive und entscheidende Rolle auf dem Industriemarkt zu spielen. Im Rahmen des IoT und von Industrie 4.0 sind mit Hilfe des Internets sowie der neuen Werkzeuge auch kleine Firmen mit beispielsweise 15 Mitarbeitern in der Lage, hochattraktive Produkte auf den Markt zu bringen, für die früher wohl eher ein Unternehmen mit tausend Mitarbeitern erforderlich gewesen wäre. Bei den Kommunikations-Tools und Apps besteht die Möglichkeit, mit einem genialen Produkt sehr schnell auf dem Weltmarkt Fuß zu fassen.

Lesen Sie auch die anderen Beiträge dieser Serie:

Part 2: So lassen sich Maschinen vernetzen

 Auch die entsprechenden Entwicklungs-Tools sind vorhanden, und durch die bei entsprechender Controller-Auswahl oftmals äußerst niedrige Verlustleistung ist auch der Batteriebetrieb von Sensoren möglich.

Connectivity und Interoperabilität auf der RF-Ebene

Die vielen Sensoren zur Erfassung von Größen wie Druck, Temperatur, Feuchtigkeit, mechanischer Belastung können teilweise mehrere Jahre lang mit einer Batterieladung zuverlässig mit dem übergeordneten System kommunizieren. Allerdings hängt die Batterielebensdauer auch von der verwendeten Funktechnologie wie zum Beispiel Bluetooth (Low Energy), WiFi etc. ab.

Unabhängig davon, welche Funktechnologie zum Einsatz kommt, muss zunächst stets die Interoperabilität auf der Hochfrequenzseite (RF-Ebene) gewährleistet sein. Mit seinem vertikalen Segment RF ist EBV Elektronik bestens positioniert, den Entwicklern in diesem Rahmen herstellerübergreifend die passende Technologie zu empfehlen: vom Chip über die Software bis zur Antenne. Und mit den passenden Security-Technologien lässt sich bereits auf der RF-Strecke der Grundstock für ein umfangreiches Security-Konzept legen.

Immer häufiger kommt die Funkverbindung auch im Rahmen des Bedienkonzepts zum Einsatz, denn bei weitem nicht jede Maschine im Feld benötigt ein industrietaugliches Anzeigeterminal. Immer häufiger kommen (Industrie-)Tablets zum Einsatz, die bei Bedarf Verbindung mit der relevanten Einheit aufnehmen, Daten visualisieren und Eingaben ermöglichen. Die entsprechende Kommunikation zwischen Maschine und Tablet erfolgt dann meist per WiFi oder Bluetooth: eine auf dem Tablet laufende App übernimmt dabei die Funktion eines klassischen Bedienterminals. Gleichzeitig stehen der App auch die im Tablet (oder vielleicht sogar im Smartphone) integrierten Sensoren für Geschwindigkeit, Position, Beschleunigung etc. inklusive dem Kamerasensor zur Verfügung. Bei geschickter Nutzung der zur Verfügung stehenden Daten lassen sich erstaunlich innovative Bedienkonzepte realisieren. EBV Elektronik unterstützt Newcomer und Bestandskunden dabei, das passende Potenzial im Rahmen von Industrie 4.0 zu erkennen und zu nutzen – auch auf der Funkstrecke und bei der Bedieneinheit.

Vereinheitlichte Kommunikation per TSN 

EBV gibt seinen Kunden quasi bei Bedarf sämtliche Puzzleteile in die Hand, mit denen sie in der Lage sind, die passende Applikation zu entwickeln. Ein gutes Beispiel hierfür ist die Kommunikation auf der Fertigungsebene in der Fabrik (Factory Floor) über den zukünftigen Kommunikationsstandard TSN (Time-Sensitive Networking).

Auf der unteren Feldebene erfolgt der Datenaustausch bisher noch über proprietäre Busse wie Profibus, Varan oder über Ethernet-Varianten wie Ethernet/IP, Ethercat, Ethernet Powerlink, Safetynet-p oder Profinet. Eine Ebene über der Feldebene, auf der Control-Ebene versuchen die Experten, eine Standard-Kommunikation herzustellen. Da in Fabriken mehrere Maschinen parallel arbeiten, die oftmals von unterschiedlichen Lieferanten kommen, mussten diese proprietären Busse stets aufwändig über Gateways kommunizieren, um zumindest eine gewisse Art von Echtzeit-Kommunikation zu ermöglichen. Jedes einzelne Gateway ist ein zusätzlicher Aufwand, der nicht nur Geld sondern auch Entwicklungsressourcen kostet, dabei gleichzeitig eine gewisse Verzögerungszeit in die Echtzeitkommunikation mit einbringt und auch die Komplexität des Systems erhöht. Ein solches Gateway übersetzt dann quasi von Profinet auf Ethercat und von Ethercat auf Sercos etc.

Sercos III, die dritte Generation der Sercos-Interface-Reihe nach IEC/EN 61491, ist bei der IEC (International Electric/Electrotechnical Commission) zur weltweiten Standardisierung eingereicht worden, um später Teil der internationalen Standards IEC 61800-7, IEC 61784 und IEC 61158 zu werden. Sercos wird international von über 50 Steuerungs- und über 30 Antriebsherstellern aktiv unterstützt. Die Weiterentwicklung des Standards erfolgt innerhalb der Nutzerorganisation Sercos International (SI).

Um die universelle Verwendung verschiedener Komponenten zu ermöglichen, ist ein einheitlicher Kommunikationsstandard wie TSN somit äußerst wünschenswert, zumal TSN auch eine nahtlose Kommunikation in die oberen Schichten ermöglicht, in denen die MES genannten Manufacturing Execution Systems arbeiten. Typische Vertreter von MES sind Einheiten wie SPS (Speicherprogrammierbare Steuerungen; Englisch: PLC, Programmable Logic Control) und SCADA-Syteme (Supervision Control And Data Acquisition). TSN befindet sich derzeit in der Standardisierung durch den IEEE und kommt ursprünglich aus der Automobilindustrie.

EBV Elektronik arbeitet auf Grund der Komplexität von TSN mit Partnern zusammen, die diesen Standard mit unterstützen können. Dabei bündelt EBV für seine Kunden dann in Zusammenarbeit mit diesen Partnern auch Komponenten wie Prozessoren und Switches zusammen mit den BSPs und der erforderlichen Software. Damit sind die EBV-Kunden in der Lage, mit akzeptablem Aufwand selbst ihre TSN-kompatiblen Applikationen zu entwickeln.

Im Gegensatz zu den hohen Stückzahlen bei den großen Automobil-OEMs sind die Fertigungslose im industriellen Bereich normalerweise sehr viel kleiner, so dass eine kostengünstige Entwicklung einer TSN-Lösung ohne entsprechende Partnerschaften und Tool-Kits für die allermeisten Unternehmen gar nicht möglich wäre.

Lesen Sie auch die anderen Beiträge dieser Serie:

Part 1: Das Teamwork entscheidet!

Der Netzwerkanbieter Cisco hat prognostiziert, dass im Jahr 2020 etwa 50 Milliarden Anwendungen mit dem Internet der Dinge (IoT) verbunden sein werden. Ein Teilaspekt dieses IoTs trägt den Namen Industrie 4.0. Allerdings ist Industrie 4.0 kein finaler Zustand, den es zu erreichen gilt. Industrie 4.0 ist vielmehr ein Prozess, dessen Entwicklung ständig voranschreitet.

Die Entwicklung von Industrie 4.0

In Deutschland beschäftigten sich zuerst die Forschungseinrichtungen mit dem Thema Industrie 4.0 – unter anderem das DFKI, das Technologiezentrum OWL und die RWTH Aachen. Der Forschungsbereich Innovative Fabriksysteme (IFS) des DFKI (Deutsches Forschungszentrum für Künstliche Intelligenz) kreierte die Demonstrationsplattform SmartFactoryKL, während das Technologiezentrum Ostwestfalen-Lippe (OWL) unter anderem auch über 170 Unternehmen und Einrichtungen mit in das Thema Industrie 4.0 einbindet. An der RWTH Aachen forschen mehr als 20 Institute der Werkstoff- und Fertigungstechnik gemeinsam mit der Fraunhofer-Gesellschaft und namhaften Unternehmen aus der produzierenden Industrie an Grundlagen für eine nachhaltige Produktionsstrategie.

Mittlerweile sind bereits viele Unternehmen aktiv im Bereich Industrie 4.0 unterwegs, denn heutzutage gibt es quasi gar keine Alternative mehr dazu: Entweder man macht mit oder man läuft selbst Gefahr, mittel- bis längerfristig nicht mehr wettbewerbsfähig zu sein. Unternehmen, die sich selbst in Richtung Industrie 4.0 entwickeln, müssen zwar manchmal ihr Geschäftsmodell verändern, wären aber ohne diesen Schwenk zu Industrie 4.0 höchstwahrscheinlich schon bald nicht mehr auf dem Markt relevant.

EBV Elektronik sieht sich im Rahmen von Industrie 4.0 als Unterstützer der KMUs (kleine und mittlere Unternehmen; der Mittelstand). EBV berät und schlägt Komponenten beziehungsweise Lösungen vor, um diesen KMUs dabei zu helfen, auf den mittlerweile schon mit beachtlicher Geschwindigkeit fahrenden Zug namens Industrie 4.0 aufzuspringen. Dabei konzentriert sich EBV Elektronik auf die Unternehmen, die Komponenten für den Einsatz im Rahmen von Industrie 4.0 entwickeln wollen. Im Rahmen der Beiträge geht es daher ausschließlich um die Entwicklung und das Design von Elementen, die im Rahmen von Industrie 4.0 zum Einsatz kommen, beispielsweise um das Design einer neuartigen Maschinensteuerung. Um die andere Seite von Industrie 4.0 – nämlich den Einsatz von Subsystemen wie zum Beispiel Maschinensteuerungen – soll es in diesem Zusammenhang bewusst nicht gehen, weil dies ein klassisches Thema der Fabrikautomatisierung ist.

Time-to-Market

Um die Endapplikation zeitnah und mit einem angemessenen Time-to-Market auf den Markt zu bringen, müssen sich die Entwicklungsabteilungen dabei stets darüber im Klaren sein, wo ihre Kernkompetenzen sowie ihr eigentliches Know-how liegen. Mittlerweile gibt es viele Hardware- und Software-Elemente sowie Entwicklungsdienstleistungen quasi von der Stange, auf denen die Applikationsentwickler dann aufbauen können. Zum rationellen Arbeiten gehört auch die intelligente Nutzung von Standardkomponenten – und zwar sowohl auf der Hardware- als auch auf der Softwareseite.

So werden beispielsweise wohl die wenigsten Entwickler auf die Idee kommen, einen Standard-(Embedded-)PC selbst zu entwickeln, weil es viel günstiger und schneller ist, einen entsprechenden Standard-PC, ein Prozessor-Board etc. als Komplettlösung einzukaufen und diesen als Basis für die eigene Applikation zu nutzen. Analoge Vorgehensweisen bieten sich auch Bereichen wie der Hochfrequenz-Kommunikation (RF),  der Security etc. an. Da meist nicht für alle Elemente die entsprechenden Ressourcen im entwickelnden Unternehmen vorhanden sind, etabliert sich die Zusammenarbeit mit den passenden Partnerunternehmen spätestens mit Industrie 4.0 zu einer alltäglichen Notwendigkeit. Mit seinem umfassenden Partnernetzwerk unterstützt EBV Elektronik seine Kunden bei der Suche nach den passenden Entwicklungspartnern.

Lesen Sie auch die anderen Beiträge dieser Serie:

Was wir wirklich brauchen: das Manifest für die vernetzte Wertschöpfung

1. Neue Begriffe und anspruchsvolle Inhalte

Ob der Begriff „Industrie 4.0“ verbraucht ist oder nicht – er trifft nicht den Kern der Botschaft. Er reduziert das Thema unzulässiger Weise auf die Fabrik. Wir brauchen eine neue Bezeichnung für das, was zu tun ist. In diesem Zusammenhang braucht es nicht nur Klarheit sondern auch anspruchsvolle Begriffsstandards. Denn nicht alles ist disruptiv oder revolutionär. Damit wird der derzeit zu beobachtenden Banalisierung der Inhalte und Verwässerung der Begriffe Einhalt geboten, die die Gefahr in sich trägt, zu glauben, man sei fertig, obwohl man doch gerade erst begonnen hat. Auch muss die Sprache des Mittelstands gesprochen werden, statt die Sprache der Forschung, der Verbände und der Politik.

2. Freiheit von Angst und Dogmen

Angst ist ein schlechter Ratgeber. Deshalb ist ein kühler Kopf und eine nüchterne Sicht auf die Dinge zwingend geboten. Nicht alles ergibt einen Sinn. Eine eigene konstruktiv-kritische Meinung zu diesem Thema ist notwendig – anstelle von Dogmen und unreflektiertem Nachbeten des Gehörten. Dann werden auch die Ahnungslosen und die Trittbrettfahrer das Feld räumen.

3. Perspektivwechsel

Die Diskussion um die vernetzte Wirtschaft muss aus dem kleinen Karo der Fabrik heraus. Das Thema darf nicht länger einseitig aus der Perspektive der Technologie und der Fabrik diskutiert werden. Das alleine ist noch nicht sinnstiftend. Man würde damit die Fehler von CIM und von Lean Production wiederholen, indem man Lösungen einführt, ohne das zugehörige Problem zu kennen und ohne Vision einer Produktion von morgen.

Die derzeit diskutierten Methoden und Lösungen basieren nahezu ausschließlich auf alten Geschäftsmodellen. Auch deswegen müssen wir aus der Technikecke herauskommen und das Thema vom Markt her denken. Es geht darum, sein eigenes Geschäftsmodell zerstören und etwas Neues aufzubauen. Neue Geschäftsmodelle müssen den sich abzeichnenden Paradigmenwechsel reflektieren.

So führt der demographische Wandel und der schleichende Qualitätsverlust in der beruflichen und akademischen Ausbildung dazu, dass immer weniger Menschen hochqualifiziert sind. Wir können uns nicht mehr erlauben, diese Menschen Kundendaten in Listen eintragen und diese durch den Betrieb befördern zu lassen, bevor mit der eigentlichen Wertschöpfung begonnen wird.

Darüber hinaus zeigt sich ein Wandel von Besitz zu Nutzung ab. Der Produzent muss wissen, was das Produkt tut und neue Angebote erzeugen. Der Nutzer muss aber auch die Gelegenheit haben, dieses Produkt weiterzuentwickeln und hiervon wirtschaftlich zu profitieren.

4. Einbindung in die Wirtschaft des 21. Jahrhunderts

Ford war bereits vor mehr als einhundert Jahren weiter, als die Protagonisten von Industrie 4.0 heute – er wusste nämlich, warum er es tat. Er hatte eine Vision und machte sich die wissenschaftlichen Erkenntnisse zu Nutze. Gleiches gilt für Toyota.

Die beiden von Ford und von Toyota ausgelösten geistigen Revolutionen entstanden in einem dazugehörigen Kontext und haben die Technik nicht als Selbstzweck verstanden, sondern gezielt für sich genutzt. Über allem stand eine Vision, eine Idee. Beiden ist gemein, dass es ihnen nicht nur um bloße Performanceverbesserung, sondern um Märkte und Menschen ging. Genau diese Vision benötigen wir heute, sonst bleibt die Vernetzung des Digitalen genau der Selbstzweck, den Ford und Toyota ausdrücklich nicht betrieben haben, und damit äußerst erfolgreich waren.

Das Verhältnis von Kunden, Produzenten und Lieferanten wird derzeit neu verhandelt. Der Stellenwert von Produkten und die Rolle der Fabriken stehen zur Disposition. Auf all dies sind Antworten zu liefern, die über die Vernetzung von Maschinen und Werkstücken weit hinausgehen. 

Denn die Produktion, wie wir sie derzeit kennen verliert die Hoheit nicht nur über die Wertschöpfung, sondern auch über die Produktentwicklung. Sie wird in die Städte wandern, wo sich die Kreativität konzentriert. Kleinere Einheiten – MiniFabs – oder gar Maker-Werkstätten, in denen die Menschen ihre Produkte selber herstellen, werden das Bild der Produktion von morgen mit prägen.

Die nächste industrielle Revolution hat erst dann diese Bezeichnung verdient, wenn sie ihren Nutzen für den Menschen nachweist. Sie sollte aus dem derzeit disponiblen und im Zweifel entbehrlichen Produktionsfaktor Mensch den eigentlichen Zweck der industriellen Produktion machen. Den Wertschöpfungsprozess – ganz gleich ob dieser in Fabriken oder außerhalb stattfindet – als Katalysator begreifen für die Weiterentwicklung der Persönlichkeit des Einzelnen und der Gesellschaft insgesamt.  

5. Den Wandel gestalten

Der Erfolg dieses Wandels hängt nicht von der Anzahl der Arbeitsgruppen, Exzellenz-Clustern und Initiativen ab, sondern von dem richtigen Denkansatz. Und wenn dieser nun einmal falsch ist, was man für Deutschland bislang noch weitgehend annehmen darf, dann können im Wochentakt neue Gremien geschaffen werden – dem Ziel kommt man damit nicht näher.

Hinzukommt, dass die geforderten völlig neuen Geschäftsmodelle nicht in einer Umgebung entstehen können, wie sie in vielen Deutschen Unternehmen vorherrscht. Einer Umgebung, die geprägt ist durch starre Strukturen und ausgeprägte Hierarchien. Einer Umgebung, in der Erfolg erste Managerpflicht ist, in der Scheitern verboten ist, und mit Karriereende bestraft wird. Einer Umgebung, in der von außen aufgenötigte Renditeversprechungen zu allgemeiner Risikoscheu führen.

Wer in einer solchen Umgebung eine entsprechende Arbeitsgruppe einrichtet hat schon verloren, denn sie agiert im Umfeld von Projektzielen und -budgets, eingepfercht in Meilensteinmeetings und kritisch observiert von Review Boards.

Das Thema gedeiht ausschließlich auf der grünen Wiese und sein Dünger ist die Anarchie – nur so entsteht wirklich Revolutionäres.

Doch wie auch immer wir dieses Kind der Revolution nennen – wir dürfen es nicht gleichsetzen mit der Fabrik der Zukunft. Die Fabrik der Zukunft ist weit mehr als Technik. Sie muss flüchtig und lernfähig sein und hat eine völlig andere Aufbauorganisation, wenn überhaupt. Sie muss ein offenes System sein, deren Mitarbeiter und Partner in temporären Netzwerken tätig sind. Vor dem Hintergrund des Arbeitens bis weit in das achte Lebensjahrzehnt hinein wird es ein neues Verständnis von Karriere geben müssen. Dazu passt, dass angesichts überall verfügbarer Informationen Fachkompetenz in der Fabrik der Zukunft kein Differenzierungsmerkmal mehr sein wird. Selbstverständlich muss es auch neue Arten des Denkens und des Lernens geben. Und ganz nebenbei: Die Betriebswirtschaftslehre, wie wir sie kennen hat abgewirtschaftet und ist neu zu erfinden. Das alles sind gewaltige Dinge, die aber nicht von alleine geschehen – sie müssen erarbeitet werden. Von daher wäre es ein grober Fehler, sich mit nichts anderem zu beschäftigen, als der Vernetzung digitaler Objekte. Dies ist ein einzelner, wenn auch wichtiger Baustein der Fabrik der Zukunft – mehr aber auch nicht.

Ja, die Vernetzung des Digitalen wird die Welt verändern. Deshalb müssen wir gedanklich endlich die Technikecke verlassen und das Thema von der Gesellschaft und vom Markt her denken. Dies muss sich in neuen Geschäftsmodellen abbilden und bedarf der Bereitschaft, das Bestehende unsentimental zu zerstören, statt es linear fortzuschreiben.

Wir haben nur dann eine Chance auf Erfolg, wenn wir uns die Frage stellen, wie wir zukünftig wirtschaften, arbeiten und leben wollen und aus den Antworten die richtigen Schlüsse ziehen.

 

Der Platz in der zweiten Reihe

Die Amerikaner nennen dieses Thema Industrial Internet und denken es horizontal, also vom Kunden her. Sie vernetzen intelligente Produkte, Supply Chains und Fabriken. Das ist aus unserer Sicht auch der richtige Ansatz. Der deutsche Ansatz hingegen ist vertikal – man denkt in technischen Schnittstellen, zum Beispiel von Maschinen zu übergeordneten Steuerungssystemen. Wir sehen hierzulande größtenteils fabrikinterne technische Lösungen. So werden die Produktioner außerhalb der Produktion aber nicht wahrgenommen.

Der eigentliche Sinn der digitalen Vernetzung und ihr enormes Potential liegt vielmehr in datenbasierten Geschäftsmodellen und damit außerhalb der Fabriken. Das hat man in Deutschland noch nicht verstanden, weshalb davon in Deutschland auch nichts Entsprechendes zu sehen ist. Industrie 4.0 kommt hierzulande gedanklich einfach nicht aus dem kleinen Karo der Fabrik heraus.

Wohl aber in den USA. Sie schaffen Plattformen und vernetzen dabei intelligente Produkte, Supply Chains und Fabriken. Das ist der richtige Ansatz. Mit anderen Worten: Die Deutschen tüfteln an Schnittstellen, die Amerikaner erzeugen Märkte. Was für ein fundamentaler Unterschied. Die Deutschen fragen: wie bringen wir die Vernetzung technisch ans Laufen? Die Amerikaner fragen: welches Geschäft können wir damit machen?

Die Rollenverteilung ist klar: Die Amerikaner stecken die digitalen Claims ab und schürfen Gold, während die Deutschen sich darüber freuen, Spitzhacken und Spaten liefern zu dürfen. Die Deutsche Industrie hat sich widerstandslos in die zweite Reihe drängen lassen – zum austauschbaren Hardwarelieferanten von Internet-Unternehmen. Und die Fabrikausrüster, die Industrie 4.0 ja als Konjunkturprogramm sehen und deshalb vorantreiben, haben noch nicht verstanden, dass eben diese Revolution das Zeug hat, sie selber hinwegzufegen.

Die eigentliche Revolution findet außerhalb der Fabriken statt. Das erkennt man aber nicht, wenn der eigene Denkhorizont am Werkstor endet.
Durch die zunehmende Vernetzung wird vieles transparent für Außenstehende, so auch Produktionsabläufe, Produktinformationen und Produktionstechnologien. Dieses Wissen ist die Basis für den Wettbewerbsvorsprung der deutschen Industrie. Dieser geht mit zunehmender Vernetzung aber verloren. Problematisch dabei ist nicht der Verlust als solcher, sondern die Tatsache, dass hierzulande nichts existiert, was diesen Verlust kompensieren könnte. Während in den USA die Appisierung der Hardware vorangetrieben wird, beharrt der deutsche Maschinenbau darauf, dass seine Maschinen und Produktionseinrichtungen das eigentliche Geschäft sind. Dabei sind Maschinen letztendlich nur Mittel zum Zweck und die Plattformen das eigentliche Geschäft; doch genau das überlassen die Deutschen den Amerikanern. Es besteht hierzulande kein Mangel an Datenstandards und Kooperationsvereinbarungen, sondern ein Mangel an Mut und Phantasie.

Mehrkern-Prozessoren sind ein Problem für Multithread-Code

Im einem unserer Blog-Beiträge werden einige der Stolperfallen von Multithreading beschrieben, in die Entwickler tappen können. An dieser Stelle widme ich mich der damit verknüpften Frage der Portierung eines bereits multithreading-fähigen Projekts von Einzelprozessorplattformen auf Mehrprozessorplattformen (einschließlich Mehrkern-Plattformen).

Dass es Probleme gibt, die speziell bei der Portierung von Multithread-Code in eine Mehrkern-Umgebung auftreten, mag der Intuition widersprechen. Müsste es nicht so sein, dass man die Anwendung einfach nur portiert und dann vom Leistungsplus profitiert, weil die Threads ja auf mehreren Prozessoren parallel ausgeführt werden? Ganz so einfach ist die Sache nicht. Man ist sich heute weitgehend einig, dass sich Multithreading-Bugs mit größerer Wahrscheinlichkeit auf Mehrprozessorplattformen manifestieren. Dieser Beitrag untersucht eine Reihe von Gründen für diesen Umstand.

Zunächst sei angemerkt, dass Multithreading eine Technologie ist, die zwei Zwecken dient:  Threads werden genutzt, um parallele Software für Mehrprozessorsysteme zu entwickeln. Darüber hinaus dienen sie aber auch der asynchronen Verarbeitung von Interaktionen mit anderer Software und der realen Welt. Dieser zweite Nutzungsfall ist auch dann relevant, wenn die Software auf nur einem Prozessor läuft. Deshalb gab es schon vor der Ausbreitung der Mehrprozessorsysteme jede Menge Multithread-Code.

Selbstgestrickte Synchronisierung funktioniert auf einem einzelnen Prozessor mitunter

Im ersten Beispiel (Sh. Bild 1)  schauen wir uns das „träge“ Initialisierungsmuster an:

multithreaded-1-300dpi

Dieser Code alloziert eine globale Instanz eines speziellen Objekts zu und initialisiert sie. Das erfolgt jedoch erst, wenn das Objekt tatsächlich gebraucht wird (deshalb die Bezeichnung „träge“). Dieser Code funktioniert in einem Ein-Thread-Kontext perfekt, kann in einem Multithread-Kontext jedoch jämmerlich versagen.

Überlegen Sie, was passiert, wenn ein Thread in den konditionalen Block eintritt, weil „obj“ NULL ist, und dann vom Scheduler unterbrochen wird. Ein zweiter Thread ruft „get_special_object“ auf und nimmt die Zuweisung und Initialisierung selbst vor, weil „obj“ immer noch NULL ist. Wenn der erste Thread wieder weiterläuft, initialisiert er sich selbst. Jetzt schwirren zwei unterschiedliche Kopien des speziellen Objekts durch die Gegend. Im besten Fall ist das ein Speicherleck; wahrscheinlicher ist jedoch, dass es Programmlogik gibt, die von der unveränderlichen Größe abhängt, dass es höchstens eine Instanz des speziellen Objekts gibt.

Der einzige einfache und gangbare Weg, dieses Muster Multithreading-fähig zu machen, ist die Zusammenfassung der gesamten Prozedur in einem kritischen Abschnitt (z. B. mit einer Mutex). Mitunter scheuen Programmierer den Mehraufwand einer Synchronisierung bei jedem Aufruf von „get_special_object“ und versuchen dies mit dem Muster der „doppelt überprüften Sperrung“ zu umgehen. Wenn Ihnen dieses Muster mit seinen Fallstricken nichts sagt, empfehlen ich Ihnen eine kurze Google-Suche.

Wenn Sie mit den Fallstricken vertraut sind, erstaunt es Sie möglicherweise, dass es eine Version gibt, die tatsächlich funktioniert – sofern es Ihnen irgendwie gelingt, Ihren Compiler davon zu überzeugen, keine interessanten Optimierungen vorzunehmen (oder das Ganze direkt in Maschinencode schreiben) und der Code nur auf einem Einzelprozessorsystem ausgeführt wird: [Verwenden Sie Code wie diesen nie in einem Produktionssystem!] (sh. Bild 2)

multithreaded-2-300dpi

Dass dieser Code sich in Ein- und Mehrprozessorsystemen unterschiedlich verhalten kann, hat mit Caches zu tun. Alle gängigen Mehrprozessor-Architekturen haben komplexe Speichermodelle, die nicht garantieren, dass die von einem Prozessor abgewickelten Speichervorgänge aus Sicht eines anderen Prozessors in derselben Reihenfolge erscheinen. Grund für die Komplexität dieser Speichermodelle ist der, dass einzelne Prozessoren im Hinblick auf die Verwaltung ihrer Caches Flexibilität brauchen.

In diesem Beispiel ist es möglich, dass ein Thread, der auf einem anderen Prozessor ausgeführt wird, den aktualisierten „obj“-Pointer „sieht“, bevor er den initialisierten Speicher „sieht“, auf den er verweist. Das hat zur Folge, dass der Thread dem Pointer folgen und irgendwelchen nicht initialisierten Schrott lesen könnte. Diese Fehlermöglichkeit ist auf einem Einzelprozessorsystem nicht gegeben, weil auch bei Unterbrechung des initialisierenden Threads zu einem unpassenden Zeitpunkt alle Threads dieselbe Cache-Hierarchie nutzen und daher nicht diese inkonsistenten Speicherinhalte sehen können, wie sie auf Mehrprozessorsystemen möglich sind.

Um es ganz klar zu sagen: Ich rate davon ab, sich auf hochgradig plattformabhängiges und komplexes Verhalten zu verlassen. Der einzig gangbare Weg, Probleme dieser Art zu vermeiden, besteht darin, dafür zu sorgen, dass Ihr Code richtig synchronisiert ist (das heißt, dass er sich nach dem Multithread-Speichermodell ihrer Quellsprache richtet). Viele Multithread-APIs bieten ein „Einmal“-Primitive, das Sie für alle Erfordernisse Ihrer „trägen“ Initialisierung nutzen sollten.

Als wichtige Schlussfolgerung lässt sich an dieser Stelle sagen, dass die umfassende, gar erschöpfende Validierung auf einem Einzelprozessorsystem keine Garantie dafür bietet, dass Ihr Multithread-Code frei von Bugs ist, die sich auf einem Mehrprozessorsystem manifestieren.

Mehrere Kerne treiben Programme in merkwürdige Ecken des Scheduling-Universums

Das Vermeiden exotischer Synchronisierungsmuster wie die doppelt überprüfte Sperrung verringert zwar den Unterschied zwischen Einzel- und Mehrprozessorsystemen, lässt ihn aber nicht verschwinden. Schauen Sie sich diese Prozedur an, die als Thread-Einstiegspunkt dient (sh. Bild 3):

multithreaded-3-300dpi

Nehmen Sie an, dass innerhalb von do_some_initialization verschiedene Bits mit globalem Status aktualisiert werden, um die Existenz des neuen Threads zu registrieren. Nehmen Sie weiter an, dass diese Statusaktualisierungen individuell synchronisiert werden (so dass zu keinem Datenrennen kommt). Nehmen Sie zum Schluss an, dass es für einen anderen Thread schlecht ist, einen teilweise aktualisierten Status zu beobachten. Das ist der klassische Nebenläufigkeitsfehler, der als Atomicity-Verstoß bezeichnet wird. Der Programmierer geht stillschweigend davon aus, dass eine Sammlung von Statusaktualisierungen (die Initialisierung) atomisch (als Ganzes) erfolgt, auch wenn es technisch möglich ist, dass ein anderer Thread einen teilweise aktualisierten Status beobachtet.

Dieses Beispiel ist aus folgendem Grund besonders interessant: Wenn ein neuer Thread auf einem Einzelprozessorsystem erzeugt wird, hat er in der Regel relativ viel Zeit (in Software-Maßstäben) für seine Ausführung, bevor er für die Ausführung eines anderen Prozesses unterbrochen wird. Es ist also durchaus möglich, dass sich ein Atomicity-Verstoß ganz am Anfang der Existenz des Threads auf einem Einzelprozessorsystem nie zu einem Problem auswächst. Wird dieser Code jedoch auf einem Mehrprozessor-System ausgeführt, kann der übergeordnete Thread weiter ausgeführt werden, während der untergeordnete sich selbst initialisiert. In dieser Situation ist die Wahrscheinlichkeit groß, dass der übergeordnete Thread den schlechten, teilweise aktualisierten Status beobachtet. Durch den Umstieg von einem Einzelprozessor- auf ein Mehrprozessorsystem haben wir die Wahrscheinlichkeit des tatsächlichen Auftretens dieses Atomicity-Verstoßes von nahezu Null auf einen Wert gebracht, der jeden verantwortungsbewussten Programmierer beunruhigen sollte.

Im Allgemeinen haben viele Nebenläufigkeitsfehler relativ geringe Wahrscheinlichkeitsfenster. Auf einem Einzelprozessorsystem hängt das Auftreten dieses Fehlers davon ab, ob ein Thread vom Scheduler in der Mitte eines solchen Fensters unterbrochen wird. Im Normalbetrieb neigen Thread-Scheduler zu einem relativ vorhersagbaren und schlüssigen Verhalten (z. B. lassen sie einen Thread für einen bestimmte Zeit laufen oder entscheiden, nach einem ziemlich einheitlichen Muster welcher Thread als nächster ausgeführt werden soll). Folglich bleiben beim Testen von Multithread-Code auf einem Einzelprozessorsystem in der Regel große Teile des Universums der möglichen Interaktionen zwischen Threads unerforscht. Auf Mehrprozessorsystemen können selbst kleine Störungen wie Cache-Fehlzugriffe große Auswirkungen darauf haben, wie sich Events (wie Speicherlese-/-schreibvorgänge) aus verschiedenen Threads relativ zueinander ausrichten. Diese Änderungen können ihrerseits Nebenläufigkeitsfehler auslösen, die auf einem Einzelprozessorsystem praktisch nie auftreten würden.

Wie lässt sich das Problem lösen?

Die Kernbotschaft lautet hier wie folgt: Bei der Portierung eines Multithread-Programms, das auf Einzelprozessorsystemen gründlich getestet wurde, auf Mehrprozessorsysteme besteht ein erstaunlich hohes Risiko, dass bislang verborgene Nebenläufigkeitsfehler zutage treten.

Die Beseitigung dieser Nebenläufigkeitsfehler in bestehenden Codebasen kann ein sehr teures Unterfangen sein. Eine kleine, aber unüberhörbare Gruppe von Nebenläufigkeitsexperten glaubt, dass die meisten Anwendungsentwickler überhaupt keine Threads verwenden sollten. Bei der reaktiven/interaktiven Programmierung sind Event-Handling-Schleifen in der Regel deutlich weniger fehlerträchtig als Threads. Und bei der parallelen Verarbeitung sind isolierte Prozesse im Allgemeinen sicherer (wenn auch unpraktischer) als Threads.

Bei vielen Projekten sind Threads jedoch immer noch das Mittel der Wahl für die interaktive und/oder parallele Programmierung. Wie lassen sich solche Programme sicherer und stabiler machen? Eine wichtige Erkenntnis ist die, dass herkömmliche Testverfahren – vor allem auf Einzelprozessorsystemen – für das Aufspüren subtiler Nebenläufigkeitsfehler nutzlos sind.

Ein Ansatz, der das Problem zumindest teilweise löst, besteht im Rückgriff auf ein Tool wie Chess von Microsoft Research. Chess untersucht systematisch eine sorgfältig zusammengestellte Teilmenge der möglichen Schedules von Multithread-Programmen. Der Ansatz von Chess besteht darin, dass der Thread Scheduler beim Testen fortwährend schlechte Entscheidungen treffen und so die Wahrscheinlichkeit der Entdeckung von Nebenläufigkeitsfehler drastisch erhöhen kann – verglichen mit einem zufälligen Scheduling.

Neben Testtools können statische Analysetools dazu beitragen, potentiell unsichere Nebenläufigkeitsmuster zu entdecken. Statische Analysetools nutzen symbolische Ausführungs-Engines, um mögliche Probleme zu ermitteln, ohne dazu konkrete Eingabedaten oder Thread-Schedules identifizieren zu müssen, bei denen die Probleme zutage treten würden. Daher stellen die durch statische Analyse ermittelten Probleme in der Regel eine Ergänzung der mit Hilfe von Tests ermittelten Probleme dar.

Zu den statischen Analysetools, die Nebenläufigkeitsfehler finden, zählen ThreadSafe von Contemplate und CodeSonar von GrammaTech. Die aktuellste Version von CodeSonar beinhaltet die Prüfung auf unsicheren Code und kann helfen, schwere Nebenläufigkeitsfehler zu finden.