IPWF  •  Geschäftsbereich Informatik & Technische Physik  •  IPWF


Software - Entwicklung



Wir bieten Ihnen u.a. folgende Entwicklungsdienstleistungen an :

Technisch-Wissenschaftliche Software

Wir übernehmen Entwicklungsaufträge für kleine und große Softwareprojekte für verschiedenste Anwendungsfelder. Unser Schwerpunkt liegt im technisch-wissenschaftlichen Bereich. Wir entwickeln für Sie z.B. Ablaufsteuerungs- und Auswertungssoftware für wissenschaftliche Untersuchungen, Bedienungsoberflächen für technische Geräte, Treiber und Steuerungssoftware für Messinstrumente und Laborgeräte, Roboter- und Prozesssteuerungen, Tools und vieles mehr.
Seitens der eingesetzten Programmiersprachen reicht unser Spektrum von der Maschinen- bis zur Hochsprachenebene, wobei vorzugsweise strukturierte und objektorientierte Programmiersprachen zum Einsatz kommen. Das sind vor allem Pascal-Dialekte (FreePascal, Turbo- und Borland-Pascal, Delphi, Modula), die zwar etwas aus der Mode gekommen sind, sich aber nach wie vor hervorragend für Projekte eignen, in denen es neben perfekter Funktionalität auch auf Funktionssicherheit und leichte Wartbarkeit der Programme ankommt. Weitere von uns eingesetzte Sprachen sind u.a. Java, Smalltalk, Fortran, C/C++, Logo, Basic, Assembler, VHDL. Aufgrund jahrzehntelanger Programmiererfahrung können unsere Entwickler sich darüber hinaus schnell in weitere Sprachen einarbeiten, wenn dies für Ihr Projekt erforderlich sein sollte.
In jedem Fall können Sie sich darauf verlassen, dass wir sehr sorgfältig programmieren. Wir verwenden bewährte und sichere Methoden und Algorithmen, entwickeln bei Bedarf aber auch neue. Wir testen und kontrollieren sämtliche Softwarekomponenten bis ins Detail, bevor sie an den Kunden ausgeliefert werden (also keine „Reifung beim Endanwender“, wie es heutzutage leider nicht selten vorkommt). Dazu liefern wir immer eine ausführliche und leicht verständliche Dokumentation in deutscher Sprache. Selbstverständlich wird auch der gesamte Entwicklungsprozess intern ausführlich dokumentiert.

Softwarepflege und Weiterentwicklung

Dass wir für die von uns erstellte Software die Pflege und Weiterentwicklung anbieten, ist selbstverständlich. Aber auch für Ihre bestehende Software, die von anderen Unternehmen entwickelt wurde, bieten wir Ihnen diesen Service an. Voraussetzung ist natürlich, dass Ihnen der Quelltext vorliegt und durch dessen Veränderung keine Rechte Dritter verletzt werden. Wir sind in der Lage, auch "uralte" Software zu pflegen und weiterzuentwickeln. Dies gilt auch dann, wenn die Software unter "historischen" Betriebssystemen (z.B. MS-DOS) läuft. Wir haben in der Vergangenheit bereits Techniken entwickelt, die es uns ermöglichen, in älteren Systemumgebungen moderne Softwaredesigns zu implementieren. Diese Stellen zugleich eine Grundlage dar, um ihre alte Software auf aktuelle Betriebssysteme und aktuelle Programmiersprachen zu migrieren, was wir Ihnen somit ebenfalls anbieten können. Dabei wird ihr Programm nicht nur einfach übersetzt und transscriptiert, sondern unter Berücksichtigung moderner Methoden der Software-Entwicklung komplett überarbeitet und durch neue Komponenten ergänzt.
Aufgrund langjähriger Erfahrung mit Generationen von Rechnersystemen (z.B. die Vorläufer heutiger Prozessoren und PCs) können wir auch Unterstützung für ältere Systeme anbieten, damit Sie z.B. PC-gestützte Laborarbeitsplätze, für deren Hardware keine Unterstützung seitens der Hersteller mehr angeboten wird, weiter verwenden können. Somit sind Sie weiterhin in der Lage, notfalls auch solche Arbeiten auszuführen, für die es kein entsprechendes Equipment mehr gibt (z.B. medizinische Untersuchungen bei Patienten, die aus bestimmten Gründen nicht mit dem üblichen Instrumentarium behandelt werden können).
Wir können Ihnen u.a. Software-Unterstützung für alte Rechner folgender Hersteller anbieten: Apple, Atari, Casio, Commodore, IBM, Sharp, Sinclair. Für den Apple II / IIe ist auch Hardware-Support möglich.

Mikroprozessor- und Microcontroller-Programmierung

Für den Einsatz in der Prozess-, Steuerungs- und Automatisierungstechnik sowie in der Robotik sind Microcontroller heutzutage unentbehrlich. Wir können für Sie die Programmierung für ihr Projekt übernehmen. Wir arbeiten mit allen gängigen Microcontrollern, z.B. denen von Atmel (AVR), Microchip (PIC) und STMicroelectronics (STM), sowie auch mit ARM- und 8051-Prozessoren und Systemen wie Arduino, Raspberry Pi, ESPressif, C-Control, Gainer, Java Control (JControl) und Linux Control. Und auch für ältere Prozessor-Typen (z.B. 6502, Z80, 80x86) können wir Unterstützung anbieten.
Als Programmiersprache setzen wir in diesem Bereich vorwiegend Assembler und Python ein, aber auch Embedded Pascal, C, Processing, JavaScript, Max/MSP, Flash.
Neben den herkömmlichen Microcontrollern gibt es auch sogenannte Ein-Chip-Systeme (SoC = System on Chip), in die z.T. komplette elektronische Schaltkreise (analoge wie digitale) integriert sind. So bietet z.B. die Firma Cypress mit ihrem PSoC (Programmable System on Chip) eine Serie von Controllern an, welche über konfigurierbare analoge und digitale Blöcke verfügen, mit denen sich Schaltungen wie Analog/Digital- und Digital/Analog-Wandler, Zähler, Multiplexer, Operationsverstärker, Filter, Kommunikationsschnittstellen u.v.m. realisieren lassen. Somit können diese Microcontroller sehr flexibel eingesetzt werden und sogar in einer fertigen Schaltung noch umprogrammiert werden, um deren Funktion zu verändern oder zu erweitern. Gern programmieren und konfigurieren wir PSoC-Controller für Ihr Projekt.

