uml analysis
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 617
Sequence Analysis 1.6.0
Sequence Analysis project is a collage of coding projects. more>>
Sequence Analysis project is a collage of coding projects which I have written over the past several years for various clients in my work as a bioinformatics consultant.
These clients have graciously allowed me to release these works into the public domain as freeware for Macintosh OS X in order to promote the platform and to encourage migration from Classic.
The upper window panel can hold several sequences, which are both editable and selectable. The tabs in the lower analysis panel try to keep up with the current sequence selection to provide immediate feedback. The selection is used in some modules as only the portion being analyzed for other modules i.e. Digest is used to determine if enzymes cut in the in or outside of the selection.
Most commonly available sequence formats have been reverse engineered. You can also access a sequences from the NCBI via its GID or UID. This currently cannot be done from behind a firewall.
Most of the analyses are simple enough that they are obvious to use, Composition, pI. Others could stand some documenation i.e. Pairwise and Primer Design. The Publish tab uses a string to control the layout. Click on the Legend button for some help.
<<lessThese clients have graciously allowed me to release these works into the public domain as freeware for Macintosh OS X in order to promote the platform and to encourage migration from Classic.
The upper window panel can hold several sequences, which are both editable and selectable. The tabs in the lower analysis panel try to keep up with the current sequence selection to provide immediate feedback. The selection is used in some modules as only the portion being analyzed for other modules i.e. Digest is used to determine if enzymes cut in the in or outside of the selection.
Most commonly available sequence formats have been reverse engineered. You can also access a sequences from the NCBI via its GID or UID. This currently cannot be done from behind a firewall.
Most of the analyses are simple enough that they are obvious to use, Composition, pI. Others could stand some documenation i.e. Pairwise and Primer Design. The Publish tab uses a string to control the layout. Click on the Legend button for some help.
Download (2.3MB)
Added: 2006-01-18 License: Freeware Price:
1377 downloads
Net::Analysis 0.04
Net::Analysis are modules for analysing network traffic. more>>
Net::Analysis are modules for analysing network traffic.
SYNOPSIS
Using an existing analyser:
$ perl -MNet::Analysis -e main help
$ perl -MNet::Analysis -e main TCP,v=1 dump.tcp - basic TCP info
$ perl -MNet::Analysis -e main HTTP,v=1 dump.tcp - HTTP stuff
$ perl -MNet::Analysis -e main Example2,regex=img dump.tcp - run an example
Writing your own analyser:
package MyExample;
use base qw(Net::Analysis::Listener::Base);
# Listen to events from other modules
sub tcp_monologue {
my ($self, $args) = @_;
my ($mono) = $args->{monologue};
my $t = $mono->t_elapsed()->as_number();
my $l = $mono->length();
# Emit your own event
$self->emit(name => example_event,
args => { kb_sec => ($t) ? $l/($t*1024) : N/A }
);
}
# Process your own event
sub example_event {
my ($self, $args) = @_;
printf "Bandwidth: %10.2f KB/secn", $args->{kb_sec};
}
1;
__top
ABSTRACT
Net::Analysis is a suite of modules that parse tcpdump files, reconstruct TCP sessions from the packets, and provide a very lightweight framework for writing protocol anaylsers.
__top
I wanted a batch version of Ethereal in Perl, so I could:
- sift through parsed protocols with structured filters
- write custom reports that mixed events from multiple protocols
So here it is. Net::Analysis is a stack of protocol handlers that emit, and listen for, events.
<<lessSYNOPSIS
Using an existing analyser:
$ perl -MNet::Analysis -e main help
$ perl -MNet::Analysis -e main TCP,v=1 dump.tcp - basic TCP info
$ perl -MNet::Analysis -e main HTTP,v=1 dump.tcp - HTTP stuff
$ perl -MNet::Analysis -e main Example2,regex=img dump.tcp - run an example
Writing your own analyser:
package MyExample;
use base qw(Net::Analysis::Listener::Base);
# Listen to events from other modules
sub tcp_monologue {
my ($self, $args) = @_;
my ($mono) = $args->{monologue};
my $t = $mono->t_elapsed()->as_number();
my $l = $mono->length();
# Emit your own event
$self->emit(name => example_event,
args => { kb_sec => ($t) ? $l/($t*1024) : N/A }
);
}
# Process your own event
sub example_event {
my ($self, $args) = @_;
printf "Bandwidth: %10.2f KB/secn", $args->{kb_sec};
}
1;
__top
ABSTRACT
Net::Analysis is a suite of modules that parse tcpdump files, reconstruct TCP sessions from the packets, and provide a very lightweight framework for writing protocol anaylsers.
__top
I wanted a batch version of Ethereal in Perl, so I could:
- sift through parsed protocols with structured filters
- write custom reports that mixed events from multiple protocols
So here it is. Net::Analysis is a stack of protocol handlers that emit, and listen for, events.
Download (0.30MB)
Added: 2006-07-27 License: Perl Artistic License Price:
1185 downloads
Market Analysis System 1.6.6t3
Market Analysis System (MAS) is an open-source software application that provides tools for analysis of financial markets. more>>
Market Analysis System (MAS) is an open-source software application that provides tools for analysis of financial markets using technical analysis.
Market Analysis System provides facilities for stock charting and futures charting, including price, volume, and a wide range of technical analysis indicators. Market Analysis System also allows automated processing of market data - applying technical analysis indicators with user-selected criteria to market data to automatically generate trading signals - and can be used as the main component of a sophisticated trading system.
Main features:
- Includes basic technical analysis indicators, such as Simple Moving Average, Exponential Moving Average, Stochastic, MACD, RSI, On Balance Volume, and Momentum.
- Includes more advanced indicators, such as Standard Deviation, Slope of EMA of Volume, Slope of MACD Signal Line, Bollinger Bands, and Parabolic SAR.
- User can create new technical analysis indicators, including complex indicators based on existing indicators.
- User can configure criteria for automated trading-signal generation.
- Creation of weekly, monthly, quarterly, and yearly data from daily data.
- Handles intraday data.
- Handles stock and futures data.
- Accepts input data from files, from a database, or from the web. (Includes a configuration for obtaining end-of-day data from yahoo.com.)
- Can be configured and run as a server that provides services for several clients at a time running on remote machines.
<<lessMarket Analysis System provides facilities for stock charting and futures charting, including price, volume, and a wide range of technical analysis indicators. Market Analysis System also allows automated processing of market data - applying technical analysis indicators with user-selected criteria to market data to automatically generate trading signals - and can be used as the main component of a sophisticated trading system.
Main features:
- Includes basic technical analysis indicators, such as Simple Moving Average, Exponential Moving Average, Stochastic, MACD, RSI, On Balance Volume, and Momentum.
- Includes more advanced indicators, such as Standard Deviation, Slope of EMA of Volume, Slope of MACD Signal Line, Bollinger Bands, and Parabolic SAR.
- User can create new technical analysis indicators, including complex indicators based on existing indicators.
- User can configure criteria for automated trading-signal generation.
- Creation of weekly, monthly, quarterly, and yearly data from daily data.
- Handles intraday data.
- Handles stock and futures data.
- Accepts input data from files, from a database, or from the web. (Includes a configuration for obtaining end-of-day data from yahoo.com.)
- Can be configured and run as a server that provides services for several clients at a time running on remote machines.
Download (0.60MB)
Added: 2006-05-24 License: LGPL (GNU Lesser General Public License) Price:
1260 downloads
Directory Analysis Tool 0.0.2
Directory Analysis Tool is used to analyze LDAP directories and report on their contents. more>>
Directory Analysis Tool is used to analyze LDAP directories and report on their contents.
Useful if you want to find inactive accounts, people who havent changed passwords, or who has administrator privileges.
<<lessUseful if you want to find inactive accounts, people who havent changed passwords, or who has administrator privileges.
Download (MB)
Added: 2006-06-26 License: GPL (GNU General Public License) Price:
1219 downloads
Network Security Analysis Tool 1.5
Network Security Analysis Tool is a fast, stable bulk security scanner designed to audit remote network services. more>>
Network Security Analysis Tool is a fast, stable bulk security scanner designed to audit remote network services and check for versions, security problems, gather information about the servers and the machine, and much more.
A manpage providing extensive information on NSAT has been included in the distribution. It is available after a make install, or just by typing man doc/nsat.8 from this dir. It is suggested that you inform yourself at least about the -v (scan verbosity) option and edit the configuration file. To learn about changes in this version, please consult doc/CHANGES.
New to this version is support for distributed scanning. The manpage describes how to do a distributed scan. Note that distributed scanning in this version is just a preliminary, proof-of-concept, implementation with no guarantees for its security, reliability, or performance.
Check for updated vulnerability lists, config files, etc. from
http://nsat.sourceforge.net
Currently, these are lists of vulnerabilities:
nsat.cgi (CGI scripts)
nsat.conf (configuration)
src/mod/snmp.h (SNMP community names)
<<lessA manpage providing extensive information on NSAT has been included in the distribution. It is available after a make install, or just by typing man doc/nsat.8 from this dir. It is suggested that you inform yourself at least about the -v (scan verbosity) option and edit the configuration file. To learn about changes in this version, please consult doc/CHANGES.
New to this version is support for distributed scanning. The manpage describes how to do a distributed scan. Note that distributed scanning in this version is just a preliminary, proof-of-concept, implementation with no guarantees for its security, reliability, or performance.
Check for updated vulnerability lists, config files, etc. from
http://nsat.sourceforge.net
Currently, these are lists of vulnerabilities:
nsat.cgi (CGI scripts)
nsat.conf (configuration)
src/mod/snmp.h (SNMP community names)
Download (0.40MB)
Added: 2006-07-14 License: GPL (GNU General Public License) Price:
1204 downloads
Statistical Traffic Analysis Kit 1.0b2
Statistical Traffic Analysis Kit is a set of command-line traffic analysis tools. more>>
Statistical Traffic Analysis Kit is a set of command-line traffic analysis tools, designed to help a network administrator to see what is happening at a router at the moment.
Unlike tcpdump (1), the stak set uses statistical and stream-oriented methods, and will rarely produce an output stream at a speed beyond human perception. The output is less accurate.
The kit consists of five different utilities, designed to perform the following tasks:
estimating overall traffic rates (stakrate),
determining network nodes generating the highest traffic (stakhosts)
monitoring the amount of traffic exchanged with particular autonomous
systems (stakasta),
extracting strings from packets (stakextract),
determining connections and flows generating the highest traffic
(stakstreams, experimental),
<<lessUnlike tcpdump (1), the stak set uses statistical and stream-oriented methods, and will rarely produce an output stream at a speed beyond human perception. The output is less accurate.
The kit consists of five different utilities, designed to perform the following tasks:
estimating overall traffic rates (stakrate),
determining network nodes generating the highest traffic (stakhosts)
monitoring the amount of traffic exchanged with particular autonomous
systems (stakasta),
extracting strings from packets (stakextract),
determining connections and flows generating the highest traffic
(stakstreams, experimental),
Download (0.068MB)
Added: 2006-06-29 License: GPL (GNU General Public License) Price:
1219 downloads
UMLet 7.1
UMLet is a lightweight tool for rapidly drawing UML diagrams. more>>
UMLet project is an open-source Java tool for rapidly drawing UML diagrams with a pop-up-free, light-weight user interface.
UMLet lets you draw diagram sketches fast; export diagrams to eps, pdf, jpg, svg, and sys.
Add elements to a diagram with a double click. Edit elements using the lower-right text panel. Select multiple elements using Ctrl or lasso. Press C to copy diagram to the system clipboard
Main features:
- fast
- text-based sequence diagram
- call from command line.
<<lessUMLet lets you draw diagram sketches fast; export diagrams to eps, pdf, jpg, svg, and sys.
Add elements to a diagram with a double click. Edit elements using the lower-right text panel. Select multiple elements using Ctrl or lasso. Press C to copy diagram to the system clipboard
Main features:
- fast
- text-based sequence diagram
- call from command line.
Download (4.9MB)
Added: 2006-11-22 License: GPL (GNU General Public License) Price:
657 downloads
TA-Lib : Technical Analysis Library 0.3.0
TA-Lib provides common functions for the technical analysis of stock/future/commodity market data. more>>
TA-Lib provides common functions for the technical analysis of stock/future/commodity market data.
TA-Lib can be reused by trading software developers using Excel, .NET, Java, Perl or C/C++.
Main features:
- More than 120 technical analysis indicators such as ADX, MACD, RSI, Stochastic, Bollinger Bands etc...
- bullet Includes candlestick pattern recognition.
- bullet Optional abstract interface allowing your code to support new technical analysis functions without any code change!
Enhancements:
New Features
- New Functions: BETA, MINMAX, MINMAXINDEX, MININDEX, MAXINDEX
- Debian and RPM packaging available.
- Java JAR packaging available.
- New TA_FunctionDescription() returns XML description of API.
- New ta_func_api.xml file generated in root directory of the package.
- Support for unmanaged static libraries with Visual Studio 2005.
Fixes
- #1526632 : Fix bug in LINEARREG_ANGLE
- #1544555 : Now do proper divide by zero detection in TA_ADX
Other Changes
- Better Java/.NET naming convention.
- ta_func_list.txt moved in root directory of the package.
- Removed dependencies on trio and Mersenne Twister functions.
- Volume and Open Interest are now double instead of integers.
- Add license specific to Excel users.
<<lessTA-Lib can be reused by trading software developers using Excel, .NET, Java, Perl or C/C++.
Main features:
- More than 120 technical analysis indicators such as ADX, MACD, RSI, Stochastic, Bollinger Bands etc...
- bullet Includes candlestick pattern recognition.
- bullet Optional abstract interface allowing your code to support new technical analysis functions without any code change!
Enhancements:
New Features
- New Functions: BETA, MINMAX, MINMAXINDEX, MININDEX, MAXINDEX
- Debian and RPM packaging available.
- Java JAR packaging available.
- New TA_FunctionDescription() returns XML description of API.
- New ta_func_api.xml file generated in root directory of the package.
- Support for unmanaged static libraries with Visual Studio 2005.
Fixes
- #1526632 : Fix bug in LINEARREG_ANGLE
- #1544555 : Now do proper divide by zero detection in TA_ADX
Other Changes
- Better Java/.NET naming convention.
- ta_func_list.txt moved in root directory of the package.
- Removed dependencies on trio and Mersenne Twister functions.
- Volume and Open Interest are now double instead of integers.
- Add license specific to Excel users.
Download (3.8MB)
Added: 2007-01-31 License: BSD License Price:
1002 downloads
Basic Analysis and Security Engine 1.2
BASE is the Basic Analysis and Security Engine. more>>
BASE is the Basic Analysis and Security Engine. It is based on the code from the Analysis Console for Intrusion Databases (ACID) project.
This application provides a web front-end to query and analyze the alerts coming from a SNORT IDS system.
BASE is a web interface to perform analysis of intrusions that snort has detected on your network. It uses a user authentication and role-base system, so that you as the security admin can decide what and how much information each user can see. It also has a simple to use, web-based setup program for people not comfortable with editing files directly.
BASE is supported by a group of volunteers. They are available to answer any questions you may have or help you out in setting up your system. They are also skilled in intrusion detection systems and make use of that knowledge in the development of BASE.
Enhancements:
- This release fixes a number of bugs with PHP 5.
- It also adds a number of new features.
<<lessThis application provides a web front-end to query and analyze the alerts coming from a SNORT IDS system.
BASE is a web interface to perform analysis of intrusions that snort has detected on your network. It uses a user authentication and role-base system, so that you as the security admin can decide what and how much information each user can see. It also has a simple to use, web-based setup program for people not comfortable with editing files directly.
BASE is supported by a group of volunteers. They are available to answer any questions you may have or help you out in setting up your system. They are also skilled in intrusion detection systems and make use of that knowledge in the development of BASE.
Enhancements:
- This release fixes a number of bugs with PHP 5.
- It also adds a number of new features.
Download (0.33MB)
Added: 2005-10-10 License: GPL (GNU General Public License) Price:
1482 downloads
Plucene::Analysis::PorterStemFilter 1.25
Plucene::Analysis::PorterStemFilter - Porter stemming on the token stream. more>>
Plucene::Analysis::PorterStemFilter - Porter stemming on the token stream.
SYNOPSIS
# isa Plucene::Analysis:::TokenFilter
my $token = $porter_stem_filter->next;
This class transforms the token stream as per the Porter stemming algorithm.
Note: the input to the stemming filter must already be in lower case, so you will need to use LowerCaseFilter or LowerCaseTokenizer farther down the Tokenizer chain in order for this to work properly!
The Porter Stemmer implements Porter Algorithm for normalization of English words by stripping their extensions and is used to generalize the searches. For example, the Porter algorithm maps both search and searching (as well as searchnessing) to search such that a query for search will also match documents that contains the word searching.
Note that the Porter algorithm is specific to the English language and may give unpredictable results for other languages. Also, make sure to use the same analyzer during the indexing and the searching.
You can find more information on the Porter algorithm at www.tartarus.org/~martin/PorterStemmer.
A nice online demonstration of the Porter algorithm is available at www.scs.carleton.ca/~dquesnel/java/stuff/PorterApplet.html.
METHODS
next
my $token = $porter_stem_filter->next;
Returns the next input token, after being stemmed.
<<lessSYNOPSIS
# isa Plucene::Analysis:::TokenFilter
my $token = $porter_stem_filter->next;
This class transforms the token stream as per the Porter stemming algorithm.
Note: the input to the stemming filter must already be in lower case, so you will need to use LowerCaseFilter or LowerCaseTokenizer farther down the Tokenizer chain in order for this to work properly!
The Porter Stemmer implements Porter Algorithm for normalization of English words by stripping their extensions and is used to generalize the searches. For example, the Porter algorithm maps both search and searching (as well as searchnessing) to search such that a query for search will also match documents that contains the word searching.
Note that the Porter algorithm is specific to the English language and may give unpredictable results for other languages. Also, make sure to use the same analyzer during the indexing and the searching.
You can find more information on the Porter algorithm at www.tartarus.org/~martin/PorterStemmer.
A nice online demonstration of the Porter algorithm is available at www.scs.carleton.ca/~dquesnel/java/stuff/PorterApplet.html.
METHODS
next
my $token = $porter_stem_filter->next;
Returns the next input token, after being stemmed.
Download (0.32MB)
Added: 2007-06-11 License: Perl Artistic License Price:
865 downloads
Objectrefenceanalyser 1.01
Objectrefenceanalyser (ora) helps developers find bugs or design errors by showing Java object references in an easy way. more>>
Objectrefenceanalyser (ora) helps developers find bugs or design errors by showing Java object references in an easy way.
It can be plugged into other programs for taking and saving "snapshots" of the object model at runtime for analysis.
<<lessIt can be plugged into other programs for taking and saving "snapshots" of the object model at runtime for analysis.
Download (0.34MB)
Added: 2007-08-07 License: LGPL (GNU Lesser General Public License) Price:
811 downloads
UML2PHP5 2.2.0
UML2PHP5 is a Dia plugin to generate PHP code from UML. more>>
UML2PHP5 is a plugin designed to fit on the Dia diagram application. UML2PHP5 automatically generates the PHP code structure following the diagrams classes.
PHP5s and javas object model increasing similarity for example, there was an urgent need to update the tools for programmers.
UML2PHP5 is Open Source, under GPL. This means you can develop the source code to suit your need(s) and redistribute it as long as it remains under GPL terms.
Using UML2PHP5:
- Draw your UML diagram(s)
- Save it with .dia as file extension
- Export through the XSL filter (*.code)
- A popup opens :
- Select UML-CLASSES-EXTENDED in the top box
- Select PHP5 in the bottom box
- OK
The plugin generates as many .class.php files as necessary, in the same directory as the original .dia file.
Enhancements:
- A new tool was added: php2uml, which generates UML diagrams from PHP classes files.
- This tool uses the Reflection API.
<<lessPHP5s and javas object model increasing similarity for example, there was an urgent need to update the tools for programmers.
UML2PHP5 is Open Source, under GPL. This means you can develop the source code to suit your need(s) and redistribute it as long as it remains under GPL terms.
Using UML2PHP5:
- Draw your UML diagram(s)
- Save it with .dia as file extension
- Export through the XSL filter (*.code)
- A popup opens :
- Select UML-CLASSES-EXTENDED in the top box
- Select PHP5 in the bottom box
- OK
The plugin generates as many .class.php files as necessary, in the same directory as the original .dia file.
Enhancements:
- A new tool was added: php2uml, which generates UML diagrams from PHP classes files.
- This tool uses the Reflection API.
Download (0.016MB)
Added: 2006-05-04 License: GPL (GNU General Public License) Price:
1271 downloads
UML::State 0.02
UML::State is an object oriented module which draws simple state diagrams. more>>
UML::State is an object oriented module which draws simple state diagrams.
SYNOPSIS
use UML::State;
my $diagram = UML::State->new(
$node_array,
$start_list,
$accept_list,
$edges
);
# You may change these defaults (doing so may even work):
$UML::State::ROW_SPACING = 75; # all numbers are in pixels
$UML::State::LEFT_MARGIN = 20;
$UML::State::WIDTH = 800;
$UML::State::HEIGHT = 800;
print $diagram->draw();
ABSTRACT
Are you tired of pointing and clicking to make simple diagrams? Do your wrists hurt thinking about making the pretty UML your boss likes so well? Consider using UML::State and UML::Sequence to make your life easier.
UML::State together with drawstate.pl allows you to easily generate state diagrams. You enter them in something like a cross between ASCII art and school room algebra. They come out looking like something from a drawing program like Visio. See drawstate.pl in the distribution for details about the input format and the samples directory for some examples of input and output.
You will probably use this class by running drawstate.pl or drawstatexml.pl which are included in the distribution. But you can use this package directly to gain control over the appearance of your pictures.
The two methods you need are new and draw (see below). If you want, you may change the dimensions by setting the package global variables as shown in the SYNOPSIS. Obviously, no error checking is done, so be careful to use reasonable values (positive numbers are good). All numbers are in pixels (sorry by Beziers in SVG seem to require pixels). I have not tried changing the numbers, so I dont have any idea if doing so makes reasonable changes to the output.
<<lessSYNOPSIS
use UML::State;
my $diagram = UML::State->new(
$node_array,
$start_list,
$accept_list,
$edges
);
# You may change these defaults (doing so may even work):
$UML::State::ROW_SPACING = 75; # all numbers are in pixels
$UML::State::LEFT_MARGIN = 20;
$UML::State::WIDTH = 800;
$UML::State::HEIGHT = 800;
print $diagram->draw();
ABSTRACT
Are you tired of pointing and clicking to make simple diagrams? Do your wrists hurt thinking about making the pretty UML your boss likes so well? Consider using UML::State and UML::Sequence to make your life easier.
UML::State together with drawstate.pl allows you to easily generate state diagrams. You enter them in something like a cross between ASCII art and school room algebra. They come out looking like something from a drawing program like Visio. See drawstate.pl in the distribution for details about the input format and the samples directory for some examples of input and output.
You will probably use this class by running drawstate.pl or drawstatexml.pl which are included in the distribution. But you can use this package directly to gain control over the appearance of your pictures.
The two methods you need are new and draw (see below). If you want, you may change the dimensions by setting the package global variables as shown in the SYNOPSIS. Obviously, no error checking is done, so be careful to use reasonable values (positive numbers are good). All numbers are in pixels (sorry by Beziers in SVG seem to require pixels). I have not tried changing the numbers, so I dont have any idea if doing so makes reasonable changes to the output.
Download (0.054MB)
Added: 2007-04-23 License: Perl Artistic License Price:
915 downloads
UMMF::UML::MetaMetaModel 1.02
UMMF::UML::MetaMetaModel is an implementation of the UML Meta-Meta-Model (M3). more>>
UMMF::UML::MetaMetaModel is an implementation of the UML Meta-Meta-Model (M3).
SYNOPSIS
use UMMF::UML::MetaMetaModel;
my $factory = UMMF::UML::MetaMetaModel->factory;
my $model = $factory->create(Model);
$factory->create(Class, name => Foo, namespace => $model);
...
This package implements a meta-meta-model (M3) for generating the UML metamodel (M2).
UMMF::UML::MetaMetaModel is not an implementation of the MOF; It is actually a subset of the 1.5 Meta-model, as described in UML Spec. 1.5., p.2-13, but with a flattened package namespace.
It is the "Backbone" for generating the meta-model.
The UML 1.5 Meta-model is described in UMMF::UML::MetaModel package, in the ad-hoc language imported by UMMF::UML::Import::MetaMetaModel.
This meta-model is then used to generate the Perl (or Java) code for the classes in UMMF::UML::MetaModel::*.
The same exporters and importers can be used to process M* layers.
Thus, one description of the meta-model can generate multiple implementations.
<<lessSYNOPSIS
use UMMF::UML::MetaMetaModel;
my $factory = UMMF::UML::MetaMetaModel->factory;
my $model = $factory->create(Model);
$factory->create(Class, name => Foo, namespace => $model);
...
This package implements a meta-meta-model (M3) for generating the UML metamodel (M2).
UMMF::UML::MetaMetaModel is not an implementation of the MOF; It is actually a subset of the 1.5 Meta-model, as described in UML Spec. 1.5., p.2-13, but with a flattened package namespace.
It is the "Backbone" for generating the meta-model.
The UML 1.5 Meta-model is described in UMMF::UML::MetaModel package, in the ad-hoc language imported by UMMF::UML::Import::MetaMetaModel.
This meta-model is then used to generate the Perl (or Java) code for the classes in UMMF::UML::MetaModel::*.
The same exporters and importers can be used to process M* layers.
Thus, one description of the meta-model can generate multiple implementations.
Download (0.67MB)
Added: 2007-06-14 License: Perl Artistic License Price:
865 downloads
The Analysis & Reconstruction Sound Engine 0.1
Analysis & Reconstruction Sound Engine is a program that analyses a sound file into a spectrogram. more>>
The Analysis & Reconstruction Sound Engine also known as ARSE, is a program that analyses a sound file into a spectrogram and is able to synthetise this spectrogram, or any other user-created image, back into a sound.
The ARSE consists in two main parts, a spectrographer with a base-2 logarithmic frequency scale, and a spectrogram synthetiser.
Unlike most spectrographers which are based on STFTs and perform the analysis by cutting the signal into small time slices to analyse these slices in the frequency domain, the ARSE is based on a filter bank followed by envelope detection, which means that the signal is cut into small frequency-domain slices, and then analysed in the time domain.
The filter bank is, as of now, made up with overlapping bandpass FIR filters defined logarithmically. Once the original signal is filtered with the filter bank, each resulting signal is sent to envelope detection.
Envelope detection in the ARSE isnt based on a Hilbert transform and peak detection, as its usually done. To achieve envelope detection, we first perform a FFT on the signal, zero-pad the beginning of the signal in the frequency domain according to a user-defined setting, then we perform an IFFT, and, now in the time domain, we turn every negative sample into a positive one, and we low-pass filter (and eventually decimate) the signal according to the same user-defined setting as we previously used.
For instance, lets say we have a signal with a sampling frequency of 44,100 Hz, and that we want to obtain an envelope for it which sampling frequency would be 100 Hz. Once we perform the FFT, we add enough zeroes in the frequency domain at the beginning of our signal so that every frequency component shifts by 50 Hz (100 Hz divided by two, it will later appear obvious why), and we perform an IFFT. Our signal now has a sampling frequency of 44,200 Hz (44,100 + 100 Hz), and the original signal which previously spanned from 0 Hz to 22,050 Hz now spans from 50 Hz to 22,100 Hz.
Now we turn every time-domain sample into its absolute value by turning every negative sample into a positive one. To perform this on a signal means that, for example, a sine wave of a certain frequency would become a signal which periodicity would be twice that frequency. Once we low-pass filter that signal to twice that frequency we obtain that signals envelope. In our case, now that we have obtained the absolute values for our signal, since the periodicity of a sine at the lowest frequency - 50 Hz - would now be 100 Hz, we only low-pass filter our signal at 100 Hz to obtain the original signals envelope. We can now decimate the signal to a sample rate of 100 Hz.
The resulting envelope for each frequency band makes the horizontal lines of the image representing the spectrogram. The amplitude of the envelopes translate linearly into intensity in the image.
The spectrogram synthetiser is based on modulation using horizontal lines of the image as envelopes. Each horizontal line is upsampled to the sampling rate of the desired final signals sampling rate, and is then modulated with, depending on the synthetisation mode chosen by the user, sines matching to the central frequency each horizontal line represents, or noise filtered through the filter bank.
Enhancements:
- Replaced fixed phase sine generation with random phase sine generation
- Changed the PRNG
- Removed the unused code
- Removed every call of nearbyint() due to compatibility issues
- Included the necessary files in order to make using ./configure && make && make install
<<lessThe ARSE consists in two main parts, a spectrographer with a base-2 logarithmic frequency scale, and a spectrogram synthetiser.
Unlike most spectrographers which are based on STFTs and perform the analysis by cutting the signal into small time slices to analyse these slices in the frequency domain, the ARSE is based on a filter bank followed by envelope detection, which means that the signal is cut into small frequency-domain slices, and then analysed in the time domain.
The filter bank is, as of now, made up with overlapping bandpass FIR filters defined logarithmically. Once the original signal is filtered with the filter bank, each resulting signal is sent to envelope detection.
Envelope detection in the ARSE isnt based on a Hilbert transform and peak detection, as its usually done. To achieve envelope detection, we first perform a FFT on the signal, zero-pad the beginning of the signal in the frequency domain according to a user-defined setting, then we perform an IFFT, and, now in the time domain, we turn every negative sample into a positive one, and we low-pass filter (and eventually decimate) the signal according to the same user-defined setting as we previously used.
For instance, lets say we have a signal with a sampling frequency of 44,100 Hz, and that we want to obtain an envelope for it which sampling frequency would be 100 Hz. Once we perform the FFT, we add enough zeroes in the frequency domain at the beginning of our signal so that every frequency component shifts by 50 Hz (100 Hz divided by two, it will later appear obvious why), and we perform an IFFT. Our signal now has a sampling frequency of 44,200 Hz (44,100 + 100 Hz), and the original signal which previously spanned from 0 Hz to 22,050 Hz now spans from 50 Hz to 22,100 Hz.
Now we turn every time-domain sample into its absolute value by turning every negative sample into a positive one. To perform this on a signal means that, for example, a sine wave of a certain frequency would become a signal which periodicity would be twice that frequency. Once we low-pass filter that signal to twice that frequency we obtain that signals envelope. In our case, now that we have obtained the absolute values for our signal, since the periodicity of a sine at the lowest frequency - 50 Hz - would now be 100 Hz, we only low-pass filter our signal at 100 Hz to obtain the original signals envelope. We can now decimate the signal to a sample rate of 100 Hz.
The resulting envelope for each frequency band makes the horizontal lines of the image representing the spectrogram. The amplitude of the envelopes translate linearly into intensity in the image.
The spectrogram synthetiser is based on modulation using horizontal lines of the image as envelopes. Each horizontal line is upsampled to the sampling rate of the desired final signals sampling rate, and is then modulated with, depending on the synthetisation mode chosen by the user, sines matching to the central frequency each horizontal line represents, or noise filtered through the filter bank.
Enhancements:
- Replaced fixed phase sine generation with random phase sine generation
- Changed the PRNG
- Removed the unused code
- Removed every call of nearbyint() due to compatibility issues
- Included the necessary files in order to make using ./configure && make && make install
Download (0.68MB)
Added: 2007-05-29 License: GPL (GNU General Public License) Price:
883 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above uml analysis search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed