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]] -=-=-=-=-=-=-=-=-=-=-=-
