180 likes | 300 Vues
This overview highlights the latest features of the S3MS Deployment Center, showcasing the significant changes between the M18 and M24 releases. Key updates include support for metadata generation, new representation compilers, and improved inlining and PDP generation. We also demonstrate on-device matching and inlining through live demos featuring the Omnys case study. Semantic matching algorithms developed by UNITN are integrated into our application deployer. Stability and UI enhancements further enrich the user experience within the S3MS environment.
E N D
Overview • S3MS Deployment Center • Already demoed at M18 • Off-device Inlining demo • Already demoed at M18 • DEMO 1: On-device Matching • DEMO 2: On-device Inlining
S3MS Deployment Center • Main changes between M18 and M24 • Support for metadata generation • Creation of new representation compilers • Greatly updated inliner and PDP generator • Extended multi-runtime support • .NET CF 2.0, full .NET 2.0, Mono, … • Stability and UI improvements
DEMO 1 and DEMO 2 • Demo 1: On-device matching • Demo 2: On-device inlining • Uses the Omnys case study • Shown on video • Live demo available on demand!
DEMO 1: On-device matching • In this demo, we use semantic matching • Hash-based, identical and remote matching also implemented • Semantic matching algorithm is developed by UNITN • This demo shows the integration of the matcher into our application deployer • The algorithm details will be detailed by UNITN in a following presentation • The demo device is setup to only support matching • No inlining
DEMO 1: On-device matching Policy SCOPE SESSION SECURITY STATE BEFORE WebRequest.Create(string url) PERFORM url.StartsWith("http") -> {skip;} SCOPE SESSION SECURITY STATE CONST int maxMessage = 5; int messageSent = 0 RANGE 0 .. 5; BEFORE SmsMessage.Send() PERFORM messageSent<maxMessage -> { skip; } AFTER SmsMessage.Send() PERFORM true -> { messageSent = messageSent + 1; } Contract SCOPE SESSION SECURITY STATE BEFORE WebRequest.Create(string url) PERFORM url.StartsWith("http") -> {skip;} url.StartsWith("ftp") -> {skip;} SCOPE SESSION SECURITY STATE CONST int maxMessage = 5; int messageSent = 0 RANGE 0 .. 5; BEFORE SmsMessage.Send() PERFORM messageSent<maxMessage -> { skip; } AFTER SmsMessage.Send() PERFORM true -> { messageSent = messageSent + 1; }
DEMO 1: On-device matching Policy SCOPE SESSION SECURITY STATE CONST int maxKbRecieve = 1024; BEFORE BeginReceive(byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, Object state) PERFORM size < maxKbRecieve -> { skip; } SCOPE SESSION SECURITY STATE CONST int maxMessage = 7; int messageSent = 0 RANGE 0 .. 7; BEFORE SmsMessage.Send() PERFORM messageSent<maxMessage -> { skip; } AFTER SmsMessage.Send() PERFORM true -> { messageSent = messageSent + 1; } Contract SCOPE SESSION SECURITY STATE CONST int maxKbRecieve = 512; BEFORE BeginReceive(byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, Object state) PERFORM size < maxKbRecieve -> { skip;} SCOPE SESSION SECURITY STATE CONST int maxMessage = 5; int messageSent = 0 RANGE 0 .. 5; BEFORE SmsMessage.Send() PERFORM messageSent<maxMessage -> { skip; } AFTER SmsMessage.Send() PERFORM true -> { messageSent = messageSent + 1; }
DEMO 2: On-device inlining • Inlining can be used for legacy applications • Without a contract/proof/signature/… • In this demo, we want to limit the access to the contacts