pdfreader not opened with owner password itext c# : How to copy an image from a pdf SDK control API .net web page wpf sharepoint powersim0-part4

SANDIA REPORT 
SAND2011-4108 
Unlimited Release 
Printed June 2011 
Best Practices for System Dynamics Model Design and 
Construction with Powersim Studio 
Leonard A. Malczynski 
Prepared by 
Sandia National Laboratories 
Albuquerque, New Mexico  87185 and Livermore, California  94550 
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation,  
a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s 
National Nuclear Security Administration under contract DE-AC04-94AL85000. 
Approved for public release; further dissemination unlimited. 
How to copy an image from a pdf - copy, paste, cut PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed tutorial for copying, pasting, and cutting image in PDF page using C# class code
how to copy pdf image to powerpoint; how to copy an image from a pdf file
How to copy an image from a pdf - VB.NET PDF copy, paste image library: copy, paste, cut PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Tutorial for How to Cut or Copy an Image from One Page and Paste to Another
copy images from pdf; how to copy picture from pdf to word
Issued by Sandia National Laboratories, operated for the United States Department of Energy by Sandia Corporation. 
NOTICE:  This report was prepared as an account of work sponsored by an agency of the United States Government.  Neither the United States 
Government, nor any agency thereof, nor any of their employees, nor any of their contractors, subcontractors, or their employees, make 
any warranty, express or implied, or assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any 
information, apparatus, product, or process disclosed, or represent that its use would not infringe privately owned rights. Reference 
herein to any specific  commercial product,  process, or service by trade name, trademark, manufacturer, or otherwise, does not 
necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government, any agency thereof, or 
any of their contractors or subcontractors.  The views and opinions expressed herein do not necessarily state or reflect those of the 
United States Government, any agency thereof, or any of their contractors. 
Printed in the United States of America.  This report has been reproduced directly from the best available copy. 
Available to DOE and DOE contractors from 
U.S. Department of Energy 
Office of Scientific and Technical Information 
P.O. Box 62 
Oak Ridge, TN  37831 
Telephone:  (865) 576-8401 
Facsimile:  (865) 576-5728 
E-Mail:  reports@adonis.osti.gov
Online ordering: 
http://www.osti.gov/bridge
Available to the public from 
U.S. Department of Commerce 
National Technical Information Service 
5285 Port Royal Rd. 
Springfield, VA  22161 
Telephone:  (800) 553-6847 
Facsimile:  (703) 605-6900 
E-Mail:  orders@ntis.fedworld.gov
Online order:  http://www.ntis.gov/help/ordermethods.aspx
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
How to C#: Extract Image from PDF Document. List<PDFImage> allImages = PDFImageHandler. ExtractImages(page); C#: Select An Image from PDF Page by Position.
how to copy pictures from a pdf; how to cut an image out of a pdf
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET PDF - Extract Image from PDF Document in VB.NET. Support PDF VB.NET : Select An Image from PDF Page by Position. Sample for
paste picture pdf; how to paste a picture into a pdf document
SAND2011-4108 
Unlimited Release 
Printed June 2011 
Best Practices for System Dynamics Model Design and 
Construction with Powersim Studio 
Leonard A. Malczynski 
Sandia National Laboratories 
P.O. Box 5800 
Albuquerque, New Mexico  87185 
Abstract 
This guide addresses software quality in the construction of Powersim
®
Studio 8
1
system dynamics simulation 
models. It is the result of almost ten years of experience with the Powersim suite of system dynamics modeling 
tools (Constructor and earlier Studio versions). It is a guide that proposes a common look and feel for the 
construction of Powersim Studio system dynamics models. 
1
Powersim is a registered trademark of Powersim Software AS. 
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
C#.NET PDF Library - Copy and Paste PDF Pages in C#.NET. Easy Ability to copy selected PDF pages and paste into another PDF file. The
copy and paste image from pdf to pdf; copy paste image pdf
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
Dim page As PDFPage = doc.GetPage(3) ' Select image by the point VB.NET: Clone a PDF Page. Dim doc As PDFDocument = New PDFDocument(filepath) ' Copy the first
how to copy an image from a pdf in; how to cut pdf image
Acknowledgements 
This booklet is the result of the alignment of several factors. They include my software engineering background, 
attempts by the staff at Sandia National Laboratories to perform a self examination of our model code, grassroots 
efforts by the modeling staff to improve model quality, and the chance to critically examine someone else’s work. 
First, I would like to thank all my current and former colleagues at Sandia National Laboratories for their 
contributions to building better models in Powersim Studio. They have done some amazing work with a ‘system 
dynamics’ software tool, extending it into the ‘extra-methodological’ arena. As I was able to introduce new staff to 
Studio I learned more and more about it just to address their questions. Thanks to Dave Harris, Dick Thomas, 
Vince Tidwell, Jesse Roach, Jim Brainard, Howard Passell, Peter Kobos, Tom Drennen, Beth Richards, Tom 
Lowry, Marissa Reno, Will Peplinski, Garrett Barter, Katherine Dunphy Guzman, Dave Reichmuth, Robert Taylor, 
Jim Ellison, and Will Kamery. There were many students too, especially Carlos Aragon, Jesse Roach, La Tonya 
Walker, Cesar Castillo, and Zach Lott. 
Second, the colleagues of the powersimtools user group on Yahoo Groups. Amazing questions and amazing 
answers are the norm. I told one of the original members that the group was really a selfish act on my part to learn 
faster. Let’s hope it works for all of us. Special thanks to Keith Linard, Alan McLucas, Bill Braun, Jake Jacobson, 
and Steinar Moen. 
Thank you to Powersim Corporation AS for listening to praises, complaints, and suggestions. It has been a 
wonderful experience since 1992 working with you especially Knut Vavik, Arne Kråkenes, Steinar Moen, Bjørn 
Arild Baugstø, Hilde Martinussen, and Tone Haveland. We have had great expectations as modelers and have not 
been disappointed. 
Last, but not least, thanks to Powersim Solutions, Inc. In the long history of system dynamics I would wager that 
many papers have been written about service management. A stellar case of great service management is Powersim 
Solutions lead by Imrana Umar (a longtime member, officer, and organizer for the System Dynamics Society) and 
backed by a wonderful staff. You can’t write system dynamics models in Powersim Studio if you don’t receive the 
product in a timely manner. You can’t write system dynamics models in Powersim Studio if you don’t have access 
to technical support and license management. You can’t manage this well in the USA without the help of Powersim 
Solutions. The ‘behind the scenes’ effort of Powersim Solutions is not recognized often enough. 
Special thanks to those who contributed to the editing of this document, Bill Braun, Frederic Dromigny, George 
Papacristos, Hilde Martinussen and Howard Passell. Although many have contributed to the techniques in this 
guide all errors and omissions
2
are mine. 
2
I am always finding useful things that the Studio Interactive Development Environment (IDE) or ‘Workspace’ can do. It also seems that I can never 
keep up with the new features, especially functions, which are added to new Studio Feature Packs and Service Releases. Experiment and enjoy! 
If you would like to contribute ideas to this 
pamphlet please contact me at 
lamalcz@sandia.gov. 
VB.NET PDF insert image library: insert images into PDF in vb.net
VB.NET PDF - Add Image to PDF Page in VB.NET. Insert Image to PDF Page Using VB. Add necessary references: RasterEdge.Imaging.Basic.dll.
how to copy a picture from a pdf file; copy image from pdf acrobat
C# Create PDF from images Library to convert Jpeg, png images to
Best and professional C# image to PDF converter SDK for Visual Studio .NET. C#.NET Example: Convert One Image to PDF in Visual C# .NET Class.
copy pdf picture to word; how to cut an image out of a pdf file
iv 
Table of Contents
Table of Figures.......................................................................... 3
Philosophy .................................................................................. 1
Why ................................................................................................. 1
Precedent ........................................................................................ 1
Advantages ..................................................................................... 1
Color and Naming and Capitalization - Oh, My! ........................ 2
Naming Conventions ....................................................................... 2
Colors .............................................................................................. 2
Testing and temporary variables ..................................................... 3
Units............................................................................................ 3
System Units ................................................................................... 4
Custom and Atomic Units ................................................................ 4
Arrays, Ranges and Range Names ........................................... 4
Advantages ..................................................................................... 7
Style ................................................................................................ 7
Pitfalls ............................................................................................. 7
Modularity or Partitioning: Art and Science ................................ 7
Coupling .......................................................................................... 7
Cohesion ......................................................................................... 8
Practical Issues ............................................................................... 9
Naming Constructor Diagrams ........................................................ 9
Data ............................................................................................ 9
Potential data problems ................................................................ 10
Coding Style ............................................................................. 10
Indent at Operators ....................................................................... 10
Indent at () ..................................................................................... 11
General code layout and indentation............................................. 11
Align Arrays ................................................................................... 11
Layout ........................................................................................... 12
Shortcut variables ......................................................................... 13
Documentation .............................................................................. 13
C# PDF insert image Library: insert images into PDF in C#.net, ASP
C#.NET PDF SDK - Add Image to PDF Page in C#.NET. How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Add Image to PDF Page Using C#.NET.
copy pictures from pdf to word; copy images from pdf file
VB.NET PDF remove image library: remove, delete images from PDF in
Replace Text in PDF. Image: Insert Image to PDF. Image: Remove Image from PDF Page. Image: Copy, Paste, Cut Image in Page. Link: Edit URL.
copy pdf picture; paste picture to pdf
iv 
Coding Pitfalls........................................................................... 13
DIVZ0 ............................................................................................ 13
Equation complexity ...................................................................... 13
Techniques ............................................................................... 14
Getting started on a model ............................................................ 14
Data Considerations...................................................................... 14
Input .................................................................................................... 14
Output.................................................................................................. 14
Model naming ............................................................................... 14
Interface Design ....................................................................... 15
Source Code Analysis – What Can Be Done? ........................ 16
Are there undefined or problematic variables? .............................. 17
Does every variable have a well defined unit assigned to it? ........ 17
Does the model follow ‘standard’ naming conventions?................ 17
Does the model contain embedded constants? ............................ 18
Are stocks initialized internally with other than non-zero values? . 18
Are Links marked with # (indicating they are not used in the 
variable they connect to) ............................................................... 18
Is every variable used by another variable? If not, why not? ......... 18
Do variables exist in the Equations View and not on any of the 
model sheets? ............................................................................... 18
Units Checking .............................................................................. 18
Using the Find and Go to Variable Tools ...................................... 18
Automatic Errors and Warnings – Executable Code at Every 
Stopping Point ............................................................................... 19
Checklists ...................................................................................... 20
Summary and Conclusion ........................................................ 22
Appendix A: Assigning Constructor Diagram Names (sheet 
names) to Variables ................................................................. 23
Appendix B: Creating ranges names from external data files . 24
Appendix C: Model Construction Checklist .............................. 26
Appendix D: Model Analysis Checklist ..................................... 28
References ............................................................................... 30
iv 
Table of Figures
Figure 1 Sample model color scheme ......................................................................................................................................................................................... 3
Figure 2 Population model using an array.................................................................................................................................................................................. 5
Figure 3 Population model without an array ............................................................................................................................................................................. 6
Figure 4 Model variable grouping ................................................................................................................................................................................................ 8
Figure 5 Sample Studio icons ...................................................................................................................................................................................................... 12
Figure 6 Duplication of DYNAMO-like output in Studio. Model based upon MIT D-Memo D-2843, Suggested Solution to 
Modeling Assignment #4 (D-2824), Dynamics of Illegal Mexican Migration, Homayoon E. Dabiri, December 23, 
1977 ............................................................................................................................................................................................................................. 15
Figure 7 Liquid fuel supply chain demonstration. Provided by Robert Taylor of Sandia National Laboratories ................................................... 16
Figure 8 Carbon sequestration demonstration. Provided by Peter Kobos of Sandia National Laboratories ........................................................... 16
Figure 9 Studio Go To Variable window ................................................................................................................................................................................. 19
Figure 10 Studio Select Special window ................................................................................................................................................................................... 19
Figure 11 Modeler's Dilemma causal loop ............................................................................................................................................................................... 22
BE S T  PR A C T IC E SV OL UM E   1  
Philosophy 
wise person learns from the mistakes of others.” 
“Any fool can write code that a computer can understand. Good programmers write code that 
humans can understand.” - Martin Fowler 
Why 
Many years of experience with Powersim tools such as Constructor and Studio have taught us that a bit of 
prevention is a great cure to model complexity.  Some would say that a best practices guide just stifles 
creativity.  We say that it liberates creativity in that it simplifies mundane modeling tasks, makes models
3
done by other modelers more accessible, and prolongs the useful life of models. This best practices guide 
is a mixture of the pedagogic and the practical. We attempt to explain the why and the how, specifically in 
the context of Powersim Studio
4
The difficulty here is balancing prescriptive measures with the system dynamics methodology
. This work could turn into guidelines for simulation software engineering 
in general (please see References), it will not. These are techniques specific to Powersim Studio that may 
have their foundations in software engineering and the system dynamics methodology.  This is not a 
substitute for the tremendous body of knowledge in those two fields. 
5
and 
mastery of Studio itself.  Powersim Studio provides good tutorials on the latter.  In addition the Powersim 
Tools User Group on Yahoo Groups
6
Precedent 
has much sample code and training materials for beginners. 
Can you think of a well defined methodology that doesn’t have a best practices guide? All of us are 
constantly made aware of ‘the right thing to do’. These suggestions come from others who have tried 
again and again, made mistakes, and now want to pass their wisdom on to us. Of course it is a good thing 
to make mistakes (within some bounds) and learn from them. Here we can learn from the mistakes of 
others. 
Advantages 
Time savings, as simple as that. 
3
Model, the word, can have many meanings. Here we mean the actual Studio *.sip file and all the variables in it.  Adding an interface 
to a model results in an application; model + interface = application. Here we are concerned only with models. A guide on 
application development is forthcoming. 
4
A similar guide could be produced for Vensim or Stella or any other tool. 
5
Studio has a good ‘Introduction to System Dynamics’ as part of its Help system. 
6
http://tech.groups.yahoo.com/group/powersimtools/ 
“A 
Color and Naming and Capitalization - Oh, My! 
I found I could say things with color and shapes that I couldn't say any other way - things I had no words 
for.
[Georgia O’Keeffe, American painter] 
Naming Conventions 
Studio has the capability of permitting long variable names.  In fact, several hundred characters are not a 
problem.  These are the styles and recommendations for naming: 
1.
The names of variables should be clear and unambiguous
7
2.
Resist using uncommon abbreviations, e.g. ‘fltp’ when you mean ‘fuel type’. 
 
