Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
research:software:obsec [2017/04/27 07:44]
racruz
research:software:obsec [2017/05/18 00:54] (current)
racruz
Line 2: Line 2:
  
 ObSec is a simple object-oriented language that supports type-based declassification. ObSec was introduced in the paper  ObSec is a simple object-oriented language that supports type-based declassification. ObSec was introduced in the paper 
-{{bib>​cruzAl-ecoop2017|Type Abstraction for Relaxed Noninterference}} ​to be presented at [[http://​conf.researchr.org/​home/​ecoop-2017|ECOOP 2017]] ​+{{bib>​cruzAl-ecoop2017|Type Abstraction for Relaxed Noninterference}}
  
 This tutorial covers: ​ This tutorial covers: ​
-  * how to install a web interpreter (ObSec Pad) for the ObSec language +  * how to install a web interpreter (ObSec Pad) for the ObSec language. 
-  * a basic presentation of the language syntax +  * a basic presentation of the language syntax, 
-  * the type-based declassification examples that appears ​in the paper.+  * the type-based declassification examples that appear ​in the paper.
  
  
Line 15: Line 15:
  
   - **Using the online ObSec Pad** at [[https://​pleiad.cl/​obsec]]. ​   - **Using the online ObSec Pad** at [[https://​pleiad.cl/​obsec]]. ​
-  - **With the virtual machine**, which can be downloaded [[https://​pleiad.cl/​paper_53_ubuntu_vm_obsec.ova|here]]+  - **With the virtual machine**, which can be downloaded [[https://​pleiad.cl/​ecoop17-artifact.zip|here]]
   - **Local execution of the ObSec Pad**, which can be downloaded [[https://​pleiad.cl/​_media/​research/​software/​obsec/​obsec-web.zip|here]].   - **Local execution of the ObSec Pad**, which can be downloaded [[https://​pleiad.cl/​_media/​research/​software/​obsec/​obsec-web.zip|here]].
  
Line 101: Line 101:
 {{:​research:​software:​obsec:​syntax.png?​400|}} {{:​research:​software:​obsec:​syntax.png?​400|}}
  
- You can define and use object types in different ways. Below, we illustrate by creating an object type with a login method that takes two public strings and returns a public integer:+ You can define and use object types in different ways. Below, we illustrate ​this by creating an object type with a login method that takes two public strings and returns a public integer:
   * Inline structural type definition: the type is defined (anonymously) where it is used <​code>​   * Inline structural type definition: the type is defined (anonymously) where it is used <​code>​
 [{login: String String -> Int}] [{login: String String -> Int}]