[Data-modeling] from software releases to operating systems...
brendan
brendan at metaweb.com
Wed May 7 00:44:27 UTC 2008
Hi,
I'd like to broach the discussion of operating systems and their
releases/versions. To recap my proposal for software and its versions/
releases (from last week):
"Software" has "Software Releases" which are unique and identifiable
by a version label and a release date and one or more Operating
Systems (more on this last part, later).
e.g. the software "Mozilla Firefox" has
"Firefox 2.0.0.14 for Mac OS X" * 2.0.0.14 * April 16, 2008 * Mac OS X
"Software" also has "Software Release Series" which are more flexible
in use. This is any series of software releases that are deemed to be
related in some significant way.
e.g. the software "Mozilla Firefox" has
"Firefox 2"
which would, like software, have a list of all the software versions/
releases; the versions associated with the series. Yes, it falls a
little short on the normalization front but I think it's quite a bit
more practical than trying to do some kind of hierarchical thing here.
So, on to operating systems and their version/releases. How it's
modeled now:
type: /computers/operating_system
property: parent_os expected_type: operating_system
property: includes_os_versions expected_type: operating_system
property: version_number expected_type: Text
I'm not fond of this schema. I'd like to deprecate it and model
operating systems similar to the way I modeled software.
"Operating System" (e.g. "Mac OS X")
"Operating System Release/Version" (e.g. "Mac OS 10.5.2")
"Operating System Release Series" (e.g. "Mac OS X Leopard")
The main difference is os release versions don't have a supported OS/
Platform like software but, rather, a supported "Computer
Architecture" which refers to, well, I'm not sure. Should it be a list
of CPU series supported? I don't think that's such a good idea. I'm
afraid we may need another type here: "Computing Architecture" e.g.
x86, x86-64, PowerPC, XScale, StrongARM. I think this would cover
most use cases.
Now back to Software Releases. I said they are characterized by a
version, a release date and an operating system. That last property
is a little fuzzy. I mean, some software releases are compatible with
an operating system but only a minimum version of an operating
system. Worse, some software releases are only compatible with a
particular operating system for a particular computing architecture
(e.g. stuff that only worked on powerpc macs running OS X)
Before I dive into this last problem I'd like to get some feedback on
the general direction I'm heading....
thanks,
Brendan
More information about the Data-modeling
mailing list