Introductie tot de SEESCOA methodologie en de Draco Runtime omgeving Yves Vandewoude Peter Rigole.

Slides:



Advertisements
Verwante presentaties
Update on EduStandard: public-private platform in Dutch education Henk Nijstad, Kennisnet / november 2013.
Advertisements

Help, ik moet naar Office 2007!?. Wat horen wij bij klanten Training “New UI will cause too big of a loss in productivity” Training “New UI will cause.
Zelf objecten maken in VBA Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
Agenda Blok 1 - Evolutie van Cloud Computing
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Atos, Atos and fish symbol, Atos Origin and fish symbol, Atos Consulting, and the fish itself are registered trademarks of Atos Origin SA. August 2006.
Deltion College Engels C1 Spreken [Edu/003] thema “Oprah at Deltion” can-do : kan duidelijke, gedetailleerde beschrijving geven van complexe onderwerpen,
Order placed Should be Nederland Netherlands can be removed here, just Scancorner Instead of ‘undefined’ -> ‘geen’ New logo should be displayed here. COUNTS.
Requirements -People are able to make their own memorial page, called a memori -The website will be build first in Dutch for extension.nl, then copied.
Een alternatief voorstel Naar aanleiding van bestudering van de IAASB voorstellen denkt de NBA na over een alternatief. Dit alternatief zal 26 september.
SAP ABAP A short introduction. SAP ABAP • Selectie: – IF …… ENDIF. – IF …. ELSE … ENDIF. – IF …. ELSEIF …. ELSEIF …. ELSE …. ENDIF. – IF condition_1.
Deltion College Engels C1 Gesprekken voeren [Edu/002]/ subvaardigheid lezen thema: Order, order…. can-do : kan een bijeenkomst voorzitten © Anne Beeker.
JQuery en ASP.NET Bart De Meyer.
Windows Workflow Foundation Workflow in jouw applicatie Dennis Mulder – Avanade
Hoogwaardig internet voor hoger onderwijs en onderzoek Amsterdam, 23 November 2005 Walter van Dijk SURFnet Development of LCPM decision-making models and.
Thursday, 10 July 2014 donderdag 10 juli 2014 Click Klik.
Project Combat Casper Bommelé Marc Eekhout Michel van der Hut
QAD Reporting & Analytics
Van domeinklasse tot implementatie
MagentaPurpleTeal PinkOrangeBlue LimeBrown RedGreen Introductie C# /.NET
Biml en Data Vault.
ICT Infrastructuur.
Accessible Instructional Materials. § Discussion: Timely access to appropriate and accessible instructional materials is an inherent component.
Nieuwe wegen in ontwerpen met CAD
© 2004 IBM Corporation Guts Wissema, OpenSource & Linux Sales, IBM Open Document Format.
VVW Toervaren. Onderwerpen Type AIS transponders Verplichting / Toelating gebruik Praktijk voorbeelden van op het schip Praktijk voorbeelden vanop de.
OOS Object geOrienteerd Software-ontwerp - 4 Codeerperikelen Singleton Specificeren Scheiding GUI en Domein Facade.
Faculteit Ingenieurswetenschappen & Wetenschappen Software Engineering Publicatie Management Systeem Groep se1 Software Engineering Thierry Coppens.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
SCENARIO BASED PRODUCT DESIGN
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Server side scripting 1 Webtechnologie Lennart Herlaar.
Network Address Translation
1 FLOWer Referenties Functionaliteit: Componenten Role model Data handling model Demonstratie Studio en Beheeromgeving Architectuur en integratie UWV architectuur.
Enterprise Application Integration Walter Moerkerken Ilona Wilmont Integratie Software Systemen 8 mei 2006.
LokWeb and LWB 7 maart 2006 by Maarten and Hilverd.
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
1 Ben Bruidegom AMSTEL-instituut Universiteit van Amsterdam Reehorstconferentie 2007 NLT-module Digitale Techniek Ontwerpen van digitale schakelingen met.
1 Woudschotenconferentie 2006 Ben Bruidegom AMSTEL-instituut Universiteit van Amsterdam NLT-module Digitale Techniek Ontwerpen van digitale schakelingen.
Client Management met ConfigMgr Jannes Alink – Management.
Applicatieplatform congres 12 & 13 maart
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
Real-Time Systems (RTSYST) Week IPC inter process communication Shared variabele based (H5) Message based (H6) Kan ook gebruikt worden in systemen.
Netwerk Algorithms: Shortest paths1 Shortest paths II Network Algorithms 2004.
JAVA -- H81 Exception: ongewone of foutieve situatie->prog. mislukt kan onderschept en afgehandeld worden. = een object van de klasse Throwable, gegenereerd.
CONTROLESTRUCTUREN (DEEL 2)
Hibernate Object relational mapping
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Universal Modeling Language … why you need models? Models are necessary to communicate,
Algoritmiek Java GUIs, AWT en Swing API Overzicht te bestuderen stof, voorbeeldtentamen Hoorcollege 15 - Ma. 11 dec L.M. Bosveld-de Smet.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Hoofdstuk 5 – Object Based Programmeren
1 HOOFDSTUK 5 CONTROLESTRUCTUREN (DEEL 2) 5.1. INTRODUCTIE  Vervolg discussie omtrent gestructureerd programmeren  Introductie van de overblijvende controlestructuren.
Visual Basic.Net - Overzicht
Geheugen, distributie en netwerken Netwerken: de basis voor distributie van gegevens en taken (processen) –bestaan zo’n 40 jaar, zeer snelle ontwikkeling.
Overzicht  Is een kennissysteem een oplossing?  Probleem- en domeinmodel  Methodologie.
Hoofdstuk 9 Objecten en klassen.
Deltion College Engels C1 Gesprekken voeren [Edu/006] thema: ‘I was wondering what you think of…’ can-do : kan deelnemen aan de conversatie bij zeer formele.
DARE SUMMER SCHOOL Metadata Peter van Huisstede / Ursula Oberst 28 juni 2005.
Shortest path with negative arc-costs allowed. Dijkstra?
EML en IMS Learning Design
Plan Coordination by Revision in Collective Agent Based Systems Adriaan ter Mors en Gijsbert Deelder Plan Coordination by Revision in Collective.
In samenwerking met HowITsDone JSF versus AngularJS client-server 2.0.
Dick Dijkstra Azure Technical Specialist Microsoft
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
The beast has been released! 4 arcade-style games Interviews with famous people in the game industry Develop browsers games for any device (phone, tablet,
Algoritmiek Class Hierarchies, Inheritance. Hoorcollege 12 - Ma. 20 nov L.M. Bosveld-de Smet.
1 OMI Modelleren van content. 2 Vocabulary Content “gevangen” in begrippenapparaat: Vocabulary: lijst met termen nauwelijks semantiek Ontology:
Datacommunicatie en netwerken
Transcript van de presentatie:

Introductie tot de SEESCOA methodologie en de Draco Runtime omgeving Yves Vandewoude Peter Rigole

Overzicht Concepten van SEESCOA Implementatie van een SEESCOA component Hoe gaat het in zijn werk at runtime? Voorbeeldje op Draco Draco architectuur  Core Modules  Messageflow  Extension Modules Voorbeeld van een extension module: distribution Open Issues / Future work

SEESCOA Componenten methodologie met als concepten:  Component Blueprint Instance  Port Blueprint Instance  Connector camera Motion detector switch Video recorder

Draco Implementatie van SEESCOA componenten .component file (en eventueel.java files) Templates zullen worden gegenereerd met de CCOM tool van David Urting  De.component files worden gepreprocessed en omgezet naar.java files  Uiteindelijke resultaat van is een.jar die door Draco kan worden geinstantieerd

Draco Voorbeeld van.component file:  NumberGenerator & NumberDisplay package components.numberdisplay; component NumberDisplay { portgroup Input 1 { message Number() { System.out.println("Received number: " + $$inmessage::value); } NumberDisplay:

Implementatie van Componenten component NumberGenerator{ protected int $delay = 1000;... multicastport Value 10; portgroup Control 1 { message start() {... $delay = Integer.parseInt((String) $$inmessage::timer); $ex = new Execution(NumberGenerator.this); new Thread($ex, "Execution").start(); } message stop() {... }} NumberGenerator:

Implementatie van Componenten class Execution implements Runnable {... private NumberGenerator $ng; Execution(NumberGenerator ng) { $ng = ng; } public void run() {... Integer valueToSend = new Integer($rnd.nextInt(100)); message mNew = Number; mNew::value = valueToSend... $ng.Value..mNew; } }}} NumberGenerator (2):

Implementatie van Componenten class Execution implements Runnable {... private NumberGenerator $ng; Execution(NumberGenerator ng) { $ng = ng; } public void run() {... Integer valueToSend = new Integer($rnd.nextInt(100)); message mNew = Number; mNew::value = valueToSend... $ng.Value..mNew; } }}} NumberGenerator (2):

