codeInstrumentation.php
Go to the documentation of this file.00001 <?php
00002 require_once( "header.php" )
00003 ?>
00004 <div id="content">
00005 <div class="post">
00006 <h2 class="title"><a href="#Code Instrumentation" name="Code Instrumentation">Code Instrumentation</a></h2>
00007 <p class="meta">
00008 <span class="subtopic">What is Code Instrumentation?</span>
00009 <span class="topic">Code Instrumentation</span>
00010 </p>
00011 <div style="clear: both;"> </div>
00012 <div class="entry">
00013 <p>
00014 In context of computer programming,
00015 <a href="http://en.wikipedia.org/wiki/Instrumentation_(computer_programming)">code instrumentation</a>
00016 refers to an ability to monitor or measure the level of a
00017 product's performance, to diagnose errors and writing trace
00018 information.
00019 Instrumentation is in the form of code instructions that monitor
00020 specific components in a system
00021 (for example, instructions that output logging information appear on screen).
00022 When an application contains instrumentation code,
00023 it can be managed using a management tool. Instrumentation is
00024 necessary to review the performance of the application.
00025 Instrumentation approaches can be of two types, source
00026 instrumentation and binary instrumentation
00027 from
00028 <cite>
00029 <a href="http://en.wikipedia.org/wiki/Instrumentation_(computer_programming)">
00030 Wikipedia, 2010
00031 </a>
00032 </cite>
00033 </p>
00034 <p>
00035 Code to Diagram it is a project what intent to use code instrumentation and rich internet applications
00036 to improve the use of diagrams into projects and make easy keep them sync with the real code execution.
00037 To do that it is possible to create diagrams based on code executions, unitary tests, code files,
00038 xmls files, text files, etc.
00039 </p>
00040 <p>
00041 To generate diagrams based on code executions it is necessary to make a call to a bootstrap file of the
00042 code to diagram engine, what will sniffer all the execution and based on the objects interactions
00043 will generate a diagram. But, to config more detail the diagram, changing the user-agent order, the
00044 user-agent type, append some note object, change style properties, etc. the user will need to deal
00045 with the code to diagram objects.
00046 In this page we will explain to you how to do it.
00047 </p>
00048 </div>
00049 </div>
00050 <div class="post">
00051 <p class="meta">
00052 <span class="subtopic"><a name="PHP Code to Class Diagram" href="codeInstrumentation.php#PHP Code to Class Diagram">PHP Code to Class Diagram</a></span>
00053 <span class="topic">Code Instrumentation</span>
00054 </p>
00055 <div style="clear: both;"> </div>
00056 <div class="entry">
00057 <p>
00058 This tool is for the
00059 automatic generation of class diagrams based on the PHP
00060 code execution or recursive analysis of the PHP project folder.
00061 In the first case, just like the Sequence Diagram Generation, one full code execution or some stretch of
00062 execution it is monitored by classes of <a href="http://www.glenmccl.com/instr/instr.htm">Code Instrumentation</a>
00063 what, based on the in formations received,
00064 creating the diagram of that code execution. This diagram can be seen in browser and edited in browser, and also
00065 to be saved as XML, as a jpeg image and as XMI UML file.
00066 </p>
00067 <p>
00068 With the recent changes into the PHP, as namespaces, the code instrumentation
00069 need to be updated. Maybe this will take a big time because. Until then, try generate diagrams of projects what use this new
00070 features probably will fail. Another option more
00071 trustable, simple and fast it is the creation of diagrams based on the
00072 results of the XDebug. That is the reason because the creation of diagrams
00073 based on XDebug become one of the priority features.
00074 </p>
00075 <p>
00076 <strong>The Diagram Generation With XDebug still is in working progress</strong>. You can help to accelerate
00077 it making a <a href="#donation">donation</a>.
00078 </p>
00079 </div>
00080 </div>
00081 <div class="post">
00082 <h2 class="title"><a href="#">Limitations</a></h2>
00083 <p class="meta">
00084 <span class="subtopic">Internet Explorer Output</span>
00085 <span class="topic">Limitations</span>
00086 </p>
00087 <div style="clear: both;"> </div>
00088 <div class="entry">
00089 <p>
00090 While still not fully working on <a href="http://www.findmebyip.com/litmus#target-selector">Internet Explorer</a>,
00091 the generator already makes life easier for those
00092 responsible in maintaining this kind of diagrams.
00093 We welcome anyone with the patience and desire to make the
00094 CSS changes need for it to work on Internet Explorer.
00095 </p>
00096 </div>
00097 <p class="meta">
00098 <span class="subtopic">Under Development</span>
00099 <span class="topic">Limitations</span>
00100 </p>
00101 <div style="clear: both;"> </div>
00102 <div class="entry">
00103 <p>
00104 Also, fully compliance with UML 2.0 is still under development.
00105 Anyone interested in working in these fields is more than welcome to join the team.
00106 And if you have a patch on add-on to send, feel free to do so.
00107 Just send an e-mail to me <a href="mailto:thiago.henrique.mata@gmail.com">thiago.henrique.mata@gmail.com</a> .
00108 And remember, this is free software, in development, and as such, I can give you no warranty.
00109 Use it at your own risk. It's not for the faint of heart.
00110 Tag names can and should change. New tags can be add anytime. Stay tunned for more news.
00111 </p>
00112 </div>
00113 </div>
00114 <div style="clear: both;"> </div>
00115 </div>
00116 <?php
00117 require_once( "footer.php" );
00118 ?>