Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
In agilen Projekten ist funktionierende Software wichtiger als ausufernde Dokumentation. Durch kurze Entwicklungszyklen (Iterationen) werden den Anwendern schon während der Entwicklung Teilpakete der geplanten Softwarelösung mit einem sinnvollen Funktionsumfang bereit gestellt. In agilen Projekten ist die flexible Reaktion auf Änderungen der Anforderungen wichtiger als ein starrer Projektplan. Agilität bei der Entwicklung erfordert aber auch Agilität bei der Beschreibung der funktionalen Anforderungen (Requirements Engineering). Use Case-Modelle eignen sich hervorragend für diese Aufgabe. Durch dieses Vorgehen ist es möglich, Wünsche der Anwender, geänderte Rahmenbedingungen und Erfahrungen aus der bisherigen Entwicklung in der Realisierung zu berücksichtigen. Reinhard Brüggemeyer, Dozent dieses "Treffpunkt Semicolon", zeigt, warum in agilen Projekten der Anwender und seine Aufgaben im Mittelpunkt stehen. Pro und Contra des agilen Vorgehens gegenüber dem klassischen Requirements Engineering werden diskutiert.
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
Kurzbeschreibung
Automatische Softwaretests rücken immer mehr in den Mittelpunkt. Gerade die derzeit vielfach eingesetzten agilen Vorgehensweisen benötigen ein teamübergreifendes und reproduzierbares Verfahren zur Sicherung der Softwarequalität. In diesem Vortrag legt Dirk Weil, Geschäftsführer der GEDOPLAN GmbH aus Bielefeld, das Augenmerk auf die Werkzeuge, die in Java-Projekten zum fortlaufenden Build und Test von Software genutzt werden können. Anhand einiger Praxisbeispiele zeigt er den Aufbau und Betrieb einer Continuous-Integration-Umgebung, die GEDOPALN für Softwareprojekte betreibt. Dozent: Dirk Weil, Gedoplan
Inhalt
- Grundlagen und Motivation automatischer Softwaretests
- Testziele und Verfahren (Unit-Tests, Regressionstests, Akzeptanztests etc.)
- Build- und Testautomatisierung
- Beispielumgebung auf Basis von Ant, Maven, Subversion und Hudson
- Code-Analyse
- Extreme Feedback
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
Kurzbeschreibung
Beschreibung: Mit der Veröffentlichung von iPhone, iPod Touch sowie iPad und dem iPhone OS hat Apple den Markt für mobile Endgeräte massenfähig gemacht. Google liefert mit dem Android-Betriebssystem ebenfalls eine stetig wachsende Plattform. Einer der Erfolgsfaktoren ist der auf beiden Systemen verfügbaren Browser "Mobile Safari" bzw. die technologische Basis WebKit. Diese freie HTML-Rendering-Bibliothek wird nicht nur von Apple und Google eingesetzt, sondern auch von anderen Unternehmen, wie Nokia, Adobe und Blackberry verwendet. Dozent: Peter Hecker, GFU Cyrus AG
Inhalt
- Einführung und Motivation
- Die WebKit-Plattform
- Überblick "mobile" Frameworks
- Zusammenfassung und Fazit
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
Kurzbeschreibung
Softwarequalität ist keine Spracheigenschaft. In jeder noch so guten Programmiersprache kann man schlechte Programme schreiben – sogar in Java. Herr Seekamp, Senior Consultant bei der GEDOPLAN GmbH, macht in diesem Vortrag anhand von Fallbeispielen aus seinen Projekten deutlich, was verständlichen und wartbaren Code ausmacht, welche Regeln man dafür beherzigen sollte und welche Analysewerkzeuge dabei unterstützen können.
Inhalt
Regeln für guten Java-Code
Statische Code-Analyse
Refactoring
Werkzeuge zur Sicherung der Qualität
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
In agilen Projekten ist funktionierende Software wichtiger als ausufernde Dokumentation. Durch kurze Entwicklungszyklen (Iterationen) werden den Anwendern schon während der Entwicklung Teilpakete der geplanten Softwarelösung mit einem sinnvollen Funktionsumfang bereit gestellt. In agilen Projekten ist die flexible Reaktion auf Änderungen der Anforderungen wichtiger als ein starrer Projektplan. Agilität bei der Entwicklung erfordert aber auch Agilität bei der Beschreibung der funktionalen Anforderungen (Requirements Engineering). Use Case-Modelle eignen sich hervorragend für diese Aufgabe. Durch dieses Vorgehen ist es möglich, Wünsche der Anwender, geänderte Rahmenbedingungen und Erfahrungen aus der bisherigen Entwicklung in der Realisierung zu berücksichtigen. Reinhard Brüggemeyer, Dozent dieses "Treffpunkt Semicolon", zeigt, warum in agilen Projekten der Anwender und seine Aufgaben im Mittelpunkt stehen. Pro und Contra des agilen Vorgehens gegenüber dem klassischen Requirements Engineering werden diskutiert.
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
Kurzbeschreibung
Automatische Softwaretests rücken immer mehr in den Mittelpunkt. Gerade die derzeit vielfach eingesetzten agilen Vorgehensweisen benötigen ein teamübergreifendes und reproduzierbares Verfahren zur Sicherung der Softwarequalität. In diesem Vortrag legt Dirk Weil, Geschäftsführer der GEDOPLAN GmbH aus Bielefeld, das Augenmerk auf die Werkzeuge, die in Java-Projekten zum fortlaufenden Build und Test von Software genutzt werden können. Anhand einiger Praxisbeispiele zeigt er den Aufbau und Betrieb einer Continuous-Integration-Umgebung, die GEDOPALN für Softwareprojekte betreibt. Dozent: Dirk Weil, Gedoplan
Inhalt
- Grundlagen und Motivation automatischer Softwaretests
- Testziele und Verfahren (Unit-Tests, Regressionstests, Akzeptanztests etc.)
- Build- und Testautomatisierung
- Beispielumgebung auf Basis von Ant, Maven, Subversion und Hudson
- Code-Analyse
- Extreme Feedback
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
Kurzbeschreibung
Beschreibung: Mit der Veröffentlichung von iPhone, iPod Touch sowie iPad und dem iPhone OS hat Apple den Markt für mobile Endgeräte massenfähig gemacht. Google liefert mit dem Android-Betriebssystem ebenfalls eine stetig wachsende Plattform. Einer der Erfolgsfaktoren ist der auf beiden Systemen verfügbaren Browser "Mobile Safari" bzw. die technologische Basis WebKit. Diese freie HTML-Rendering-Bibliothek wird nicht nur von Apple und Google eingesetzt, sondern auch von anderen Unternehmen, wie Nokia, Adobe und Blackberry verwendet. Dozent: Peter Hecker, GFU Cyrus AG
Inhalt
- Einführung und Motivation
- Die WebKit-Plattform
- Überblick "mobile" Frameworks
- Zusammenfassung und Fazit
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
Kurzbeschreibung
Softwarequalität ist keine Spracheigenschaft. In jeder noch so guten Programmiersprache kann man schlechte Programme schreiben – sogar in Java. Herr Seekamp, Senior Consultant bei der GEDOPLAN GmbH, macht in diesem Vortrag anhand von Fallbeispielen aus seinen Projekten deutlich, was verständlichen und wartbaren Code ausmacht, welche Regeln man dafür beherzigen sollte und welche Analysewerkzeuge dabei unterstützen können.
Inhalt
Regeln für guten Java-Code
Statische Code-Analyse
Refactoring
Werkzeuge zur Sicherung der Qualität
Este documento describe varios bonos y recompensas que una compañía llamada Unetenet ofrece a sus miembros para incentivar el reclutamiento de nuevos usuarios. Los bonos incluyen efectivo, computadoras portátiles, automóviles y viajes. Los miembros pueden ganar bonos rápidos reclutando entre 3 y 15 nuevos usuarios en los primeros 30-60 días. También hay bonos a más largo plazo por reclutar 50-100 usuarios en 100 días o menos, los cuales incluyen una estación de trabajo o autom
El documento describe el Programa de Competencias Ciudadanas del Ministerio de Educación Nacional de Colombia. El programa busca desarrollar habilidades ciudadanas en los estudiantes a través de tres componentes: 1) movilización social para involucrar a la comunidad, 2) acompañamiento a las escuelas para mejorar las prácticas pedagógicas, y 3) gestión del conocimiento para compartir experiencias. El objetivo final es formar ciudadanos respetuosos de los derechos humanos y capaces de participar de manera constructiva en la sociedad.
Las operaciones exoneradas del Impuesto General a las Ventas (IGV) incluyen la venta de bienes contenidos en los Apéndices I y II de la ley del IGV, así como la venta de bienes adquiridos para operaciones exoneradas. Las operaciones inafectas no pagan el IGV y comprenden transferencias de bienes usados por personas naturales, reorganizaciones empresariales, y bienes y servicios para instituciones educativas. También están inafectas las importaciones de bienes donados a entidades religiosas y bienes de uso personal.
El documento describe el Programa de Educación para la Sexualidad y Construcción de Ciudadanía del Ministerio de Educación de Colombia. El programa tiene como objetivo desarrollar competencias en los estudiantes para que puedan tomar decisiones informadas sobre su sexualidad y ejercer sus derechos sexuales y reproductivos de manera responsable. El programa provee materiales pedagógicos y capacita equipos técnicos para apoyar la implementación de proyectos pedagógicos transversales sobre educación sexual en las escuelas. El piloto del programa involucró a 235 esc
Este documento contiene preguntas sobre las funciones y herramientas de PowerPoint. Hace 21 preguntas sobre cómo realizar diferentes tareas como modificar el diseño y orden de las diapositivas, aplicar temas y transiciones, agregar animaciones a objetos, e insertar y modificar fondos. También incluye una sección de verdadero o falso sobre declaraciones relacionadas con el uso de PowerPoint.
El documento habla sobre pensar en grande y soñar en grande para lograr grandes cosas. Aconseja no limitarse y siempre apuntar lo más alto posible. Recomienda creer en uno mismo y perseguir los sueños con pasión y determinación.
Depext es una guía de deportes extremos en Argentina que ofrece un motor de búsqueda para encontrar operadores de diferentes deportes extremos. También proporciona información actualizada sobre estos deportes y los operadores. Los operadores pueden crear perfiles gratuitos u optar por cuentas de pago gold o premium para recibir más beneficios de promoción y publicidad.
La educación virtual ha experimentado un gran crecimiento a nivel mundial, ofreciendo nuevas formas de aprendizaje pero también planteando algunos desafíos.
Este documento describe los diferentes tipos de energía renovable, incluyendo la energía eólica, geotérmica, hidroeléctrica, maremotriz, solar, undimotriz y biomasa. Explica que las energías renovables provienen de fuentes naturales virtualmente inagotables y son recursos limpios. Luego detalla tres tipos principales de energía renovable: energía eléctrica, energía térmica y biocarburantes.
El documento resume las características generales del Sistema Solar, incluyendo la ley de gravitación universal de Newton, las características de los planetas como cuerpos celestes que orbitan el Sol, y los satélites naturales, cometas y asteroides. También describe brevemente los movimientos de rotación y traslación de los planetas y ejemplos de satélites, cometas y asteroides.
This is a training module developed in the European project SESEC. More information and the full training can be found here: www.sesec-training.eu
The SESEC project is designed to address the energy efficiency needs of the EU clothing industry. The Consortium relies on outstanding competences of the partners, spread over 6 countries (Bulgaria, Romania, Portugal, Italy, Germany, Belgium) to provide the missing energy efficiency benchmarks and ready-to-use solutions for the large number of SMEs as well as larger companies. The SESEC project has 4 major objectives:
• To develop, test and offer an Energy Efficiency tool for clothing production, made up of guidelines and web-based applications, suitable for SMEs and large companies
• To transfer the project results to the sector, EURATEX members and interested companies
• To offer training and support to companies to implement energy-saving measures considering cost-effectiveness
• To improve opportunities for energy-efficiency for the whole European clothing industry
Los métodos a utilizar incluyen el análisis sintético, inductivo deductivo y problemático. El método problemático implica identificar, describir y analizar el problema, así como generar soluciones opcionales. También se mencionan la discusión formativa y las exposiciones como estrategias.
El documento describe el modelo de objetivo racional, implementado por Frederick Winslow Taylor en el siglo XX. Este modelo hace énfasis en la selección objetiva del personal, la organización jerárquica de puestos de trabajo con división de tareas, normas y procedimientos estándar, y la documentación y gestión de información. El director actúa como monitor para aplicar políticas y procedimientos de manera uniforme.
Este documento describe varios bonos y recompensas que una compañía llamada Unetenet ofrece a sus miembros para incentivar el reclutamiento de nuevos usuarios. Los bonos incluyen efectivo, computadoras portátiles, automóviles y viajes. Los miembros pueden ganar bonos rápidos reclutando entre 3 y 15 nuevos usuarios en los primeros 30-60 días. También hay bonos a más largo plazo por reclutar 50-100 usuarios en 100 días o menos, los cuales incluyen una estación de trabajo o autom
El documento describe el Programa de Competencias Ciudadanas del Ministerio de Educación Nacional de Colombia. El programa busca desarrollar habilidades ciudadanas en los estudiantes a través de tres componentes: 1) movilización social para involucrar a la comunidad, 2) acompañamiento a las escuelas para mejorar las prácticas pedagógicas, y 3) gestión del conocimiento para compartir experiencias. El objetivo final es formar ciudadanos respetuosos de los derechos humanos y capaces de participar de manera constructiva en la sociedad.
Las operaciones exoneradas del Impuesto General a las Ventas (IGV) incluyen la venta de bienes contenidos en los Apéndices I y II de la ley del IGV, así como la venta de bienes adquiridos para operaciones exoneradas. Las operaciones inafectas no pagan el IGV y comprenden transferencias de bienes usados por personas naturales, reorganizaciones empresariales, y bienes y servicios para instituciones educativas. También están inafectas las importaciones de bienes donados a entidades religiosas y bienes de uso personal.
El documento describe el Programa de Educación para la Sexualidad y Construcción de Ciudadanía del Ministerio de Educación de Colombia. El programa tiene como objetivo desarrollar competencias en los estudiantes para que puedan tomar decisiones informadas sobre su sexualidad y ejercer sus derechos sexuales y reproductivos de manera responsable. El programa provee materiales pedagógicos y capacita equipos técnicos para apoyar la implementación de proyectos pedagógicos transversales sobre educación sexual en las escuelas. El piloto del programa involucró a 235 esc
Este documento contiene preguntas sobre las funciones y herramientas de PowerPoint. Hace 21 preguntas sobre cómo realizar diferentes tareas como modificar el diseño y orden de las diapositivas, aplicar temas y transiciones, agregar animaciones a objetos, e insertar y modificar fondos. También incluye una sección de verdadero o falso sobre declaraciones relacionadas con el uso de PowerPoint.
El documento habla sobre pensar en grande y soñar en grande para lograr grandes cosas. Aconseja no limitarse y siempre apuntar lo más alto posible. Recomienda creer en uno mismo y perseguir los sueños con pasión y determinación.
Depext es una guía de deportes extremos en Argentina que ofrece un motor de búsqueda para encontrar operadores de diferentes deportes extremos. También proporciona información actualizada sobre estos deportes y los operadores. Los operadores pueden crear perfiles gratuitos u optar por cuentas de pago gold o premium para recibir más beneficios de promoción y publicidad.
La educación virtual ha experimentado un gran crecimiento a nivel mundial, ofreciendo nuevas formas de aprendizaje pero también planteando algunos desafíos.
Este documento describe los diferentes tipos de energía renovable, incluyendo la energía eólica, geotérmica, hidroeléctrica, maremotriz, solar, undimotriz y biomasa. Explica que las energías renovables provienen de fuentes naturales virtualmente inagotables y son recursos limpios. Luego detalla tres tipos principales de energía renovable: energía eléctrica, energía térmica y biocarburantes.
El documento resume las características generales del Sistema Solar, incluyendo la ley de gravitación universal de Newton, las características de los planetas como cuerpos celestes que orbitan el Sol, y los satélites naturales, cometas y asteroides. También describe brevemente los movimientos de rotación y traslación de los planetas y ejemplos de satélites, cometas y asteroides.
This is a training module developed in the European project SESEC. More information and the full training can be found here: www.sesec-training.eu
The SESEC project is designed to address the energy efficiency needs of the EU clothing industry. The Consortium relies on outstanding competences of the partners, spread over 6 countries (Bulgaria, Romania, Portugal, Italy, Germany, Belgium) to provide the missing energy efficiency benchmarks and ready-to-use solutions for the large number of SMEs as well as larger companies. The SESEC project has 4 major objectives:
• To develop, test and offer an Energy Efficiency tool for clothing production, made up of guidelines and web-based applications, suitable for SMEs and large companies
• To transfer the project results to the sector, EURATEX members and interested companies
• To offer training and support to companies to implement energy-saving measures considering cost-effectiveness
• To improve opportunities for energy-efficiency for the whole European clothing industry
Los métodos a utilizar incluyen el análisis sintético, inductivo deductivo y problemático. El método problemático implica identificar, describir y analizar el problema, así como generar soluciones opcionales. También se mencionan la discusión formativa y las exposiciones como estrategias.
El documento describe el modelo de objetivo racional, implementado por Frederick Winslow Taylor en el siglo XX. Este modelo hace énfasis en la selección objetiva del personal, la organización jerárquica de puestos de trabajo con división de tareas, normas y procedimientos estándar, y la documentación y gestión de información. El director actúa como monitor para aplicar políticas y procedimientos de manera uniforme.
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
Stell Dir vor: Du willst einen 6000er besteigen. Eine gute Vorbereitung, gutes Material und professionelles Wissen sind dabei unabdingbar.
Du schnappst Dir einen Berg-Guide, der Dich bei schwierigen Passagen unterstützt und Dir das passende Know-How weitergibt. Das schwere Material kannst Du auf ein Team aufteilen, das genau weiss, welche Pakete Du am sinnvollsten schnürst. Sie zeigen Dir zudem, welchen unnötigen Ballast Du abwerfen kannst.
Am Ende stehst Du am Ziel – Dich erwartet ein grossartiges Resultat und die Zufriedenheit des Vollbrachten.
Genau so fühlt sich die Reise Deiner Legacy Applikation an.
Im Webinar zeigen Dir die drei Partnerfirmen Object Engineering, Puzzle und VSHN, wie Du Deine Applikationen fit hältst. Dabei geben sie Dir einen Einblick, wie Experten die Applikationen analysieren, aufpeppen und den Betrieb sicherstellen können.
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, ChancenIntelliact AG
Besuchen Sie die nächste PLM Open Hour! Mehr Informationen und Termine: https://intelliact.ch/events/plm-open-hours
****
Low-Code oder No-Code haben aktuell durch schnelle Entwicklungen von Applikationen Hochkonjunktur. Die Vorstellung, digitale Anwendungen mit wenig oder gar keinen Programmieraufwand auch von Mitarbeitern aus dem Marketing/Vertrieb und der Produktentwicklung umsetzen zu lassen, ist verlockend. «Schnellerer Time-to-Market für Entwicklungsaufgaben» und «die Gewinnung von Freiraum für Fachabteilungen» werden in diesem Kontext oft genannt.
Wir haben in dieser PLM Open Hour Low-Code- und No-Code-Konzepte unter die Lupe genommen und die Begriffe im Gesamtkontext eingeordnet. Nach dem Webinar haben Entwickler als auch Mitarbeiter aus dem Markting/Vertrieb und der Produktentwicklung ein Verständnis dafür:
was an diesen oben genannten Aussagen dran ist,
welche Chancen und Risiken Low-Code und No-Code-Applikationen haben und
ob sich Anwendungen in der Digitalisierung von Produkten mit Low-Code oder No-Code umsetzen lassen.
Implementierung der Knowledge Engineering Workbench in myCBRAlexander Hundt
This is the presentation I held during the oral exam of my Bachelor Thesis.
The presentation is about where we can find expert knowledge around the internet and how we can excerpt this knowledge and use it as a basis for a Case-Based Reasoning system.
The second part of the thesis shows which principles of Software Engineering are used to implement an extraction prototype into a sophisticated development tool for CBR-systems.
The slides are provided in German.
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
Make Developers Fly – Helping developers to build better applications
Cloud Native Night, Mainz, November 2023, Alex Krause
Platform Engineering is the next stage of DevOps and accelerates software developers even more to build applications faster and bring products rapidly to the customers. In this meetup, we show you the key principles of platform engineering, as we experienced them in our projects, and additionally show you a better way to manage your internal software platforms.
PRINCIPLES FOR PLATFORM ENGINEERING, Alex Krause
How do we help our developers to fly instead of crashing miserablely? The answer is Platform Engineering, a discipline for building internal developer platforms (IDPs) to simplify software delivery for product teams. In this talk, you'll learn how Platform Engineering evolved from the DevOps movement and what principles and best practices make for a good implementation. Finally, we'll take a look at reference architectures that can support your platform.
XPages in der Praxis (Highlights aus Kundenprojekten) - Vortrag der Whitecoast anlässlich des Schweizer "Lotusphere comes to you"-Events vom 29. März 2012 im Letzigrund Zürich.
Konzepte, Werkzeuge und Ideen aus der Praxis für bessere und erfolgreichere .NET-Softwareprojekte:
Klassen/Objekte/Komponenten, Mehrschichtige .NET-Anwendungen, Bibliotheken und Pattern, Frameworks und Tools, Unit Testing und Codeanalyse, Continous Integration und Versionsverwaltung, Dokumentation und Instrumentation
".NET und jetzt!" C# in 21 Tagen oder doch besser Best PracticesGFU Cyrus AG
Konzepte, Werkzeuge und Ideen aus der Praxis für bessere und erfolgreichere .NET-Softwareprojekte.
* Klassen/Objekte/Komponenten
* Mehrschichtige .NET-Anwendungen
* Bibliotheken und Pattern
* Frameworks und Tools
* Unit Testing und Codeanalyse
* Continous Integration und Versionsverwaltung
* Dokumentation und Instrumentation
Microsoft .NET Gadgeteer - Nur Lego für Große oder doch der einfache Weg des
„rapid prototyping“ für Hardwarekomponenten?
In Rekordgeschwindigkeit Hardware programmieren, bauen und das ohne Lötkolben? Mit dem Microsoft .NET Gadgeteer kann man Prototypen von elektronischen Geräten entwickeln, testen und immer wieder neu erfinden und das ganz komfortabel mit dem .NET Micro Framework, C# und Visual Studio als Entwicklungsumgebung.
Mit einer ARM7-Mikroprozessor-Platine bewaffnet, wird Holger Wendel in seinem Vortrag ein paar Beispiele zur Verwendung des Gadgeteer zeigen und dabei unterschiedliche Komponenten wie Taster, LEDs , Ethernet-Schnittstelle, Kartenleser bis hin zu Display und Kamera zum Einsatz bringen.
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
Die Entwicklung von Apps ist nicht einfach und jede "Systemwelt" hat ihre eigenen Tools und Anforderungen. Ob mit Java und Eclipse für Android, mit Objective-C und Xcode für iOS, oder mit den Microsoft-Tools für die Windows-Welt. Bei diesem Vortrag lernen Sie die vielfältigen Möglichkeiten der App-Entwicklung für alle gängigen Plattformen mit nur einer Programmiersprache kennen: HTML5 und JavaScript. Sie steigen mit den Grundlagen des kostenlosen Intel XDK und Apache Cordova ein und werden dann mit den wichtigsten Frameworks und Vorgehensweisen vertraut gemacht. Mit diesen Infos steigen Sie rasch zum versierten Cross-Plattform Entwickler auf.
Compliance und Governance in der DevOps-AchtBATbern
In der Cloud leben wir im Spannungsfeld zwischen Enterprise Compliance und Continuous Delivery. Wie schaffen wir es, dass Entwickler:innen schnell Wert liefern können, ohne dabei Compliance und Governance zu vernachlässigen oder die DevOps-Acht zu unterbrechen? Wir zeigen anhand von verschiedenen Beispielen wie wir diese Herausforderungen lösen und wie bei uns Shift Left gelebt wird.
30 minütige Präsentation des Google Web Toolkit, einem Java Framework zum erstennellen von Javafreien-Web-Applikationen. Den Download des Beispielprogramms finden Sie auf http://www.easy-coding.de/trac/gwt .
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Java für eingebettete Systeme
1. Eine Architektur zur dynamischen Rekonfiguration
eingebetteter signalverarbeitender Systeme
Dipl.-Inf. Reinhard Meyer
22.07.10
2. Motivation
● Eingebettete Systeme:
● Anwendung im sicherheitsrelevanten
Umfeld Automotive, Luft- und Raumfahrt,
Medizin, ...
● Fortschreitende Miniaturisierung
● Zunahme der Leistungsfähigkeit der
Hardware
● Implementierung von Funktionalität mit
steigender Komplexität in Software
● Verwendung von Hochsprachen zur
Implementierung
Historie softwarebasierter
● Anpassung des Funktionen im Automobil
Softwareentwicklungsprozesses [IMMOS04]
22.07.10 2
3. Übersicht
● Softwareentwicklung für eingebettete Systeme
● Anforderungen an Entwicklung und Betrieb
● Maßnahmen zur Verbesserung der Softwarequalität
● Warum Java und FPGA ?
● Android-Plattform
● OSGI – Dynamische Rekonfiguration von Software
● Modellierung von verteilten Systemen für die Signalverarbeitung
● Eigenschaften von Werkzeugen der Signalverarbeitung
● Modellierung von Algorithmen
● Konzeptvorschlag
● Zusammenfassung
22.07.10 3
4. Softwareentwicklung für
eingebettete Systeme
●
Anforderungen:
● Entwicklung:
– Verteiltheit und Nebenläufigkeit: Aufgaben werden auf verschiedenen
Plattformen parallel ausgeführt:
● x86, PPC, DSP, ASIC, FPGA
● Neuer Trend: Multicore
– Echtzeitfähigkeit und Vorhersagbarkeit: Einhaltung von Zeitschranken,
deterministisches Verhalten
– Weitere Eigenschaften: Performance, Datensicherheit, Fehlertoleranz
– Variantenmanagement
● Betrieb (Wartung):
– Änderung der Funktionalität
– Fehlerbeseitigung
22.07.10 4
5. Softwareentwicklung für
eingebettete Systeme
● Konzepte zur Erhöhung der Modelling Space
Softwarequalität Platform-independent Platform-specific
Model (PIM) Constraints
● Modellgetriebene Entwicklung
– Modellbildung und Simulation Automated Transformation
– Automatisierte Transformation
– Plattform-Codegenerierung Platform 1 Platform N
● Verwendung einer interpretierten Platform-specific Platform-specific
Sprache Model (PSM) Model (PSM)
– Plattformunabhängig
Code ... Code
– Verlagerung der sicherheits- Generation Generation
relevanten Konzepte vom
Programmcode auf den Interpreter Platform-specific Platform-specific
Code Code
Modellgetriebene Entwicklung
22.07.10 5
6. Softwareentwicklung für
eingebettete Systeme
● Charakterisierung
● Modellbasierte Entwicklung
+ Höhere Codequalität durch automatische Codegenerierung
+ Änderbarkeit der Funktionalität im Modell (virtuell)
+ Einheitliches Datenmodell, vereinfachtes Variantenmanagement
– Erhöhter Verwaltungsaufwand bei heterogenen, komplexen Strukturen
– Informelle Auf- und Nachbereitung der Daten
● Interpretierte Sprache
+ Zuverlässigkeit: Automatische Speicherverwaltung
+ Sicherheit: Mechanismen vor der Programmausführung
– Deterministisches Verhalten und Zugriff auf Systemressourcen
22.07.10 6
7. Softwareentwicklung für
eingebettete Systeme
● Java als Sprache der Wahl:
● Entstehung: Green Hill Projekt, Sun Microsystems,
1992: Touchscreen-basiertes Steuergerät
(StarSeven)
● Konzentration auf den Desktop- und Servermarkt,
aktuelle Version ist Java 6
● Laufzeitumgebung: Virtuelle Maschine (VM) +
Laufzeitbibliothek mit API, Programmcode wird im
Allgemeinen interpretiert
● Plattformunabhängigkeit: Bytecode ist universell,
für eine Architektur gibt es die jeweils passende
VM, inzwischen Vielzahl an verschiedenen VM Sun Trademark Logo
für Java
verfügbar
22.07.10 7
8. Softwareentwicklung für
eingebettete Systeme
● Warum Java ?
● Vorurteil: „Java ist langsam, speicherintensiv
und nicht echtzeitfähig“
– Kompilation von Code statt Interpretation:
Hotspot-Compiler, AOT-Compiler mit Early-
Binding ermöglichen beschleunigtes
Abarbeiten von Programmen
– Garbage Collection: Speicherbereinigung
als niedrig priorisierter Thread
– Verwendung einer reduzierten
Laufzeitbibliothek
– 2000: Realtime Specification for Java SciMark 2.0 Java
(RTSJ) Benchmark Suite
22.07.10 8
9. Softwareentwicklung für
eingebettete Systeme
● Android Plattform
● Softwarestack der Open Handset
Alliance für mobile Geräte
● Betriebssystem, Middleware und
elementare Anwendungen
zusammengefasst in einem
Framework
● Dalvik VM mit eigenem Bytecode
(dex) zur Ausführung von
Anwendungen, java-basiert
● Linux-Kernel und native
Codebibliotheken für zeitkritische
Anwendungen Android Platform,
Quelle: http://developer.android.com
22.07.10 9
10. Softwareentwicklung für
eingebettete Systeme
● OSGI
● Standard zur dynamischen
Rekonfiguration von Software
● Modularisierung von Anwendungen
und Dienste (Bundles) in einem
Komponentenmodell
● Austausch von Code zur Laufzeit
● Hardware- und Sprachunabhängig
● Implementiert für Java, .Net geplant
● Anwendungen im Automotive-Bereich
(BMW), Desktop-Bereich (Eclipse),
Heimautomatisierung OSGI Architecture
Quelle: http://en.wikipedia.org/wiki/OSGi
22.07.10 10
11. Softwareentwicklung für
eingebetteter Systeme
● Warum Java i.V. mit FPGA ?
● Vorteile von Java bei der
Softwareentwicklung
● Einheitliches HW/SW-Designmodell
● FPGA: Erhöhung der Rechenleistung
durch Ausnutzen der Parallelisierung
– Bsp.: Damenproblem (diskrete
Optimierung)
● NQueens@home: 25-Damen-
Problem – 260 PC in 9 Monaten
● FPGA-Lösung: 26-Damen-
Problem – 18 FPGA in 6 Monaten
[Preußer09]
22.07.10 11
12. Softwareentwicklung für
eingebettete Systeme
● Warum Java i.V. mit FPGA
● JBits SDK
– Bitstream-API für Xilinx FPGA
– Erzeugung und dynamische
Rekonfiguration von Schaltkreisen
über das XHWIF
● JHDL
– Hardware-Beschreibungssprache
– Ziel: Konsistenz von
Objektdatenflüssen SW/HW
Quelle: JBits
22.07.10 12
13. Werkzeuge der Signalverarbeitung
● Werkzeugeigenschaften
● Homogenität:
– Überschaubare Anzahl an verschiedenen
Werkzeugarten (Algorithmen)
– Hoher Grad an mathematischer Strukturierung
● Optimierung:
– Manuelles Tuning (plattformabhängig)
– Auto-Tuning: Computer optimiert Algorithmen
● Verteiltheit:
The Mathworks
– Algorithmen für PC, DSP, ASIC und FPGA Matlab / Simulink
22.07.10 13
15. Modellierung von Algorithmen in der
Signalverarbeitung
● SPIRAL
● Automatische Codegenerierung für
schnelle Algorithmen in der
Signalverarbeitung
● Heuristische Suchverfahren für
den optimalen Algorithmus
hinsichtlich der Laufzeit auf einer
PC-Architektur
● Beschreibung der Algorithmen
(math. Matrix-Faktorisierung)
mittels einer Signal Processing
Language (SPL)
● Implementation der Algorithmen in
C/FORTRAN
Architektur von SPIRAL [Püsch05]
22.07.10 15
16. Modellierung von Algorithmen in der
Signalverarbeitung
● freeSP
● Ganzheitlicher Ansatz zur
Modellierung von verteilten
Systemen
● Deskriptive, plattformunabhängige
Beschreibung des Systems (XML)
● Zerlegung des Gesamtsystems
und Zuordnung zu einzelnen
Prozessen
● Implementierung der Algorithmen
aus vorgehaltenen Bibliotheken
● Modellierung und Simulation von
Nebenläufigkeit mittels Petri-
Netzen
FreeSP – Grobstruktur [Weiss07]
22.07.10 16
17. Projektvorschlag
● Konzept
● Verteiltes Rechnen auf eingebetteten signalverarbeitenden Systemen
● Workflow
1. Modellierung eines signalverarbeitenden Systems
2. Simulation des Modells
3. Partitionierung in Hard- und Software
4. Transformation auf die Zielplattform
● Modelltransformationen
– Erzeugen von Java-Programmcode zur Ausführung auf dem PPC
– Übersetzung von parallelisierbaren Teilen der Rechenaufgabe in
programmierbare Logik auf einem FPGA
22.07.10 17
18. Projektvorschlag
● Plattform:
● Modellierung:
Standard-PC, IDE (Eclipse)
● Ausführung:
Virtex-II-FPGA mit Dual-
Core-PPC
– (Echtzeit-)Betriebssystem
– Java VM – eingebettete
Laufzeitumgebung
– RTR Soft- und Hardware
– Onboard-System zur
Bildverarbeitung
Architektur für FPGA (Ausführung, linke Seite) und PC
(Modellierung, rechte Seite)
22.07.10 18
19. Zusammenfassung
● Signalverarbeitende Systeme
● Neue Herausforderung an die Softwareentwicklung in Bezug auf
– Verteiltheit und Nebenläufigkeit
– Verlässlichkeit (Verfügbarkeit, Sicherheit, Wartbarkeit)
– Echtzeitfähigkeit und deterministisches Verhalten
– Variantenmanagement
● Modellbasierte Entwicklung und interpretierte Sprachen als
Designansatz
● Implementierung dieses Ansatzes anhand einer Bildverarbeitungslösung
● Quantifizierung des Gesamtsystems hinsichtlich Wartbarkeit und
Performance
22.07.10 19
20. Quellen
● [IMMOS04] T. Klein, M. Conrad, I. Fey, M. Grochtmann: Modellbasierte
Entwicklung eingebetteter Fahrzeugsoftware bei DaimlerChrysler, Proc.
Modelling LNI, 2004.
● [JBits] S. Guccione et. Al.: Jbits – A Java Interface for Reconfigurable
Computing, Xilinx Inc.
● [Püsch05] M. Püschel et. Al.: SPIRAL: „Code Generation for DSP
Transforms“, Proc. IEEE special issue on „Program Generation,
Optimization, and Adaptation'', 2005.
● [Preußer09] T. Preußer et. Al.: Putting Queens in Carry-Chains, In: 3rd
HiPEAC Workshop on Reconfigurable Computing, Paphos, Cyprus, 2009.
● [Weiss05] A. Weiss: „Deklarative Beschreibung verteilter
signalverarbeitender Systeme“, Linux Automation Konferenz, 2005.
22.07.10 20