[ibis-macro] Re: About the Typos BIRD comments from Fangyi

  • From: Mike Steinberger <msteinb@xxxxxxxxxx>
  • To: Scott McMorrow <scott@xxxxxxxxxxxxx>
  • Date: Tue, 07 Dec 2010 15:32:51 -0600

Scott-

Yes, the value of AMI_memory is available to the calling program. However, the calling program does not know: 1. How much memory is allocated to AMI_memory. AMI_memory gives the start of the allocated memory, but there is no direct way to find out where the allocated memory ends. 2. How the allocated memory is structured. Again some reverse engineering of the memory might be possible, but reverse engineering the model code or internal model behavior from the persistent memory is a non-starter.

In point of fact, it is possible to observe the local variables, persistent variables and code branch structure of _any_piece of software simply by running it on an instruction set simulator. There does not need to be any interface such as the one that exists between the EDA tool and the AMI model.

If it's really important, there are techniques for making software such as license management economically prohibitive to reverse engineer, and the most effective of those techniques are entirely accessible to AMI model developers if they choose to use them. Only minimal effort or expense required.

Actually, if you wanted to be really mean to someone, you could give them uncommented, undocumented source code for a model, with the variable names mangled. What they could actually learn would not be worth the effort they put into understanding the code.

Mike S.

On 12/07/2010 03:07 PM, Scott McMorrow wrote:
Excuse me for my programming ignorance, but in the following call, is the location of AMI_Memory available to the calling program?

| long AMI_GetWave (double *wave,
|                   long wave_size,
|                   double *clock_times,
|                   char **AMI_parameters_out,
|                   void *AMI_memory);


Scott McMorrow
Teraspeed Consulting Group LLC
121 North River Drive
Narragansett, RI 02882
(401) 284-1827 Business
(401) 284-1840 Fax

http://www.teraspeed.com

Teraspeed® is the registered service mark of
Teraspeed Consulting Group LLC

On 12/7/2010 3:25 PM, Todd Westerhoff wrote:

Scott,

I don't see the cause for concern. If a model allocates memory for its internal use, the contents of that memory won't be visible to anything except the model itself. None of the interactions at the model's external interface provide any visibility to the private data inside the model.

Todd.

________________________


Todd Westerhoff
VP, Software Products
SiSoft
6 Clock Tower Place, Suite 250
Maynard, MA 01754
(978) 461-0449 x24
twesterh@xxxxxxxxxx <mailto:twesterh@xxxxxxxxxx>
www.sisoft.com <http://www.sisoft.com>

------------------------------------------------------------------------


Other related posts: