OCL Syntax Checker [closed] - java

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have been looking for an existing open-source syntax-checker for the Object Constraint Language (OCL). I intend to extend the syntax-checker with additional functionality not present in the OCL standard to be more applicable to my usage with entity-relationship diagrams. However, most of the projects I have found are based on the Eclipse Meta-Object Facility (MOF), while I seek only the ability to verify the grammar of an OCL expression (completely independent of any associated class diagrams, etc.). I have begun looking into the source of the Dresden OCL Toolkit (dresden-ocl.sourceforge.net), even though the newest toolkit is also intended for use with the Eclipse MOF. Unfortunately, all downloads are blocked at the company I work for, and it takes 1-2 days minimum to get permission for any download, so I want to know if anyone might be able to point me in the right direction to find what I am looking for.
Thank you very much in advance.
Best regards,
Shona

I've been using Dresden OCL for quite a long time and I think it is a really good starting point for what you want (of course, it is not perfect, last time I checked it still had some problems with recognizing some set operators or navigation expression from association classes).
You can also take a look at the Eclipse OCL plug/in http://www.eclipse.org/modeling/mdt/downloads/?project=ocl
part of the model-development tools initiative
Pointers to other tools supporting OCL (not necessarily open-source) here: http://modeling-languages.com/content/list-ocl-tools

Also, you might by interested in having a look at other tools supporting OCL syntax checking, like Octopus, created(?) by Jos Warmer and Anneke Kleppe, who are authors of the OCL specs.

Related

Java Control Flow Graphs Library [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I need to manipulate control flow graphs for Java code in a project. What might be a good java library to generate control flow graphs in Java. So far I have found a couple eclipse plugins (heavily dependent on eclipse APIs) and standalone tools (cannot embed in my code).
A tool to do this stuff is Soot, and this questions is a duplicate of Tool for generating control flow in Java
I'll throw another tool into the mix.
Atlas is an Eclipse plugin that enables program analysis. It has a querable graph database that includes the control flow graph (as well as data flow and other relationships).
jSonde will create sequence diagrams from your actual running code (which is arguably more useful than from source, since source analysis will not show implementation-specific functionality).
javacalltracer does something similar.
Most tools are integrated into Eclipse/similar so they have access to the AST, which makes such things pretty trivial.
It's actually not ridiculously complex to pull the information from byte code yourself (and it's an interesting exercise). Or instrument using AspectJ and create the runtime information yourself.
Edit Original answer, still valid.
JGraph is open-source, and pretty cool.
JDiagram is a Swing component, commercial product.