At Runtime Start Draco

At Runtime Load Components

At Runtime Connect Components

At Runtime Start Components

At Runtime Start Components

Draco Architectuur

Core Modules worden gekozen at startup time  Voor zeer ingrijpende aanpassingen kan een custom core module worden geschreven  Zijn niet wijzigbaar at runtime  Profielen laten toe makkelijk te switchen tussen verschillende systemen: CoreModules.xml Mogelijke toepassingen:  Totaal andere component structuur  Andere scheduler

Draco Startup Profiles draco.core.componentmanager.defaultcomponentmanager.DefaultComponentManager draco.core.scheduler.defaultscheduler.DefaultScheduler draco.core.modulemanager.defaultmodulemanager.DefaultModuleManager draco.core.connectormanager.defaultconnectormanager.DefaultConnectorManager draco.core.messagemanager.defaultmessagemanager.DefaultMessageManager

Draco Message Delivery: Concept

Draco Message Delivery: Implementation Delivery Chain: Sending Chain:

Draco Extensie Modules Een extensiemodule laat toe om de functionaliteit van Draco uit te breiden. Vb:  Dynamic Updating  Distributie  CRuMB: Contract negotiation Kunnen dynamisch worden ingeladen en verwijderd in Draco Koppelen zich aan Draco door:  MessageHandlers toe te voegen om berichten te onderscheppen  Zich te registreren bij de coremodules via Publish-Subscribe mechanisme  Geen Controlemechanisme: een module heeft volledige toegang tot de interne werking van Draco en wordt als dusdanig vertrouwd (itt componenten die worden afgeschermd)

