Hi all,

I am Helge, a PhD student at IT University in Copenhagen. Currently, I am
researching software projects that use a variety of domain-specific
languages. OFBiz applications are my primary case since it contains a lot
of code in XML based DSLs.

I am especially interessted in code dependencies. With code dependencies I
mean pieces of code that refer to each other, e.g., using string-based
references. Reading the 'Apache OFBiz Development' book by J.Wong and
R.Howell I could identify a few dependency generating code constructs.
First, I think that there are inner-language code dependencies. For
example, an entity in one entity model may have a relation to another
entity in a second entitymodel. Further, there are inter-language
dependencies. For example, a method call in a Java class that refers to an
entity name in an entitymodel via a string reference, or a widget-screen
that refers to an entity via its name.

I would like to kindly ask you to help me in identifying some more
dependency generating code constructs. Since you, as developers, have a lot
more insight into the domain than I have from reading the documentation. If
there are dependency generating code constructs in any of the languages
that are used in OFBiz applications that come to your mind, I would like to
ask you to fill them briefly in the following schema:

Language: NAME
Construct: CODE SNIPPET
Language: NAME2
Construct: CODE SNIPPET2


As an example of the information I am interested, the following gives the
above mentioned examples in this schema.
a)
Language: entitymodel
Construct: <entity entity-name="A"...>
                ...
                <relation type="one" fk-name="B_NAME" rel-entity-name="B">
                <key-map field-name="b"/>
           </relation>
        
Language: entitymodel
Construct:  <entity entity-name="B"...>
                ...
                <prim-key field="b"/>
                ...


b)
Language: entitymodel
Construct: <entity entity-name="A"...>
                <field name="a" ...></field>
                ...
Language: Java
Construct: .findByAnd("A" ...)

c)
Language: widget-Screen
Construct:  <screen name="B">
                ...
                <entity-one entity-name="A" ...
                ...
Language: entitymodel
Construct: <entity entity-name="A"...>
                <field name="a" ...></field>
                ...



Thank you very much.

Kind regards,
Helge

Reply via email to