LBC Software Engineering & Consulting

Startseite
Kontakt


Projekte

Medizinal-Objektmodel-Design

Für einen internationalen Medizinalkonzern im Bereich Radiotherapie wurde das Design des gesamten Medizinal-Objektmodels hinsichtlich der Effizienz und Sicherheit erweitert und verbessert. Ein neuer effizienter Cache für Patienten-Bilddaten wurde entwickelt und integriert. Dieses erlaubt es, konzeptionell beliebig viele und grosse Bilddaten zu bearbeiten - weitaus mehr als im virtuellen und realen Hauptspeicher Platz haben. Ferner wurde ein klassen-übergreifender Mechanismus zur Kontrolle und Buchhaltung von Änderungen auf sämtlichen Daten des medizinischen Objektmodels konzipiert und implementiert. Zusätzlich wurde das Objektmodel im Bereich der Bestrahlungsinformationen neu entworfen, so dass eine signifikant effizientere Speicherung und Bearbeitung erreicht worden ist.
Aufgaben : Analyse, Design, Implementierung, Verifikation und Dokumentation.
Technologien: C#, .NET, Windows SDK, ADO.NET.

Hochgeschwindigkeits-Datenbank

Für eine Startup-Innovationsfirma im Großraum Zürich wird eine neue Datenbank entwickelt, welche mittels eines neuen Designs in der Skalierung und Effizienz herkömmliche Datenbanksysteme substanziell übertrifft. Unter Einsatz von geeigneten Datenstrukturen wird eine fehlersichere (fault-tolerant) Organisation der Daten auf Disks für ein schnelles Finden, Einfügen und Löschen erreicht. Durch Messungen mit umfassenden Datenmengen wird die Effizienz und Skalierung der Datenbank mit existierenden Systemen verglichen.
Aufgaben: Design, Implementierung und Verifikation.
Technologien: C++, SDK, COM.

Medizinaldaten-Import und Export

Für einen führenden Hersteller von Medizinalgeräten wurde ein Import- und Exportmechanismus von Medizinaldaten entwickelt. Medizinalszenarien können kompakt und anschaulich in XML beschrieben werden, welche dann mittels des Imports in Objekte (notwendigerweise komplex und nicht eins-zu-eins) abgebildet werden. Vom XML aus können existierende Medizinaldaten, welche im Standard-Medizinalformat vorliegen, selektiv referenziert werden. Mittels eines Plugin-Konzepts ist der Import und Export erweiterbar und anpassbar. Zusätzlich wurde das bestehende Medizinalframework dahingehend geändert, dass eine Verwendung ohne Datenbank möglich wird und der Import und Export ohne Datenbankverbindung eingesetzt werden kann. Die Datenbankanbindung kann auch zur Laufzeit aktiviert und deaktiviert werden.
Aufgaben: Analyse, Design, Implementierung, Verifikation und Dokumentation.
Technologien: C#, .NET, ADO.NET, XML / XML Schema.

Persistentes Objektsystem für Medizinalsysteme

Bei der Entwicklung einer neuen Softwaregeneration benötigte ein führender Anbieter von Medizinalsystemen ein neues Framework für die automatische persistente Verwaltung von Objekten. Mittels eines kleinen Laufzeitsystems wurde eine Lösung geschaffen, welche die Medizinalobjekte automatisch bei Bedarf von der Datenbank lädt und Veränderungen an Medizinalobjekten automatisch zurückschreibt. Unter anderem werden auch die Beziehungen zwischen den Objekten aufgrund der Referenzen automatisch konsistent gehalten. Dies erlaubt es dem Programmierer, die persistenten Medizinalobjekte unter Transparenz der zugrunde liegenden Datenbank als gewöhnliche .NET Objekte im Hauptspeicher zu verwenden. Die Abbildung der Objekte auf eine bestehende relationale Datenbank können separat in XML spezifiziert werden.
Aufgaben: Analyse, Design, Implementierung, Validierung und Dokumentation.
Technologien: C#, ADO.NET, SQL, Sybase DB.