Draco Distribution Module (DM) Concepts:  Connection  Proxy component (very light-weight component) Completely transparant for the Draco Core  Simply use proxy components as ordinary components  Creating connections: DM monitors creation DM automatically creates equivalent connection on the other side DM creates necessary proxy components on other side if necessary

Transparent proxy components camera Motion detector switch Video recorder Video Recorder proxy Switch proxy Connection

Transparent Ad Hoc Routing host 1 host 2 host 3 camera switchSwitch proxy Camera proxy Switch proxy Camera proxy

Draco DM: internals Fully extensible  Connection is an abstract concept  May be implemented by ANY type of connection loaded at runtime by factory method  Creation of proxies Load Module dist from Distribution.jar ModuleCommand dist CreateConnectionServer TcpIpConnection tcpserver 2222 ModuleCommand distribution RenewRemoteComponentCache testconnection ModuleCommand distribution RetrieveRemoteComponents testconnection ModuleCommand dist CreateProxyComponent testconnection:Switch

Open Issues / Future work Ontwikkeling eigen classloader voor Draco Uitbreiding van connectoren  Aanpasbare syntactic vertaling  Multi-Party connectoren Centraal Threadbeheer door Draco ipv actieve componenten zelf Threads te laten aanmaken Hierarchische componenten?  Eerder een statisch issue

The End Bedankt voor de opportuniteit om deze voordracht te mogen houden. Het is een onbeschrijfelijke eer en een ervaring die we niet snel zullen vergeten. Yves & Peter