Many years ago I used a tool called Rational Rose to model a piece of software 
(C++) and I was able to produce .cpp stubs to help reduce some typing. 

 

Is there a UML tool available that can model data objects and relationships and 
generate a schema output, i.e. JSON or XML? 

 

Thanks,

 

Dick Brooks



 <https://reliableenergyanalytics.com/products> Never trust software, always 
verify and report! ™

 <http://www.reliableenergyanalytics.com/> 
http://www.reliableenergyanalytics.com

Email:  <mailto:[email protected]> 
[email protected]

Tel: +1 978-696-1788

 

From: [email protected] <[email protected]> On Behalf Of David 
Kemp
Sent: Thursday, March 17, 2022 11:31 AM
To: Sean Barnum <[email protected]>
Cc: Gary O'Neall <[email protected]>; SPDX-list <[email protected]>
Subject: Re: [spdx-tech] Follow-up on non-Element classes

 

 

 

On Tue, Mar 15, 2022 at 11:20 AM Sean Barnum <[email protected] 
<mailto:[email protected]> > wrote:

I would express my serious reservations with any movement to start mixing 
formal UML specification considerations on our model with RDF/OWL/SHACL 
specification. 

Attempting to mix the two will likely lead to ruin. 😊


[dpk]  UML defines terms, and some of those terms are relevant to SPDX.

* Classifier: A classifier describes a set of objects
* Type: A Type specifies a set of allowed values known as the instances of the 
Type. The rules for what constitutes an instance of the Type remain fixed by 
the definition of that Type. All Types in UML are Classifiers

The logical model describes a set of SPDX3 application (logical) objects.  The 
logical model does not specify the allowed values of serialized data (SPDX3 
transfer units).

 

We have agreed as a community that the formal specification for SPDX3 will be 
RDF/OWL/SHACL.


[dpk] Yes - that is the logical specification. It is not the formal 
specification for SPDX3 data.  A serialization model is necessary in addition 
to the logical model.

Our current model diagram has been using kind of UML in a very informal way for 
use to all visually understand the basic structure and cardinalities but we 
have intentionally avoided any sort of formal UML interpretation. I strongly 
encourage us to continue that approach.

 

[dpk] Absolutely. Serialization on the other hand must be defined formally, it 
must unambiguously classify any transfer unit, regardless of data format, as 
"SPDX3" or "not SPDX3".

NamespaceMap and ExternalMap are defined formally using a UML-based information 
model. They are essential to perform serialization, and their values exist only 
in serialized data. They do not exist in unserialized Element instances, but if 
depicting them in the logical model aids understanding then by all means 
include them.

 

As an RDF/OWL/SHACL ontology, these non-element classes [e.g., 
ExternalReferrence, VerificationMethod, CreationInfo] are RDF/OWL classes and I 
would assert it makes perfect sense for them to be this."


[dpk] The question is do RDF/OWL classes support data structures?  They 
obviously support data - a property can be a string type and a property 
instance "created" = "by: [email protected] <mailto:[email protected]> , when: 
2019-10-12T07:20:50.52Z".  There is no need to consider compression and 
references and reuse, the value of a string, and the value of a "struct" or 
"non-Element Class" is just a value whether it is re-used or not.  Again, the 
logical model doesn't define serialization, and re-use or not of strings and 
structs exists only in serialized data, not in the logical value of a "created" 
property.  An instance of "created" of type CreationInfo has two fields, 
whether they are serialized as a string or a JSON object.

 

RDF/OWL/SHACL is designed to model and express information this way.

In RDF/OWL/SHACL every class instance MUST have an id by which it can be 
referenced.


[dpk] Then a "non-element class" MUST NOT be called a class because it doesn't 
have the semantics of a class.  Every instance of a struct is an atomic data 
value like a string.

Dave





-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#4422): https://lists.spdx.org/g/Spdx-tech/message/4422
Mute This Topic: https://lists.spdx.org/mt/89725940/21656
Group Owner: [email protected]
Unsubscribe: https://lists.spdx.org/g/Spdx-tech/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to