Prozesssteuerung im Generatorenbereich

Zur Berechnung von neuen Generatoren wurde für einen internationalen Energiekonzern ein Softwaresystem zur Ausführungsteuerung von Berechnungsprozessen entwickelt. Die Prozessabläufe werden dabei in XML beschrieben. Abgesehen von der Prozesssteuerung bietet das System auch grafische Eingabemasken für Berechnungsparameter, wobei die Masken ebenfalls in XML konfiguriert werden. Das Projekt umfasst neben der Entwicklung der Steuerung auch die Migration von bestehenden Java-Programmen sowie die Integration von bestehenden Fortran-Programmen in das neue System.
Aufgaben: Analyse, Design, Implementierung.
Technologien: C#, .NET, Java, JNI, Fortran, XML / XML Schema.

Design eines zuverlässiges Nachrichtensystems

Für einen internationalen Medizinalkonzern wurde ein Architekturdesign eines sicheren Peer-to-Peer Nachrichtensystems ausgearbeitet. Das System ist ausgelegt, um in jeden Fall zuverlässige Ënd-zu-End-Datenübertragung zwischen Applikationen zu garantieren. Zusätzlich bietet das Systemdesign Redundanz, so dass bei Ausfall eines System eine automatische Umleitung zu alternativen Ersatzrechner stattfindet. Das Model basiert auf automatischer Namensauflösung mit effizienter dezentraler Propagierung von Konfigurationsänderungen und funktioniert auch über Firewall-Grenzen hinweg.
Aufgaben: Anforderungsanalyse, Lösungsarchitektur, Kosten- und Risikenschätzung.
Technologien: .NET WCF.

Design eines Medizinal-Überwachungssystems

Für einen internationalen Medizinalkonzern wurde ein Architekturdesign für ein Überwachungsystem von deren Geräten und Anwendungen im Netzwerk ausgearbeitet. Die Ereignisse werden lokal aufgezeichnet, gefiltert, und bei Bedarf an einen oder mehrere zentrale Rechner weitergeleitet. Das Design unterstützt auch eine automatische Mustererkennung nach dynamisch konfigurierbaren Regeln, so dass für definierte Ereignisse unmittelbar Alarme ausgelöst werden können.
Aufgaben: Anforderungsanalyse, Lösungsarchitektur, Kosten- und Risikenschätzung.
Technologien: .NET Framework, MS SQL Server, XML.

Parallele Verkehrssimulation

Zusammen mit dem Institut für Verkehrstechnik an der TU Berlin wurde ein neuartiges Simulationssystem entwickelt, in welchem alle Fahrzeuge als selbständig laufende parallele Objekte modelliert sind. Zu diesem Zweck wurde die eigens neu entwickelte Programmiersprache der strukturierten nebenläufigen Komponenten eingesetzt. Umfassende Verkehrsszenarien (z.B. der Großraum Zürich) wurden mithilfe eines selbst entwickelten kleinen Betriebssystems berechnet, welches in der Lage ist, Millionen von Leichtgewichtsprozessen effizient zu unterstützten. Die neue Verkehrssimulation ermöglicht nicht nur eine natürlichere Modellierung der Fahrzeuge sondern auch eine wesentlich höhere Ausführungsgeschwindigkeit als klassische Simulationen. Zum Vergleich wurden deshalb in diesem Projekt auch umfassende Simulationspakete basierend auf klassischer Simulationstechnik in C++ und C# implementiert.
Aufgaben: Design, Implementierung, Verifikation und Dokumentation.
Technologien: Eigene Komponentensprache, C++, C#.

Komponentensprache für strukturierte parallele Programmierung