Programmierbare Logik und HDL-Programmierung

Programmierbare logische Schaltkreise (PLD = Programmable Logic Device) sind ICs, deren Struktur und Funktionalität durch den Anwender (Hardwareentwickler) konfiguriert werden kann. Anders als z.B. bei Gate Arrays und ASICs wird diese Konfiguration jedoch nicht im Herstellungsprozess abschließend fixiert. Vielmehr ist dieser bei PLDs bereits vollständig abgeschlossen; die Konfiguration der fertigen Chips geschieht durch eine besondere Art der Programmierung. Diese erfolgt in der Regel durch Verwendung einer Hardwarebeschreibungssprache (HDL = Hardware Description Language) wie z.B. VHDL oder Verilog, wobei in Europa VHDL vorherrschend ist. Diese Sprachen sind universell ausgelegt und erlauben die Beschreibung einer elektronischen Schaltung unabhängig von der verwendeten Zielhardware. Die Beschreibung erfolgt in Textform und gestaltet sich wesentlich einfacher und übersichtlicher als die Erstellung eines grafischen Schaltplans, insbesondere bei komplexen Schaltungen.
PLDs bestehen im wesentlichen aus Logik-Gattern vom Typ UND und ODER sowie einer Verbindungsstruktur, deren Verknüpfungen aktiviert oder deaktiviert werden können; dadurch können beliebige logische Schaltungen implementiert werden. Im Unterschied zu Microcontrollern, die ihre Aufgaben stets sequentiell abarbeiten, findet in PLDs eine parallele Signalverarbeitung statt, d.h. wie in einer elektronischen Schaltung kann jedes "Bauelement" zu jeder Zeit seinen Zustand in Abhängigkeit seiner Eingangsgrößen ändern.
Wir verwenden in diesem Bereich vorwiegend
CPLDs (Complex Programmable Logic Device) und FPGAs (Field Programmable Gate Array), wobei die CPLD-Struktur vergleichsweise einfacher als die eines FPGA ist. Darüber hinaus gibt es auch sogenannte Mixed Signal Arrays, bei denen auf der Chipfläche zusätzlich analoge Schaltungsblöcke vorhanden sind, die - ähnlich wie bei PSoC (s.o.) - ebenfalls konfigurierbar sind. In Form sogenannter Softcores können auch Microcontroller und andere komplexe Komponenten per Software in einen FPGA implementiert werden.
Wir übernehmen für Sie gern die Programmierung und Konfiguration derartiger ICs und unterstützen Sie beim Einsatz dieser interessanten Technologien im Rahmen Ihrer Projekte.

Software für Mobiltelefone und PDAs

Mobile Kommunikationsgeräte lassen sich prinzipiell für die gleichen Aufgaben einsetzen wie herkömmliche PCs, da sie mittlerweile über ähnlich leistungsfähige Betriebssysteme verfügen wie diese. Dadurch ergeben sich vielfältige Anwendungsmöglichkeiten, auch für den technisch-wissenschaftlichen Bereich.
Wir entwickeln für Sie Software für Mobiltelefone – insbesondere SmartPhones (mit und ohne Touchscreen) – und PDAs, die es Ihnen beispielsweise ermöglicht, diese Geräte als Bedieneinheit für elektronische Steuerungen einzusetzen. Auch die hierzu notwendigen Hardware- und Softwareschnittstellen (z.B. Bluetooth) implementieren wir gern für Sie.
Als Programmiersprache setzen wir in diesem Bereich vorwiegend Java ME ein, alternativ können aber auch herstellerspezifische Entwicklungssysteme verwendet werden.

Medizininformatik und Sportinformatik

Aufgrund langjähriger Erfahrung im Bereich der medizinischen und sportwissenschaftlichen Forschung sowie der Softwareentwicklung in diesem Bereich verfügen wir über das notwendige Know-how, um effektive und anwendungsorientierte Softwareprojekte zu erstellen, die exakt und individuell auf Ihre Bedürfnisse zugeschnitten sind. In der Medizin haben wir bisher u.a. Software für die Bild- und Signalverarbeitung in der Histologie und Elektrophysiologie entwickelt. Wir befassen uns aber auch mit Telematik-Anwendungen und der Organisation von Daten und Abläufen. Im Bereich der Sportmedizin haben wir in umfangreichen Projekten Software für die Trainingssteuerung und die Erfassung biomechanischer und leistungsbezogener Daten erstellt. Gern beraten wir Sie auch bezüglich der Anwendungsmöglichkeiten aktueller Technologien für Ihr Projekt.


Info:

Oliver Malicke • Heuorts Land 6 • 22159 Hamburg • Tel. 040 - 6599500-0 • info@ipwf.de

Startseite  →  GB Informatik & Technische Physik  →  Entwicklung & Beratung  →  Softwareentwicklung

© Copyright IPWF 1996 - 2021

Letzte Änderung: 8.8.2021

Impressum