Java tools to create enterprise application documentation [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
This question is a bit vague but I'd like to know if there's a Java tool that can run through my code and document it in a functional way. Is JavaDoc the only way to go, or are there alternatives?
JavaDoc is a good way of generating reference documentation. You can use custom doclets to adapt it to your needs (in look, functionality or extra bells-and-whistle) but it is still essentially still a list of methods and their descriptions.
Documenting enterprise software is more about documenting higher level stuff like design information, architecture, component interactions, etc. There's no software tool I know of that will do this for you automatically (reverse engineering tools will mostly produce a mess), but there are many content management systems that can help you organize and present it better.
You could also write a JavaDoc alternative (or use something existing) that uses reflection to analyze a class library and produce stuff, possibly with your help via annotations. For instance, there are research tools that let you place architectural constraints within your code, that are then used for conformance testing and possibly for documentation.
It all depends on what you want out of the generated documentation. JavaDoc is the standard way to do API documentation in Java, so that's probably your best starting point. There's actually a Doclet API if you just need to tweak the output. One example of the Doclet API in action is the UMLGraph doclet that can embed UML graphs in your JavaDoc output.
If you just hate JavaDoc, there's always things like Doxygen.

Java Bytecode Manipulation Library Suggestions [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 months ago.
Improve this question
I'm looking for a well-maintained Java bytecode manipulation library with an intuitive API. There seem to be quite a lot of them out there. Any suggestions on which ones to try?
The best answer to your question will be governed by your specific needs and objectives; if you can expand upon what you're trying to accomplish, I can perhaps offer a more tailored response.
In lieu of that, however, in my experience, ASM offers probably the best combination of maturity, flexibility, and ease-of-use:
It's under relatively active development: even though the latest release is from June 2009, developers are regularly making commits to their VCS.
It's already in wide use in a number of prominent Java products, such as AspectJ, Groovy, Cobertura, and many others, which promises a wide user-base and thus a wide community for support.
It's fairly thoroughly documented, and there are a number of tutorials, user guides, and reference documents available both from the OW2 Consortium and the community at large.
N.B. The comment #Yuri left below describes a situation I personally haven't yet encountered but that may potentially pose a significant obstacle. Keep his observation/experience in mind while evaluating the various bytecode manipulation libraries.
That actually depends on how you define intuitive ;-) I started using ASM two weeks ago for a certain task on my current project and it worked like a charm. It only took me a couple hours to understand it and be able to use it, but I wouldn't exactly call the API intuitive. But if you know a little bit about Java bytecode and are familiar with the visitor pattern, the learning curve is not very high, IMO.
Another advantage of ASM is that it is apparently bundled with the standard API at least in the Sun JDK, although in a different package (com.sun.xml.internal.ws.org.objectweb.asm and subpackages).
Take a look at this article :
http://www.pabrantes.net/blog/space/start/2008-03-24/1
A little old but still relevant.
ASM And Javassist are the most used ones now.
Bcel is dying.

Pure Java reimplementation of GraphViz? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
Is there an Open Source java alternative to GraphViz? I'm aware of the existence of Grappa which basically wraps the Graph interface to GraphViz as an JavaAPI. However the layouting is still done by the GraphViz binaries.
I'm looking for a pure-java, open source library providing the same functions and layouting algorithms as GraphViz.
You can have a look at JUNG (Java Universal Network/Graph Framework) which has visualization and analytics functions. It's open source.
Interestingly, the Eclipse project has an SWT/JFace component/framework capable of displaying and generating (import/export) Graphviz's 'DOT' format, in pure Java:
ZEST (home page & download links)
See http://wiki.eclipse.org/Graphviz_DOT_as_a_DSL_for_Zest for usage examples.
Although ZEST is touted as an Eclipse plugin, it does seem that the DOT-manipulation API's can be used standalone and external to an Eclipse installation.
To clarify, the DOT functionality is a part of the ZEST 2 functionality, which itself is a sub-component of the GEF4 project.
Cheers
Rich
Update (May 2017) https://github.com/nidi3/graphviz-java
You could look at JGraph though I have never used it so cannot comment on now it compares to GraphViz.
yFiles seems to provide all this, but it's not free and not really cheap either. But then again it seems to be a very professional product (haven't used it, except in yEd, which can be used for free).
I guess ZGRViewer is what you want. I really like ZGRViewer and AJaPaD.
I worked with yFiles about four years ago, and it was excellent. It's costly (though less than JGraph, apparently) but I work in a CS research lab and had access to their generous academic pricing.

Where can I get started learning about Rule Engines? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm currently designing a Java application where a Rule engine could be useful. Where is a good place I can learn about how to use them, how they work, how to implement them, see samples, etc.?
The Drools documentation includes a lot of useful, general purpose information. Especially chapter 2, which covers rule engine basics, knowledge representation, etc. It also includes a nice recommended reading list for coming up to speed on rule engines and expert systems.
For most rule engines, a basic understanding of the rete algorithm usually comes in handy for writing efficient rules. I have personally found the Doorenbos paper referenced in the Wikipedia article to be the clearest technical explanation.
Also, here is a list of open source rule engines in Java.
You might want to read "Should I use a Rules Engine?" from Martin Fowler's blog.
I have worked on a project where we built our own (very simple) rules engine, with the intention to move to a general rule engine when things got too complicated. Never reached that point though, the system has been running happily with the simple homegrown engine for several years now.
I found this site pretty helpful. Are you looking at building your own, or using a 3rd party library?

Categories

Resources