Hello,
Has anyone looked at Rational Rose's file format ?
Here is the beginning:
------------------------------8<------------------------------
(object Petal
version 42
_written "Rose 4.5.8163.3"
charSet 136)
(object Design "Logical View"
is_unit TRUE
is_loaded TRUE
quid "386CDB59038E"
defaults (object defaults
rightMargin 0.250000
leftMargin 0.250000
topMargin 0.250000
bottomMargin 0.500000
pageOverlap 0.250000
clipIconLabels TRUE
autoResize TRUE
snapToGrid TRUE
gridX 16
gridY 16
defaultFont (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
showMessageNum 1
showClassOfObject TRUE
notation "Unified")
root_usecase_package (object Class_Category "Use Case View"
.
.
.
------------------------------8<------------------------------
and it's like this to the end !
Looks familiar, huh?
On Rational Web site, we can read:
----------------------------------8<----------------------------------------
Document ID: 7937
TITLE: RoseForum FAQ - Is the petal file grammer available?
PRODUCT: Rose 98i
...
QUESTION:
Has anybody developed a petal file parser in java, or is the petal file
grammer available?
ANSWER:
The petal file format is proprietary. Also, it changes every now and then.
The better bet is to use the Rose Extensibility Interface.
For more information, contact Rational Software Technical Support.
----------------------------------8<----------------------------------------
Funny, isn't it?
The answer should have been: yep, 40 years ago, just add this
patch:
(defun petal-value (petal key)
(second (member key (cdr (cdr petal)))))
(defun petal-value* (petal keys)
(if keys
(petal-value* (petal-value petal (car keys))
(cdr keys))
petal))
--
Georges KO, Taipei Alcatel Telecom Taiwan ···@alcatel.com.tw / ···@gko.net
Decade II, Primidi de Nivose de l'Annee 208 de la Revolution
Georges KO <···@alcatel.com.tw> writes:
> Has anyone looked at Rational Rose's file format ?
>
> Here is the beginning:
>
> ------------------------------8<------------------------------
> (object Petal
> version 42
> _written "Rose 4.5.8163.3"
> charSet 136)
[...]
>
> Looks familiar, huh?
Don't be fooled by the parenthesis. It looks like lisp, but is not in any way
lisp. It is just a data format in which parenthesis provide a convenient way to
group things. The "fashionable" version of the format would be in XML. The
actual allowable fields of the "lists" and their values is really what the
grammar would be all about.
Again, using the Rose Extensibility Interface (i.e. talking to Rose via OLE
automation) is a much more robust way of manipulating Rose models -- everything
is already parsed and processed for you.
--
Cheers, The Rhythm is around me,
The Rhythm has control.
Ray Blaak The Rhythm is inside me,
·····@infomatch.com The Rhythm has my soul.
Ray Blaak <·····@infomatch.com> writes:
> Georges KO <···@alcatel.com.tw> writes:
> > Has anyone looked at Rational Rose's file format ?
> >
> > Here is the beginning:
> >
> > ------------------------------8<------------------------------
> > (object Petal
> > version 42
> > _written "Rose 4.5.8163.3"
> > charSet 136)
> [...]
> >
> > Looks familiar, huh?
>
> Don't be fooled by the parenthesis. It looks like lisp, but is not in any way
> lisp. It is just a data format in which parenthesis provide a
> convenient way to
> group things. The "fashionable" version of the format would be in
> XML.
Which is a form of S-expr, isn't it? :)
> The actual allowable fields of the "lists" and their values is
> really what the grammar would be all about.
>
> Again, using the Rose Extensibility Interface (i.e. talking to Rose via OLE
> automation) is a much more robust way of manipulating Rose models --
> everything is already parsed and processed for you.
I believe things should be clarified a little. The "names" and
"allowed values" are what is really "proprietary" here.
The parsing is trivial since it most likely uses some prepackaged
S-expr-like reader, e.g. lifted from one of the godzillion Scheme
systems out there (unless we are witnessing a bad case of wheel
re-invention).
Cheers
--
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa
From: Georges KO
Subject: Re: Rational Rose's "proprietary" file format...
Date:
Message-ID: <w4dogb7n2yx.fsf@gko.net>
Georges KO <···@alcatel.com.tw> writes:
> (defun petal-value (petal key)
> (second (member key (cdr (cdr petal)))))
Oups, it should be:
(defun petal-value (petal key)
(second (member key petal)))
Anyway...
Lisp-like grammars for design interchange have been widely used in CAD, CAE,
and CASE since the early 1980's (if not before). Most of the first research
IC synthesis tools (not counting early cell-type placement and routing
tools) were done on Lisp systems.
faa
Georges KO <···@alcatel.com.tw> wrote in message
·································@ns.alcatel.com.tw...
> Has anyone looked at Rational Rose's file format ?