This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "OWASP Resource Securitization Language Project"
From OWASP
KateHartmann (talk | contribs) (Created page with "=Main= <div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">link=</div> {| style="padding: 0;margin:0;margin-top:10px;t...") |
Osrworkshops (talk | contribs) |
||
Line 7: | Line 7: | ||
<span style="color:#ff0000"> | <span style="color:#ff0000"> | ||
− | |||
</span> | </span> | ||
Line 23: | Line 22: | ||
== Project Resources == | == Project Resources == | ||
− | <span | + | <span> |
− | + | Some information is discussed on the website <a href='www.scignscape.appspot.com' target='new'> | |
− | + | scignscape.appspot.com</a>. However, a R/E-specific web site | |
+ | is under development.<br><br> Please also visit pages about Clasp and E, for example: | ||
+ | <ul> | ||
+ | <li>Clasp: <a href='https://github.com/drmeister/clasp'>github.com/drmeister/clasp</a> | ||
+ | <li>E in a nutsehll: <a href='http://www.skyhunter.com/marcs/ewalnut.html'>skyhunter.com/marcs/ewalnut.html</a> | ||
+ | </ul> | ||
== Project Leader == | == Project Leader == | ||
[mailto:osrworkshops@gmail.com Nathaniel Christian] | [mailto:osrworkshops@gmail.com Nathaniel Christian] | ||
Line 31: | Line 35: | ||
== Related Projects == | == Related Projects == | ||
<span style="color:#ff0000"> | <span style="color:#ff0000"> | ||
− | |||
</span> | </span> | ||
Line 50: | Line 53: | ||
== News and Events == | == News and Events == | ||
− | <span | + | <span> |
− | + | Although not specifically an OWASP meeting, I will be talking about R/E at two meetups co-organized | |
+ | by OWASP/Brooklyn and Semiotics Wem, on April 18th and 25th at 10:30 am, Morningside Heights Library | ||
+ | community room in Manhattan. I'll post links when they're available. | ||
</span> | </span> | ||
Line 60: | Line 65: | ||
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | ||
<span style="color:#ff0000"> | <span style="color:#ff0000"> | ||
− | |||
</span> | </span> | ||
Line 70: | Line 74: | ||
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | ||
<span style="color:#ff0000"> | <span style="color:#ff0000"> | ||
− | |||
− | |||
− | |||
</span> | </span> | ||
Line 85: | Line 86: | ||
==Roadmap== | ==Roadmap== | ||
− | + | Whereas E-on-Common-Lisp relies on the original (Java) version of E for some core functionality, R/E will completely replace these components with Lisp, C++, or (in a single-language version) Ruby equivalents. In particular, the existing ANTLR-based parsing mechanism has been replaced by a Semantic-Network grammar engine which allows R/E code and components to be integrated with Semantic Web tools and concepts. I envision the development roughly as follows: | |
+ | <ul> | ||
+ | <li>Basic language implementation: (all of these stages have been partially completed, so the | ||
+ | basic development strategies involved are in place, but there are many details to sort out) | ||
+ | <ol> | ||
+ | <li>Establish an R/E grammar, first informally and then a formal specification using a Semantic Web-based | ||
+ | grammar and parsing system. This also involves polishing code for such a grammar and providing this | ||
+ | code on github. The idea of such a grammar is that users of R/E can customize the language for their | ||
+ | purposes, including (eventually) embedding callbacks to R/E code within parsing itself. | ||
+ | |||
+ | <li>Implement (at least a large part of) R/E basic data and function structures in the form of a generator | ||
+ | for C++ code. | ||
+ | <li>Using this base, build a version in Ruby which allows both the parsing and runtime interpretation | ||
+ | to be carried out in a single language. Compile this into a gem and use a Rails application to demonstrate it. | ||
+ | <li>Port the same base to Clasp itself, adding the necessary C++ code to the underlying Clasp and | ||
+ | using a “Semantic Readtable” to hook into the Clasp runtime for executing R/E code. | ||
+ | </ol> | ||
+ | <li>Implement many E feature for R/E: | ||
+ | <ol> | ||
+ | <li>Port E-on-Common-Lisp to the embedded Clasp platform, or at least determine how extensively this can be | ||
+ | accomplished. | ||
+ | <li>Ensure cross-platform consistency by solidifying the Clasp base itself (since Clasp in turn is a very new language, R/E is being built with/alongside a modified Clasp version that is easier to use in different contexts; for example, minimize differences between Window/Unix and 32-bit/64-bit environments). | ||
+ | <li>Provide sample components, expected to use the Qt and UnQLite libraries, demonstrating how the language may be used to provide components isolating sensitive capabilities, such as database/filesystem access and http networking, integrated into other projects. | ||
+ | </ol> | ||
+ | <li>Promote customization and cross-language support: | ||
+ | <ol> | ||
+ | <li>Integrate a markup language for code documentation, serialization, embedded rich text, etc., parsed | ||
+ | directly by R/E | ||
+ | <li>Provide a mechanism for developing alternate grammars that may be more suited for integrating into existing projects, including “host languages” other than the primary Clasp/C++ (or “R/Z”) | ||
+ | runtime or the single-language Ruby host. | ||
+ | <li>Publish an Ontology of R/E coding constructs and concerns; the R/E compiler will be guaranteed to compile any source whose internal representation conforms to the ontology, even if its surface syntax differs considerably from either R/E or E proper. | ||
==Getting Involved== | ==Getting Involved== | ||
===Feedback=== | ===Feedback=== |
Revision as of 16:38, 9 April 2015