Smart Personal Objects Technology (SPOT) Dario Airoldi Developer & Platform Evangelism Italy

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

IBM System i Il Sistema Enterprise per la PMI
Cache Memory Prof. G. Nicosia University of Catania
© 2010 Colt Telecom Group Limited. All rights reserved. Cloud Computing Lapproccio Colt Dionigi Faccedna.
Teoria e Tecniche del Riconoscimento
Interfacce Java.
Midrange Modernization Conference 1 Scenari evolutivi per le soluzioni basate su AS/400 Walter Poloni Direttore Developer & Platform Evangelism Microsoft.
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
Luca Bianchi Windows Development Day Bologna 28 gennaio 2005 SQL Server Desktop Engine (MSDE) & SQL Server 2005 Express.
La piattaforma Microsoft per lo sviluppo di applicazioni
ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET, dietro le quinte Componenti principali di una applicazione.
La gestione e il controllo dellinfrastruttura IT con System Center: dalla piccola alla grande azienda System Center Operations Manager 2007 e System Center.
Il Consolidamento di Servizi Virtual Server 2005 PierGiorgio Malusardi Evangelist - IT Professional Microsoft.
Sql Server 2005 Integration Services - Introduzione Franco Perduca Factory Software
Vincenzo Campanale PM Security & Management System Center, DSI e la Roadmap.
DG Ricerca Ambientale e Sviluppo FIRMS' FUNDING SCHEMES AND ENVIRONMENTAL PURPOSES IN THE EU STRUCTURAL FUNDS (Monitoring of environmental firms funding.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Un DataBase Management System (DBMS) relazionale client/server.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
B. Pernici WP 8 Exploitation Roma, 24 novembre 2005.
Pierluigi Plebani - Politecnico di Milano MAIS Registry URBE (Uddi Registry By Example) WP2 Roma - 25 Novembre 2005.
1 Fac.Scienze – Università di Trento Programmazione 2 - Marco Ronchetti Java JAVA: una introduzione.
J0 1 Marco Ronchetti Java Threads & Sincronizzazione.
1 Fac.Scienze – Università di Trento Programmazione 2 - Marco Ronchetti Java JAVA: una introduzione.
prompt> java SumAverage
1 struct Pila { private: int size; int defaultGrowthSize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialSize) ; Pila();
Biometry to enhance smart card security (MOC using TOC protocol)
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Infrastruttura & Competenze ICT ENEA
Fanno ormai parte della nostra vita di tutti i giorni….
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Introduzione Grid1 Introduzione ai Sistemi Grid. Introduzione Grid2 Generalità Un sistema Grid permette allutente di richiedere lesecuzione di un servizio.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
ATE / 31 Lezione 3 i sistemi automatici di misurazione - gli ATE.
Componenti dell’architettura Oracle
A.N 991 Client server SQL DBMS TP monitors componenti middleware CORBA Web server OTM HTML Protocolli Sicurezza dati istruzioni funzioni oggetti interfacce.
SQL Server 2012 LocalDB.
realizzazione app per Google Android OS
Articoli e codice: Blog: Profilo MVP:
Progetto Rover – Fase 1. Obiettivo e Vincoli Obiettivo è creare applicazione capace di controllare in remoto un Rover, dotato di torretta sensoriale e.
Cosa vuol dire «Embedded»? Valter
Format Fusion SD and HD Kahuna. Kahuna Completamente un nuovo design Focalizzato per il mercato del live production Nuovo Pannello di controllo e mainframe.
PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 / 2007 Sessione III FACOLTÀ DI INGEGNERIA CORSO DI LAUREA.
WPF per il client Desktop
14° Workshop – DotNetMarche :: Castelfidardo, 16 Aprile 2010 Introduzione ai framework per IoC / DI e AOP.
Microsoft SQL Server Versioni di Microsoft SQL Server 2005 SQL Server EXPRESS Edition SQL Server MOBILE Edition SQL Server WORGROUP Edition SQL.
Attribution-NonCommercial-ShareAlike Le novità
Scoprirete che su Office non si può solo contare ma anche sviluppare.
Sistema Real-time: Sistema VISyR Implementazione nellAmbiente di Sviluppo Quartus-II Semplice Applicazione: Prodotto Matrice x matrice Architettura StratiX.
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
VB.NET Sviluppo Applicazioni Desktop
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
SQL Server 2005 Sicurezza Davide Mauri Factory Software
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Architettura software La scelta architetturale: MVA (Model – View – Adapter/Control) The view is completely decoupled from the model such that view and.
Interoperabilità tra servizi eterogenei M. Missikoff – F. Taglino LEKS, IASI-CNR Una piattaforma inferenziale per il Web Semantico: Jena2 Roma, 2006 Web.
20 maggio 2002 NETCODE Set up a thematic network for development of competence within the Information Society.
Analysis and Development of Functions in REST Logic: Application to the «DataView» Web App UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO.
Collection & Generics in Java
Introduction to automatic ABMs documentation Keywords: Doxygen ODD protocol MASON documentation Simone Romano.
Guida alla compilazione del Piano di Studi Curricula Sistemi per l’Automazione Automation Engineering.
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
Il risultato delle attività di collaborazione tra ST, Università e Centri di Ricerca.
Distributed System ( )7 TCP/IP four-layer model.
Video Streaming dal player standard Android verso device non convenzionali GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci.
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Transcript della presentazione:

