1 / 11

J- oy

J- oy. Project presentation. Goal . Automate repetitive tasks. Allow users to: describe patterns (#1), create models using higher level, domain specific languages (#2), automate result generation based on applying patterns on models (#3) once or as part of an iterative process (#4).

alodie
Download Presentation

J- oy

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. J-oy Project presentation

  2. Goal. Automaterepetitivetasks • Allow users to: • describe patterns (#1), • create models using higher level, domain specific languages (#2), • automate result generation based on applying patterns on models (#3) • once or as part of an iterative process (#4). • J-oy is technology agnostic (#5).

  3. Solution – ArchitectureDecisions #1 Describe patterns Patterns are described by using templates. GSP (Groovy Server Pages) is used for template specification given it does not need to be precompiled and allows using the same language for creating scripting extensions (Groovy)

  4. Solution – ArchitectureDecisions #2 create models using higher level, domain specific languages UML is used as a modeling language as there are many freely available editors. XMI 1.2 – UML 1.4 is used as the model description language given that is the most widely supported export/import language currently available.

  5. Solution – ArchitectureDecisions • #3 automate result generation based on applying patterns on models. • Following generation strategies are planned to be supported: • Java API for integrating into applications. • Eclipse plugin. • Maven plugin. • Ant task. • Command line.

  6. Solution – ArchitectureDecisions • #4 once or as part of an iterative process • J-oy can be used as follows: • Text results (i.e. source code, design models, etc.) can be generated directly from XMI models. • XMI models can be generated and used as input for further refinement using UML editors, then exported and new, more detailed, results can be generated.

  7. Solution – ArchitectureDecisions • #4 once or as part of an iterative process • Following strategies are encouraged in order to ease iterative process: • Variability must be taken into account in the following parameterization levels rather than changing generated files: • XMI input model by using: • Stereotypes, • Tagged values • Template parameters • Template • When creating several levels of models (that is models generated upon models) a tool is needed for solving conflicts (differences between new and pre-existing manually-modified model).

  8. Solution – ArchitectureDecisions #5 J-oy is technology agnostic. Template engine is a Java application. Templates are technology specific. A set of predefined / sample templates are available. However, new templates can be generated easily using GSP and Groovy allowing teams to generate any text-based file set.

  9. Solution – Overview J-oy Input Java application Template GSP Templates Eclipse plugin Groovy Scripts Mavenplugin Settingsmetadata Anttask DomainSpecificLanguage (Implicit) Model Shell script Stereotypes TaggedValues J-oyEngine ValuesforTemplateSettings Output Generated Files

  10. Solution – Overview Technology/DomainIndependent Technology/DomainSpecific Java application Model XMI 1.2 - UML 1.4 Eclipse plugin Template Mavenplugin Groovy Server Pages Anttask DomainSpecificLanguage (Implicit) Groovy Scripts Shell script Staticcontent J-oyEngine Generated Files UML 1.3 DOM XMI, XML, Java, JSF, PHP, etc.

  11. Futherquestions • Ifyouwanttocontribute, haveanyquestionorsuggestion, pleasecontactus at: • info.joy.team@gmail.com

More Related