3.
Use acronyms sparsely and only if they are generally accepted in your field, e.g. kWh instead 
of kilowatt hours. 
4.
Resist using digits, e.g. 1, when you mean one. Occasionally digits can be used if your client 
uses them to name objects, e.g. ‘Power plant 1’. 
5.
Resist using special characters, e.g.  !, #, $, &, ~, -.
8
6.
Constants should be in uppercase, e.g. INITIAL POPULATION. 
7.
Auxiliaries, including flow rates, should be lowercase, e.g. population growth rate. 
8.
Stocks should have the first letter of major words in uppercase, e.g. Corn Stock. 
The benefits are in immediate recognition (even though Studio assigns a distinct icon to each 
variable type).  This is even more beneficial when variables are exported from the Equations View to 
Microsoft Excel (2007).  We will see below how the Studio icon face also adds clarification to a 
model. Many modelers adopt additional naming conventions, e.g. prefixes for interface variables or 
for special control variables.  Studio 8 can now list the variable type of every equation in Equations 
View. 
Your project can develop a standard for prefixes and suffixes on variable names. An example might 
be preceding all input variables with ‘INPUT’ or all constants used as switches with ‘SWITCH’. This 
document has no specified preference. Decide
, document
, and consistently implement
a standard of 
your own. 
Colors 
Colors are a personal or team preference.  The use of color draws the eye to certain variables.  It is best to 
set up a color scheme for you or your team, publish it and stick with it.  You can include a table built using 
the Studio Table tool to show the colors and what they represent.  Copy this table and place it in the same 
spot, e.g. upper left corner, of every Constructor Diagram aka sheet.  Avoid hiding detail that will occur 
when coloring objects the same color as the Constructor diagram background.  Also avoid adding color to 
model elements to make them ‘look pretty’. Have a purpose for color. 
7
Gone are the days of DYNAMO when names were constrained to be 4-6 characters long. 
8
These characters can be used in names but may cause confusion in equations especially if exporting equations to Microsoft Excel 
(2007). 
Figure 1 Sample model color scheme 
Testing and temporary variables 
During the Modeling process most modelers tend to create temporary variables specifically for testing 
purposes. Often these variables go unnoticed as the model is completed. One technique is to use a word 
at the front of every variable that is truly dispensable. We tend to use the word ‘TEST’. When the model is 
ready for final delivery simply go to the equations view, sort your variable alphabetically, and delete all 
those that begin with TEST.  You may have some interface object clean up to do after that. 
Units 
“To the degree that a model passes tests that it is ‘sound, defensible and well grounded’ it has that degree of 
validity and, hence, of being good enough for its purpose. If no tests were passed, the model would be 
completely invalid and hence useless. A model might, however, pass many tests but fail one that is absolutely 
essential, such as, in system dynamics, dimensional consistency. Such a model would be invalid as one would 
not know how much confidence could be placed in its outputs.” [Coyle and Exelby, 2000] 
Unitizing variables (dimensional consistency) is one of the most controversial topics in model 
construction and continues to be so.  In the recent past this controversy stemmed primarily from 
the difficulty in applying and managing units within system dynamics software.  Additionally there is 
a belief that if a model stays below a certain ‘small’ size, units are not required; this assumes that the 
modeler is more than capable of managing the syntax and semantics of the model construction 
without the overhead of unitized variables if the model is ‘small’. Studio makes the first issue trivial 
if not moot, the second is still contentious. 
There is no question that every, yes every, model variable should have a unit assigned to it.  Perhaps 
some clarification of that last comment is necessary.  Yes, Studio can be used to build models that 
do not follow the system dynamics methodology. Those models can be built without units. This 
booklet ignores those models.  As a best practice, assign a unit to each and every variable. 
Studio has the ability to ‘inherit’ units as you build your model. By inheritance we do not mean 
inheritance in the object oriented computing sense (inheriting attributes and behavior from a parent 
class).  As you build a model if you add units to all the constants (typically exogenous variables or 
initial values of stocks), as you connect those constants to auxiliaries or use them to initialize levels, 
the receiving variable will inherit the units. 
Documents you may be interested
Documents you may be interested