Smart Personal Objects Technology (SPOT) Dario Airoldi Developer & Platform Evangelism Italy

Mission Favorire la conoscenza e la diffusione delle tecnologie innovative, creare casi di utilizzo che rendano evidente il valore della piattaforma Microsoft. Iniziative e attività: La redazione dei contenuti sul sito MSDN Italy. Newsletter e Webcast registrati Seminari e conferenze Incontri presso le aziende

Piccoli dispositivi elettronici controllati da microprocessori sono sempre più diffusi ma: Pochi tool ne supportano lo sviluppo Richiedono forti skill per fare cose semplici Sono realizzati con codice unmanaged Microframework si propone per il mondo embedded come VB6 per lo sviluppo delle vecchie applicazioni desktop.

MF è un.Net Runtime piccolo per processori embedded 32bit, economici e a basso consuno Ha Memory footprint ridotto (~256K RAM) Non richiede Memory Management Unit Permette lo sviluppo embedded con Visual Studio 2005 Lambiente Include un emulatore completo e funzionale Permette lo sviluppo con linguaggio C# e.Net framework Esegue codice managed controllato e sicuro

Set-top boxes Windows CE Windows XP Embedded Windows Mobile Smartphone Pocket PC Phone Windows Automotive Portable Media Center VoIP phones Mobile handhelds Gateways Retail Point-of-Sale Windows-based Terminals Medical devices Entertainment devices.NET Micro Framework Health Monitoring Wearable Devices Auxiliary Displays Remote Controls Sensor Networks

Microframework è: Bootable Può eseguire boot autonomamente Può essere ospitato su sistemi operativi esistenti Safe Laccesso alle risorse avviene tramite oggetti Secure Utilizza assemblies firmati Extensible A livello software ed Hardware Portable Il Porting Kit permette di portarlo su HW non supportato

Runtime grafico Windows Presentation Foundation (WPF): Graphics primitives BMP and JPG image support Text manipulation Unified Programming model covering All devices Runtime engine: Thread support Garbage collection Globalized language support Funzioni di interazione con lhardware Managed drivers for LCDs Universal Asynchronous Receiver/Transmitter (USART) I2C General-purpose I/O (GPIO) Pulse-Width modulation (PWM)

Microsoft Visual Studio 2005 Project System/templates PostBuild processing Intellisense support Deployment to device (seriale, usb o emulatore) Debugging interattivo dallIDE (Breakpoints, tracing, variable inspection) Device Emulator Personalizzabile per simulare la configurazione delle periferiche

Come bootable runtime supporta: 27MHz (384K RAM, 1M Flash) 50MHz (4M RAM, 2M Flash) 96MHz (4M RAM, 2M Flash) ARM Cortex M3 Motorola 68K (implementazioni custom) … Come hosted runtime supporta: Dual (32M RAM, 1G Flash) NetOS/ThreadX per CONNECTME, WinCE Intel x86 Windows XP … Il Porting a nuovi devices: Porting to new HW richiede APIs Porting to new Platform richiede APIs

