Java in Space Joffrey Lambregs. Agenda Introductie Waarom van C naar Java Tekortkomingen van Java Oplossingen JSR302 DAL-Levels Data diodes Werken in.

Slides:



Advertisements
Verwante presentaties
CIMSOLUTIONS B.V. CIMSOLUTIONS Automation for Industry & Business SIG Embedded “Proces Ellende” André Vink CDP real-time embedded 28 september 2005.
Advertisements

Wideband Delphi methode
Gefaseerd migreren van Novell Netware naar Windows 2000 Server Bon Thomassen Manager R&D Azlan Training
Embedded systemen Embedded software.
Microsoft Dynamics Entrepreneur Solution 2008 Product Demo.
De kracht van SBA Business Solutions Vanuit een oplossingsgerichte gedachte, waarbij de klant altijd centraal staat, koppelen wij innovatieve producten.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
EDC ervaringen op de werkvloer – fase I/IIa
Systeemintegratie in de zorg Introductie op het thema Bart Degryse.
Windows Server 2012 Optimaliseer uw IT. Ready for the Future.

1 Device driver. 2 Hardware Operating Systeem Prog1Prog2 System calls/ API Device drivers Gebruiker afschermen van de hardware.
Beheer uw chemicaliën op school op overzichtelijke en verantwoorde wijze Chemicaliënmanager.
Van domeinklasse tot implementatie
PH 09 E V Algemeen Wat is ACES? ACES is een adviescentrum dat een volledig onafhankelijk advies kan geven op het gebied van elektronische sluitsystemen.
Het ontwerpen van een klasse
Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
De kracht van SBA Business Solutions Vanuit een oplossingsgerichte gedachte, waarbij de klant altijd centraal staat, koppelen wij innovatieve producten.
Automation and Drives PROFINET technologie A&D AS/PT2/MC, 08/2005 Trends & functionaliteit PROFINET  Real-time communicatie  Veldunits  Motion Control.
Greenfoot Workshop Bobby - Snake.
De implementatie van de UIML standaard in UIML.NET Ingo Berben Eindwerk voorgedragen tot het behalen van de graad van bachelor in de informatica/ICT/kennistechnologie.
Hoofdstuk 6: Controle structuren
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 10: Omgaan met problemen.
PLDA – Connectiviteit Rudolf de Schipper Geoffroy Fauveaux 09/11/2004.
1 Orientatie InformatieSystemen K.M.van Hee hgl. architectuur van informatiesystemen dir. Deloitte & Touche Bakkenist TU/e 2001.
Verdieping Programmeren in Java - deel 1 college 6 mei 2001.
De kracht van SBA Business Solutions Vanuit een oplossingsgerichte gedachte, waarbij de klant altijd centraal staat, koppelen wij innovatieve producten.
De kracht van SBA Business Solutions Vanuit een oplossingsgerichte gedachte, waarbij de klant altijd centraal staat, koppelen wij innovatieve producten.
De kracht van SBA Business Solutions Vanuit een oplossingsgerichte gedachte, waarbij de klant altijd centraal staat, koppelen wij innovatieve producten.
Numerieke Natuurkunde
Real-Time Systems (RTSYST) Week 2. Process/Thread states Scheduler = deel van OS dat de toestanden van processen/threads bepaald. OS gebruikt timerinterrupt.
Real-Time Systems (RTSYST) Week Priority inheritance voorbeeld taakprioexecutionrelease time d4EEQVE4 c3EVVE2 b2EE2 a1EQQQQE0.
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
Introductie/Agenda 1 Cor Verbaas 1.Business Analist. 2.Werkzaam bij AEP sinds juni Verantwoordelijk voor de business applicaties binnen AEP. 4.MFGPro.
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor.
Event Handling in Embedded Systems.  Wat is een event?  Welke events zijn het meest “time-critical”?  Welke toestand wordt door de CPU opgeslagen?
Contracten voor Sandboxing gebaseerd op Stack Inspection Jan Smans, Bart Jacobs en Frank Piessens.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Introductie OHSAS
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
De kracht van OES2 op Linux!. Agenda Sterke punten van OES2 Beheer OES2, hoe ziet dit er uit? Producten in OES2 Nieuw in OES2 SP1 (nov/dec 2008) Migratie.
Visual Basic 2010 – What’s new André Obelink
Seminarie programmeren Het geheugen. Menu Memory 1.About 2.Mem Mgmt/del 3.Clear entries 4.clrAllLists 5.Archive 6.Unarchive 7.Reset 8.group →Sec mem.
Technische Architectuur
PADS4 maakt het eenvoudig om informatie te verspreiden naar een specifiek publiek op de juiste plaats en het juiste moment PADS4 is een professionele oplossing.
19 juni 2008 PRESERVERING Van beleid naar praktijk.
Inleiding tot programmeren
Datacommunicatie en netwerken
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
1 Introductie next MCT - Programmeren 2 © S. Walcarius Waarom java? programma machinetaal (.exe) compilen platformspecifiek Een exe programma.
3D modellen van de Nederlandse Ondergrond
Les 5 De Muis (deel 2) Drag & Drop
Faculty name Weerhoudt geïntensiveerde handhaving gecombineerd met een alcohol stappenplan adolescenten ervan om alcohol te drinken of dronken te worden?
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
Minor Project- en Programmamanagement
Premium Cloud Backup Makkelijk.Veilig.Betrouwbaar.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Java & het Web Programma: Contexts Listeners Scope/Attributes Thread safety.
1 IT Service Management George Pluimakers Theorie (3)
Node.js en NPM. Node.js Open source, crossplatform runtime omgeving voor server-side javascript applicaties, primair bedoel snelle, schaalbare netwerk.
Adapter voor industriële wireless sensor netwerken Student: Glen Vanroelen Interne promotor: Tim Dams Externe promotor: Kevin Heylen (Intation)
Functional Web Applications Implementation and Use of Client-Side Interpreters Jan Martin Jansen.
Netwerken 5 Enigma Netwerken paragraaf 8. Transportlaag Netwerklaag (IP-protocol) Best-effort pakketcommunicatie Transportlaag (UDP- en TCP-protocol)
Ministerie van BZK – 3 november 2016
WIFI IN DE GEZONDHEIDSZORG
Game: omgaan met tijd (Jewel-Jam)
OPENINGSCASE: De Victoria Country Fire Authority in Australië geeft hulp met nieuwe informatiesystemen.
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Java in Space Joffrey Lambregs