Im Rahmen der Forschung an der ETH Zürich wurde eine neue Programmiersprache entwickelt, welches auf einem allgemeinen Begriff der Komponente basiert. Die Komponenten sind dabei durch drei Beziehungen gekennzeichnet, nämlich (1) die hierarchische Komposition ohne explizite Referenzen, (2) die Verknüpfung mit einem dualen Konzept von angebotenen und erforderten Schnittstellen, sowie (3) die Interaktion durch Kommunikation. Im Vergleich zu heutiger Objektorientierung ergeben sich daraus wesentliche Verbesserungen: Die neue Sprache unterstützt allgemeine hierarchische Einkapselung, separate zustandsbehaftete Kommunikation zwischen den Komponenten, inhärente Nebenläufigkeit unter Ausschluss von Races, symmetrischer Polymorphismus getrennt von Code-Wiederverwendung, sowie hierarchische Existenzabhängigkeiten unter den Komponenten. Letzteres ermöglicht eine sichere dynamische Speicherverwaltung ohne Garbage Collector. Die Sprache ist durch einen schnellen Compiler und ein effizientes Laufzeitsystem implementiert.
Aufgaben: Design, Implementierung, Verifikation und Dokumentation.
Technologien: Eigene Komponentensprache.

Aufgabenverwaltungssystem

Für einen internationalen Publizisten wurde ein System zur automatischen Verwaltung von Aufgaben (Tasks) entwickelt. Das System ist in Microsoft Outlook integriert und kann Tasks aus Excel-Listen und beliebigen E-Mails extrahieren und mit Datum und Priorität zuteilen. Das System bietet auch besondere Funktionalität wie zum Beispiel Duplikatenelimination.
Aufgaben: Analyse, Design, Implementierung, Verifikation, Dokumentation und Integration.
Technologien: VB.NET, VBA.

Betriebssystem für leistungsstarke Nebenläufigkeit

Zur Unterstützung hochgradig nebenläufiger Software wurde ein neues kleines Betriebssystem (in Oberon) entwickelt (Zielplattform PC IA32). Der Kern des Systems setzt innovative Konzepte ein, um eine sehr hohe Anzahl an nebenläufigen Prozessen effizient zu unterstützen. Dies sind zum Beispiel Leichtgewichtsprozesse mit beliebig kleinen Stacks sowie kosteneffiziente Kontextwechsel und Preemption basiert auf Code-Instrumentierung. Im Vergleich zu anderen Systemen weist das neue Laufzeitsystem eine deutlich höhere Skalierbarkeit und eine wesentlich schnellere Ausführungsgeschwindigkeit für parallele Programme auf.
Aufgaben: Design, Implementierung, Verifikation und Dokumentation.
Technologien: Eigene Oberon-Sprachvariante, Active Oberon.

Komponentenorientiertes Framework für Radiotherapiesysteme

Für einen führenden Hersteller von Medizinalsystemen galt es das bestehende Softwaresystem für Radiotherapie dahingehend zu ändern, dass ein gezieltes Ansprechen und Testen der einzelnen Funktionalitäten von außen möglich wird. Dazu wurde ein komponentenorientiertes Framework in COM entwickelt, welches die einzelnen Medizinalabstraktionen nach außen hin als Komponenten repräsentiert und nach innen auf den existierenden Code abbildet. So konnte ohne nennenswerte Änderung des bestehenden Systems die Medizinalsoftware komponententauglich gemacht werden. Das heißt, es können nun per Programm oder VB-Script spezifische Patientenkonfigurationen und Medizinalszenarien erstellt werden, um diese anschließend automatisch zu testen.
Aufgaben: Analyse, Design, Implementierung, Verifikation und Dokumentation.
Technologien: C++, COM, ATL, .NET/COM Interop.

Persistente Programmiersprache

