[Os-project-managers] Consent agenda item
R. Kipp Martin
kmartin at chicagobooth.edu
Wed Sep 21 14:55:07 EDT 2011
Hi Gus:
>
> We currently have a class OSnl2osil in files OSnl2osil.cpp and
> OSnl2osil.h. Its purpose is to read a .nl file and to pull out the
> instance information. However, as we have seen, the .nl file also
> contains bits and pieces that we would classify as options. ASL gives us
> only very limited access through its API, so we have to parse the entire
> .nl file to get at any piece of it. We therefore have to pull the
> OSOption bits out simultaneously with the OSInstance pieces. (Otherwise
> the time may kill us on a large problem.)
>
> I propose to define a new class nl2OS _inside_ the same OSnl2osil.cpp/.h
> files. This class would inherit from OSnl2osil, and so everything would
> be backwards compatible. It would also make the code development easier.
>
> Is this reasonable? Please feel free to consent/object/discuss.
A few thoughts:
1) I definitely agree we should not do two separate reads of the nl
file, one for the instance and one for the options
2) To be honest, I think it is misleading to have the OSnl2osil have
"hidden" code that also creates an OSOption object. Also, the
inheritance seems odd and awkward. The class OSnl2osil creates osil from
nl. To have a class that inherits from this that either creates osil
and osol or just osol does not make any sense to me.
3) I would like to propose the following alternative:
a) keep OSnl2osil.cpp and OSnl2osil.h exactly as is. This will be legacy
code that may or may not get deleted at some future point. I don't think
this is an uncommon practice.
b) create a new class OSnl2OS that reads the nl file once and pulls out
the instance and the options. Of course we can cut and paste any code we
want from OSnl2osil here.
c) we modify OSAmlClient to use OSnl2OS.
With the above changes then we are completely backward compatible, keep
all the old functionality and have new and improved functionality.
Cheers
--
Kipp Martin
Professor of Operations Research
and Computing Technology
Booth School of Business
University of Chicago
5807 South Woodlawn Avenue
Chicago, IL 60637
773-702-7456
kmartin at chicagobooth.edu
http://www.chicagobooth.edu/faculty/bio.aspx?person_id=12825325568
http://projects.coin-or.org/OS
Sent without Blackberry, Droid, iPhone, or any other
wireless device.
--
More information about the Os-project-managers
mailing list