Web Site: Slide 13

Create a new application and the graphical components

System.webSystem.Windows.Forms System.Drawing System.Xml System.Data System Services Description Discovery protocol Services Description Discovery protocol UI HTML Controls Web Controls UI HTML Controls Web Controls Cache Configuration Security Session State Design Component Model Drawing 2D Imaging Printing Text ADO.Net Design SQL Client SQL Server CE XML Document XslT/XPath Serialization Reader/Writers Collections Security Text Globalization IO Net Reflection Resources Configuration Service process Diagnostics Threading Runtime Interop Services Remoting Serialization Runtime Interop Services Remoting Serialization

System.webSystem.Windows.Forms System.Drawing System.Xml System.Data System Services Description Discovery protocol Services Description Discovery protocol UI HTML Controls Web Controls UI HTML Controls Web Controls Cache Configuration Security Session State Design Component Model Drawing 2D Imaging Printing Text ADO.Net Design SQL Client SQL Server CE XML Document XslT/XPath Serialization Reader/Writers Collections Security Text Globalization IO Net Reflection Resources Configuration Service process Diagnostics Threading Runtime Interop Services Remoting Serialization Runtime Interop Services Remoting Serialization

System.webSystem.Windows.Forms System.Drawing System.Xml System.Data System Services Description Discovery protocol Services Description Discovery protocol UI HTML Controls Web Controls UI HTML Controls Web Controls Cache Configuration Security Session State Design Component Model Drawing 2D Imaging Printing Text ADO.Net Design SQL Client SQL Server CE XML Document XslT/XPath Serialization Reader/Writers Collections Security Text Globalization IO Net Reflection Resources Configuration Service process Diagnostics Threading Runtime Interop Services Remoting Serialization Runtime Interop Services Remoting Serialization

Implementa un sottoinsieme delle core libraries Permette diversi linguaggi di programmazione Rispetta Common Language Specification (CLS) Derivato da Common Language Infrastructure (CLI) v1.0 Supporta Common Intermediate Language (CIL) Execution.

Serialization: Implementazione specifica per mf 60% più efficiente in spazio rispetto a.Net Framework Remote Procedure Call (RPC) Implementazione specifica per mf Permette di invocare metodi su oggetti remoti Encryption: Supporta RSA algorithm (Asymmetrico) tramite la classe Key_RSA. supporta Extedned Tiny Encryption Algorithm (XTEA, symmetric) tramite la classe Key_TinyEncryptionAlgorithm. Permette algoritmi custom derivando dalla classe Key. Delegates: permette programmazione ad eventi invece che per polling. Exception handling Reflection

Funzioni disponibili includono: Numeric types, class types, value types, arrays (one-dimensional only), delegates, events, references, and weak references Synchronization, threads, and timers Reflection Serialization Garbage collection Exception handling Time classes, including DateTime and TimeSpan (using INT64 arithmetic) Time-sliced thread management Funzioni progettate per microframework: Execution constraints that limit call durations and prevent failures. Strings represented internally as UTF-8 and exposed as Unicode. A global, shared string table for well- known values (types, methods, and fields) that reduces RAM and ROM and reduces the number of cross-references among assemblies. method resolution no virtual tables. A WeakDelegate class to handle dangling references to delegates. Support for extending the hardware chipset by programming its drivers directly in C#, using the Managed Drivers Framework. Hardware devices compatible with industry communication standards such as GPIO, serial, SPI, or I2C can be added to the chipset and used by a managed C# application.

Add the clock and other trip control features to the TripComputer

Object model Basato su Windows Presentation foundation (WPF) Supporta routed events e context properties Supporta layout system (content sizing, text flow, nested controls) Supporta bitmap fonts Gestisce Images Gestisce Pens, brushes, colors Gestisce Vector primitives Gestisce Alpha blending

Permette il boot del runtime Permette una astrazione delle risorse Gestisce gli interrupts Supporta asynchronous cooperative multi-tasking. È realizzato tramite queued Workitems È compatto (Occupa 40K inclusi i base drivers)

