5 research outputs found
Recommended from our members
Open semantic annotation of scientific publications using DOMEO
<p>Abstract</p> <p>Background</p> <p>Our group has developed a useful shared software framework for performing, versioning, sharing and viewing Web annotations of a number of kinds, using an open representation model.</p> <p>Methods</p> <p>The Domeo Annotation Tool was developed in tandem with this open model, the Annotation Ontology (AO). Development of both the Annotation Framework and the open model was driven by requirements of several different types of alpha users, including bench scientists and biomedical curators from university research labs, online scientific communities, publishing and pharmaceutical companies.</p> <p>Several use cases were incrementally implemented by the toolkit. These use cases in biomedical communications include personal note-taking, group document annotation, semantic tagging, claim-evidence-context extraction, reagent tagging, and curation of textmining results from entity extraction algorithms.</p> <p>Results</p> <p>We report on the Domeo user interface here. Domeo has been deployed in beta release as part of the NIH Neuroscience Information Framework (NIF, <url>http://www.neuinfo.org</url><it/>) and is scheduled for production deployment in the NIFâs next full release.</p> <p>Future papers will describe other aspects of this work in detail, including Annotation Framework Services and components for integrating with external textmining services, such as the NCBO Annotator web service, and with other textmining applications using the Apache UIMA framework.</p
JavaFX as a Domain-Specific Language in Scala / Groovy
Domain-Specific Languages (DSLs) are optimized for developing applications in a particular domain. JavaFX is such a DSL for creating rich graphical user interfaces.One method to create a DSL is to implement it in an existing language. This offers the advantage that existing users of the language do not need to learn a new language to work in the DSL. Scala and Groovy are two upcoming Java based languages which boast a feature set that can be used to extend existing languages and facilitate DSL creation. In this project my goal was to evaluate the ability of Scala and Groovy to be DSL hosts. To this end, I implemented my own JavaFX like DSLs in Scala and Groovy and assessed their capability for constructing a DSL
Automatic Program Verification and Test Case Generation of Ruby Programs
The Ruby programming language is typically not seen as a language that can be
formally verified. Our research attempts to bridge this gap by introducing novel
techniques to annotate Ruby programs with type specifications, contracts, and translate
them to statically verifiable components. We introduce a novel tool, RubyCorrect,
which uses these techniques to perform extended static checking (ESC) on Ruby
programs, as well as to generate executable test cases through symbolic execution.
These analyses serve to improve code quality and development productivity. We aim
to show that Ruby programs can benefit from existing static verification tools and
techniques if they are simply made available to Ruby developers
Contributions à la sécurité des Java Card
La Java Card est aujourdâhui le type de cartes Ă puce le plus dĂ©ployĂ© dans le milieu bancaire ou dans la tĂ©lĂ©phonie mobile. Outres la prĂ©sence de nombreuses contre-mesures physiques pour protĂ©ger le microprocesseur contre les attaques externes, la machine virtuelle Java Card possĂšde un ensemble de mĂ©canismes (comme le vĂ©rificateur de bytecode et le pare-feu) qui, combinĂ©s avec le typage du langage Java, offrent des propriĂ©tĂ©s dâisolation forte des applications (applets) vis-Ă -vis de lâexĂ©cution de la machine virtuelle Java Card.Mais lâĂ©volution des attaques logicielles par confusion de type et par des moyens physiques a montrĂ© des limitations au modĂšle dâisolation de la machine virtuelle. Dans un premier temps, plusieurs travaux montrent des nouvelles menaces logiques, physiques et hybrides afin de lever des secrets enfouis dans des instances de Java Card en exploitant les applications chargĂ©es comme cibles et vecteurs dâattaque. Par la suite, plusieurs stratĂ©gies de contre-mesures sont construites selon deux points de vue. Dâune part des protections rĂ©actives (contre les attaques en fautes) et proactives (par mise Ă jour dynamique) sont intĂ©grĂ©es dans la machine virtuelle Java Card. Dâautre part, des solutions dâanalyse de code permettant dâaider le dĂ©veloppeur sont Ă©valuĂ©es afin de renforcer la sĂ©curitĂ© des applets contre des faiblesses de dĂ©veloppement ou les exploitations possibles du bytecode par des attaques en faute