1 / 28

Creating an AP233 Systems Engineering Scripting Language in Ruby

Background. BackgroundDoing AP233-based proof-of-concept converters between UML/SysML, DoDAF/CADM and AP233 using XSLTNeed something more powerful than XSLTTrying to use only free or open-source softwareSeveral years off-and-on efforts to make EXPRESS/STEP available to a widespread communityEagerly awaiting for tools to ease my workloadNASA presentation on ideas around open-source SE toolsSee the next three slides.

laksha
Download Presentation

Creating an AP233 Systems Engineering Scripting Language in Ruby

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Creating an AP233 Systems Engineering Scripting Language in Ruby David Price 8th NASA/ESA PDE Workshop April 2006

    2. Background Background Doing AP233-based proof-of-concept converters between UML/SysML, DoDAF/CADM and AP233 using XSLT Need something more powerful than XSLT Trying to use only free or open-source software Several years off-and-on efforts to make EXPRESS/STEP available to a widespread community Eagerly awaiting for tools to ease my workload NASA presentation on ideas around open-source SE tools See the next three slides

    7. AP233 Scope

    8. DoDAF CADM/AP233 Project Purpose Evaluate feasibility of system architecture data exchange using emerging ISO AP233 Systems Engineering standard Not a fully validated design effort Provide a body of work that future efforts can build upon

    12. AP233 Systems Engineering On-schedule for AP233 modules to go out for ISO ballot starting in the summer Committee Draft ballot (July-October 2006) After ballot completes, workshops are held to address ballot comments AP233 modules should be published 1Q2007 The complete AP233 Application Protocol that includes Business Use Cases, etc. takes a bit longer

    13. AP233 Testing AP233 Development Team is working strategy for critical testing Includes internal team testing Includes approaching vendors to participate AP233 Team developing a “test harness” Fitting into the “test harness” is now the main focus for the DODAF CADM/AP233 demo work

    14. AP233 Test harness

    15. Many things are coming together

    16. Goals Add to tools available for testing and quick prototyping of AP233 AP233 has very few rules so EXPRESS structure-only tools are OK Keep it simple, simple, simple for people using the tools Be available on Windows, Linux, Mac OS (at least) Simplify introduction of AP233 to non-STEP-literate community Do more with less effort

    17. Sounds good to me From: Should Ruby Be Added to Your Programming Repertoire? By W. Jason Gilmore 100% object-oriented dynamically typed devoid of superfluous syntactical requirements such as indentation and semi-colons replete with libraries for facilitating practically any conceivable task Ruby (and Rails) mantras DRY = Don’t Repeat Yourself Convention over Configuration

    18. Details (From Gilmore) Has capabilities expected of full-featured languages text file processing, string manipulation, networking, exception handling, and language extendability Supports wide variety of platforms UNIX flavors, Windows 95/98/NT/Me/2000/XP, and Mac OS X Web application development opportunities through mod_ruby Apache module for embedding the Ruby interpreter into the Apache Web server A database-independent interface similar to Perl's DBI module DB2, InterBase, mSQL, MySQL, Oracle, PostgreSQL, SQLite, etc.

    19. More Details (From Gilmore) Create cross-platform GUI-based applications via projects like wxRuby Easy package and application management using RubyGems. RubyGems operates similarly to the inestimably useful Perl CPAN, enabling complete control over packages through a convenient console interface. Built-in support for Web Services through packages such as RSS and soap. A hyper-active user community. See Ruby Application Archive and RubyForge for a sampling of the hundreds of projects

    20. From: why's (poignant) guide to ruby

    21. Project 1 : EXPRESS-Ruby-XML EXPRESS-as-XML input Generate Ruby code to read/write XML (Part 28 Edition 2) Working today Entity and Multiple inheritance (Ruby uses “modules” for this) 1-D Aggregate of Entity instance, String, Integer, Real Select types (only through dynamic typing) Validation not in Ruby code, use the XML Schema Not included yet Rename in redeclared attribute Defined types (except through dynamic typing) n-D Aggregates Exact Part 28 E2 DIS XML

    22. Example: State definition

    23. Generated Ruby modules

    24. Generated Ruby Classes

    25. Using the API

    26. Using the API (2)

    27. AP233 XML (simple P28E2)

    28. Next steps Project 1: exp2ruby Support more of EXPRESS Generate convenience functions (e.g. Get/Set all attributes) Other backends Part 21 write should be simple, Part 21 read is harder RDF or OWL? There is a Ruby wrapper for Redland RDF API already Use meta-model of EXPRESS replacing XPath over XML Project 2: Support for UML/SysML For example, a SysML API that can read/write XMI 2.1 and AP233 P28 E2 XML Project 3: EXPRESS to Rails Web Framework integration Project 4: EXPRESS to C for HDF5

    29. Conclusions Ruby is a nice language Initial hurdle to Ruby is far less than C/C++, Java, eclipse or netBeans This is one small step for the ideas Steve Jenkins presented last year Ruby-related technology for AP233, SysML, and other standard and non-standard SE applications has benefits Eurostep will deliver free AP233 ARM Ruby API in DoD DODAF/CADM/AP233 project AP233 Working Draft 2 available in a couple of weeks

More Related