Im Rahmen einer Forschungsarbeit an der ETH Zürich ging es um die Entwicklung einer objektorientierten Programmiersprache mit institutionalisierter Persistenz. Im Gegensatz zu gängigen Programmiersprachen muss sich der Programmierer nicht mehr um die Speicherung von Objekten in eine separate Datenbank kümmern. Stattdessen entsteht die Illusion eines unendlich lang laufenden Programms, das bei Unterbrüchen den Programmzustand stets beibehält und nach Neustarts des Rechners weiterläuft. Die Speicherung der Objekte geschieht dabei hinter den Kulissen des Programmierers. Zu diesem Zweck ist eine eigene leistungsfähige objektorientierte Datenbank entwickelt worden, welche im Hintergrund operiert. Um eine effiziente Ausführung zu gewährleisten, besitzt das Laufzeitsystem ein Caching-Verfahren, das simultan mit einem inkrementellen Garbage Collector im persistenten Speicher läuft. Die Sprache und das System basieren auf Active Oberon und sind im Vergleich zu analogen Entwicklungen mit Java, MySQL und OR-Mapper um Faktor 30 bis 80 schneller.
Aufgaben: Analyse, Design, Implementierung, Verifikation und Dokumentation.
Technologien: Active Oberon, Java, JDO, MySQL.

Web-Informationssystem für Sportresultate

Im Auftrag eines Zürcher Werbeunternehmens wurde ein umfassendes Web-Informationssystem für Resultate im Pferdesport entwickelt. Das System unterstützt unter anderem auch die Erfassung und Administration über das Web sowie verschiedene automatische Analyse- und Vorhersagefunktionen.
Aufgaben: Planung, Analyse, Design, Implementierung, Verifikation, Dokumentation und Integration.
Technologien: ASP.NET, MS SQL Server.

Generischer Webshop

Mit einem generischen Webshop-System will ein Zürcher Werbeunternehmen der wiederkehrenden Nachfrage seiner Kunden nach Web-Verkaufssystemen gerecht werden. Deshalb wurde ein solches System mit einem generischen Datenmodell unter Verwendung von ASP.NET und einer MS SQL-Datenbank programmiert. Das Layout des Webshops kann mittels XSL-Stylesheets maßgeschneidert werden. Die Konfiguration und Administration des Webshops ist ebenfalls via Web realisiert.
Aufgaben: Planung, Analyse, Design, Implementierung, Verifikation, Dokumentation und Integration.
Technologien: ASP.NET, XML, XSL, MS SQL Server.

Kostenoptimale Telefonroutenberechnung

Für einen mittelgroßen Telefonieanbieter wurde ein Tool zur Berechnung der kostenoptimalen Telefonrouten hergestellt. Das Tool wurde als Office-Plugin integriert und führte die Berechnungen aufgrund von aktuellen Kostendaten aus Excel-Tabellen durch. Das Tool erlaubt den Export von Konfigurationen für die Einstellung des operativen Routingsystems.
Aufgaben: Planung, Analyse, Design, Implementierung, Verifikation, Dokumentation und Integration.
Technologien: VB, VBA.

Komponentenorientiertes Framework zur Entwicklung dynamischer Webseiten

Ziel dieser Arbeit an der ETH Zürich war es, ein einfaches und mächtiges komponentenorientiertes Framework zur Erstellung von dynamischen Webseiten zu entwickeln. Das Framework unterstützt sowohl zustandslose und zusandsbehaftete Oberon Komponenten, die jeweils in XHTML abbilden und als XML-Tags in der Webseite verwendet werden. Mittels eines Postorder-Traversierung- und Generierungsverfahrens lassen sich die Komponenten beliebig zusammensetzen, ohne dass die Überkomponente die Abbildung der Unterkomponente kennen muss.
Aufgaben: Analyse, Design, Implementierung, Verifikation und Dokumentation.
Technologien: Active Oberon, XML, XHTML.

Dokumentenmanager

Für eine bekannte Innovationsfirma wurde ein Tool zur automatischen Corporate-Design-Anpassung von Office-Dokumenten programmiert.
Aufgaben: Analyse, Design, Implementierung, Verifikation und Dokumentation.
Technologien: VB, VBA, COM.

Impressum
Rechtshinweis

© 2012 LBC GmbH