[x3d-public] [Semantics] FW: Transformational Semantics for X3D (a test plan. amazing!)

John Carlson yottzumm at gmail.com
Thu Jun 13 10:24:35 PDT 2019

Forwarded from semantics list.  Discussion of test plan for X3D as a semantics implementation.  That is, transformational semantics of scenegraphs (interacting with a 3D world) creates “semantics test cases.”  The goal would be to generate our transformational test cases (constructive [ mostly complete ] and non-constructive SAI test cases [ mostly incomplete ]) from some kind of semantic (and possibly semiotic) description.

Specifiically, we aim to embrace an  approach like https://ieeexplore.ieee.org/document/7515489 (which I haven’t read the whole paper).

Would appreciate examples of how to integrate events into transformational semantics. Current approaches below emphasize a database-like interaction.  We would also like to take top level predicates of a world, and write test cases for those.

We have a lot of static and animated scenegraph tests, which generate images and movies.  I aim to develop interactive tests, where an avatar is scripted by generators or people (possibly via Selenium), and movies are created from the avatars “cameras” then diffed against previous results.  The diffs should recreate the test case, in a roundtrip fashion, if at all possible.

In other words, I aim to test the output of the semantics working group.


Sent from Mail for Windows 10

From: John Carlson
Sent: Monday, June 10, 2019 11:34 PM
To: semantics at web3d.org; info at 3dnetproductions.com; mr-dadkhah at ec.iut.ac.ir
Subject: RE: Transformational Semantics for X3D (a test plan. amazing!)

I’m hoping mr-dadkhah at ec.iut.ac.ir will join us in discussions of using semantics to generate test cases.

Mr. Dadkhah, we saw your paper listed below, and wondered what your experience was using semantics to generate test cases.

We are members of the X3D Semantic Working Group, working on ascribing meaning to 3D scenes and models.  I was working on developing predicates for our top level ontology, and I discovered that I was essentially creating a test plan!


John (yottzumm at gmail.com) Carlson

Sent from Mail for Windows 10

From: John Carlson
Sent: Monday, June 10, 2019 11:23 PM
To: semantics at web3d.org; info at 3dnetproductions.com
Subject: RE: Transformational Semantics for X3D (a test plan. amazing!)

Guess what?  These transformation semantics for X3D look pretty much like a rough test plan!  Wow!  I must be a “professional” tester now.

GL, can you make your system add and remove DIS simulations from your world?  Is that the way simulations work? Or do you add and remove Avatars&Bots from a simulation?

I don’t really know if X3D (scenegraph), World (Viewpoint?), or DIS simulation (PDU) is a higher level object in the scene graph.

What language do you recommend we write our test cases in?  I currently have Java and Python ready. If something else, I will have to generate an API for interacting with the scenegraph.

I need a quick tutorial on how to use DIS in a scenegraph, I think. http://www.web3d.org/x3d/content/examples/Basic/DistributedInteractiveSimulation/EspduTransformExampleIndex.html  Heck I’m already confused.  Need a better introduction.
So here’s an initial test script writing in “X3D test language”

Signon A
Signon B
Signon C

Move A 10 units left
Move B 10 units up
Move C 10 units forward

As you can see, these are high level semantics-rich statements in this new language, lets now call it “X3D Sem.”  RDF, RDFS or OWL might replace it.   I am thinking the tester wants to test the semantics of the system, and that why I create statements that sound like semantics.

How fast can we get an understandable RDF vocabulary for me to start writing test cases in?   Are there examples of testing from other 3D ontologies?

Has anyone else had this aha while writing testable semantic statements for a system?

Is it okay that we appear to have a use case for semantics already?


Can the semantics group start writing semantic test cases, say the initial ones are generated from X3DUOM or X3D XML Schema?

Thanks a bunch!  I had no idea.   Surprise, surprise!  I knew there was a reason I wanted to focus on predicates.


Sent from Mail for Windows 10

From: John Carlson
Sent: Monday, June 10, 2019 10:48 AM
To: semantics at web3d.org
Subject: RE: Transformational Semantics for X3D

So I think for 3D, the remaining transformational semantics is how shapes and transforms and possibly other nodes are transformed by animations.  Plus non-obvious relationships that can only be discovered by projecting the document into the “eyeball”, and having a viewpoint.   Spatial relationships are relative to the viewpoint.   Do we want to include all of Einstein’s theory of relativity in the semantics?   Do we need new semantics for each viewpoint?   Especially if the user is blind, and cannot see the animation?   We want blind people to be able to “view” our animations, correct?  It would seem like semantics cannot be stored for that case, and must be queried from the current viewpoint, that is, “Describe the scene around me as it appears from this viewpoint”  If we could generate the text from a semantic query of the scene viewed by the viewpoint, that would be ace.  1000 words from a viewpoint?

Sent from Mail for Windows 10

From: John Carlson
Sent: Monday, June 10, 2019 6:06 AM
To: X3D Graphics public mailing list; semantics at web3d.org
Subject: Transformational Semantics for X3D

Expressing transformational semantics in X3D.

Line from Job Posting:  Create languages or APIs which express transformations (semantic predicates) beyond XSLT and JavaScript capabilities, including node/document/shape/movie transformation, language or schema transformation, scenegraph transformation, system transformation, network transformation and world transformation.

What are the semantics for X3D transformation for nodes/documents/shapes/movies/languages/schemas/scenegraphs/systems/networks/worlds?

Rough draft:

1. Create/Update Tag
2. Create/Delete Element
3. Create/Update/Delete attribute name value
4. Add Child Element
5. Add CDATA element
6. Add Comment

1. Transform group or shape within scenegraph
2. Change a transform
3. Replace shape
4. Delete shape/transform/group
5. Replace Material
6. Replace Texture
7. Replace Appearance
8. Change URL
9. Move document

1. Create Update Delete point
2. Create Update Delete triangle
3. Create Update Delete face
4. Move shape
1. Replace Pixel
2. BitBlt on Pixel array
3. Create Update Delete frame(s)
4. Create Update Delete sound(s)
5. Move movie
1. Create Update Delete NodeType or ObjectType
2. Create Update Delete field
3. Create Update Delete attribute name or value
X3D (scenegraph)
1. Update Schema (filter, append temporary schema)
2. Change natural languages.
DIS Simulation
1. Add/Update/Remove Participant/Avatar
2. Add/Update/Remove Bot
3. Add/Update/Remove scenegraph
1. Add/Update/Remove DIS Simulation

Don, can we add schema/language (I18N, L10N, probably properties files), simulation and world (supporting multiple simulations) classes to X3DJSAIL, if not present?   Thanks!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190613/c80efa03/attachment-0001.html>

More information about the x3d-public mailing list