Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
research:software:obsec [2017/04/27 07:44] racruzresearch: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}]