Assembly loader esegue validazione al caricamento degli assemblies. registra i tipi con il type system (in tabella globale dei tipi) Microsoft Intermediate Language (MSIL) interpreter Supporta TUTTE le msil instructions (tranne le istruzioni unsafe) È ottimizzato per minimizzare la latenza Permette esecuzione virtuale pura

Execution engine: No native thread scheduler Manages native work queues Invokes native code Permette non traditional interoperability Garbage collector Non incremental Mark and Sweep. Colleziona 50ms per 1M, variabile a seconda del numero di oggetti Supporto per storage non volatile. dispone di un meccanismo di persistenza di oggetti

ROM/Flash footprint Runtime: ~120K Runtime + framework minimale: ~250K Runtime + framework completo: ~500K RAM requirements ~70K system overhead ~256K per full-featured application

Supporta Wired e Wireless Ethernet Include implementazione Sockets in System.Net namespace

Permette di gestire da codice managed (Managed drivers): General-purpose I/O (GPIO) pins Serial peripheral interface (SPI) bus Serial ports Universal Asynchronous Receiver/Transmitter (USART) I2C Pulse-Width modulation (PWM) GPIO Interrupts sono dispatched alla applicazione managed in forma di eventi.

External deviceProtocol to communicateAPI to control BottoniGPIO Microsft.SPOT.Hardware.InterruptPort (o Port family e classi drivate in generale) Potenziometri/Attuatori GPIO (PWM non e disponibile al momento) Microsft.SPOT.Hardware.InterruptPort (o Port family e classi drivate in generale) Accelerometri SPI o I2C (tipicamente) Microsft.SPOT.Hardware.SPI e Microsft.SPOT.Hardware.I2CDevice Outputs booleani (backlight, vibrator) GPIO Microsoft.SPOT.hardware.Backlight o Microsoft.SPT.Hardware.OutputPort Monochrome LCD SPI o I2C o driver nativo (tipicamente) Microsft.SPOT.Hardware.SPI e Microsft.SPOT.Hardware.I2Cdevice. LCD (display) API (LCD_BitBlt e LCD_BitBltEx) OEM-specific (heart rate monitor, air pressure sensor, touch screen) SPI o I2C o Seriale (Tipicamente, Dipende dal device) Microsft.SPOT.Hardware.SPI, Microsft.SPOT.Hardware.I2Cdevice e Microsft.SPOT.Hardware.SerialPort Battery monitoringBattery API Microsft.SPOT.Hardware.Battery e Battery and Charger HAL API Flash memory Microsoft.SPOT.ExtendedWeakReferences Microsoft.SPOT.Logging (solo per debug) HAL FLASH API Bluetooth Seriale o SPI (dipende dal controllore, vedi Promi-SD o BlueCore) Microsoft.SPOT.hardware.SerialPort o Microsoft.SPOT.Hardware.SPI SPI (Tipicamente, vedi Ember or Chipcon CC2420) Microsoft.SPOT.Hardware.SPI EEPROM memoryUnsupported Legacy n/a Calibrated accurate time Dellapposito codice e provvisto nel porting kit ma deve essere abilitato manualmente

using System.Threading; using Microsoft.SPOT.Hardware; … InterruptPort myButton = new InterruptPort( (Cpu.Pin)12, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeLow ); MyButton.OnInterrupt += new GPIOInterruptEventHandler( this.MyInterruptHandler ); … } public void MyInterruptHandler(Cpu.Pin id, bool edge, TimeSpan time) { // handle the interrupt event here }

Lemulatore è una windows application che esegue codice micro framework Una collezione di classi che permette di comporre epersonalizzare lemulatore Un file di configurazione (XML) che permette di configurare ed inizializzare tutti i componenti

Windows application che esegue codice Micro Framework Una collezione di classi permette di comporre e personalizzare i componenti da emulare Un file di configurazione (XML) permette di configurare ed inizializzare tutti i componenti

Customize the emulator to simulate buttons and IO on the TripComputer

Sito microframework: Sito embedded development: Sito per download Webcasts