Agenda Introductie Waarom van C naar Java Tekortkomingen van Java Oplossingen JSR302 DAL-Levels Data diodes Werken in space

Introductie Joffrey Lambregs Sinds 1992 werkzaam in de ICT Ervaring in telecom en ruimtevaart Sinds 2008 werkzaam bij IPROFS als Software Architect

Waarom van C naar Java Eerst Mission later Control Kortere ontwikkeltrajecten –Hergebruik van eigen componenten –Beschikbaarheid van uitgebreide libraries Support voor multithreading –Niet meer OS afhankelijk (RTOS) –Minder complex, geen kennis van het OS meer nodig Minder foutgevoelige code –Geen pointermanipulatie –83% van LOS door foute pointermanipulatie

Tekortkomingen van java Meeste systemen in de ruimtevaart zijn RT systemen –Vaak verward met snelle systemen –RT is de eis waarbij een event–response cyclus voor een bepaalde deadline moet afgehandeld zijn Geen directe toegang tot physical memory Automatic garbage collection –Vertragend –Niet in control Tijd is niet nauwkeurig genoeg in java (millisec) Threadmanagement –Low prio blocking resource –Transfer of control

Oplossing: RTSJ Real Time Specification for Java Sun implementatie is JRTS Overzicht van de 6 aandachtsgebieden : –Thread Scheduling and Dispatching –Memory Management –Asynchronous Event Handling –Asynchronous Transfer of Control –Time resolution –Physical Memory Access

Thread Scheduling and Dispatching Base scheduler met standaard functies voor thread-management Eigen schedule algorithme implementeren Soorten threads : real-time threads –Geen priority inversion –28 priority levels no-heap-real-time threads –Niet onderbroken door garbage collector

Memory Management Zonder garbage collector geheugen op een andere manier beheren. Immortal memory –Objecten blijven bestaan tot het programma eindigt. Scoped memory –Objecten leven enkel in een bepaalde scope, bv. een method. Zodra het programma de scope verlaat worden de objecten vernietigd. Object MemoryArea HeapMemory ScopedMemory ImmortalMemory

Asynchronous Event Handling AsyncEventHandler –Soort van thread met specifieke eigenschappen –handleAsyncEvent() method AsyncEventHandler hdlrA = new AsyncEventHandler(){ public void handleAsyncEvent(){ do{ System.out.print(“Handler A executed.”); } while(getAndDecrementPendingFireCount()>0); } AsyncEvent –Object dat een gebeurtenis representeert AsyncEvent event1 = new AsyncEvent(); event1.addHandler(hdlrA); System.out.println(“AsyncEvent Test.\n”); event1.fire(); System.out.println(“Event fired.\n”); }

Asynchronous Transfer of Control Een gebeurtenis in het systeem of de omgeving ervan (external event) kan onmiddellijke aandacht nodig hebben of een aktie vereisen ATC is een manier waarbij threads elkaar op een veilige manier kunnen onderbreken Vaak gebruikt bij iteratieve berekeningen waarbij het resultaat bij elke iteratie beter wordt. De beschikbare tijd hiervoor kan afhankelijk zijn van de omstandigheden. De thread die de berekening uitvoert zal de controle dan teruggeven zodra de beschikbare tijd verstreken is.

Time resolution high-resolution (nanosecond accuracy) time

Physical Memory Access Voorheen was het niet mogelijk om fysiek geheugen te adresseren Device drivers en memory mapped I/O konden daarom niet in Java gebeuren In RTSJ is dit wel mogelijk

JSR302 Safety Critical Java Technology Afgeleide van DO-178B (software for avionics systems) Aanvulling op RTSJ Geen “dead code” Altijd in een safe state terugvallen Source mapt 1 op 1 op de object code

DAL Levels voor java code

Data diodes Unidirectioneel berichtenverkeer Comm tussen verschillende classificaties (L->H) Zo diep mogelijk Physical layer Niet alle protocollen mogelijk (Ack) Mogelijke data-diode is een fibre optic met zender ontvanger verwijderd (foutloos)

Werken in Space Procedure procedure procedure –Mail, HD, douane,… Alles komt bovendrijven Goed verhaal op feesten en partijen Makkelijk uit te leggen Spaarkaart snel vol

Einde