Recommended framework for medical application - vtk

I am in the startup process for writing a larger application for medical visualization and interaction. I am considering which pipeline to choose.
MITK: Uses ITK at its core. Algorithms inherit from itk::Process and object inherit from itk::Object for observers etc.
Slicer: Uses VTK at its core. Algorithms inherit from vtk::vtkAlgorithm and objects inherit from vtk::Object.
Does anyone have experience with both of the frameworks? Pros and cons.
Thanks in advance

Related

Modeling Multi-Threaded Applications

Can anyone recommend any methodology/software for modeling multi-threaded applications?
As part of any application design, there is always a need to do modeling using UML. However, a single thread design is usually assumed in the initial modeling. I do not know of how I can model multi-threaded applications.
Multi-threaded applications are best modeled in UML using either state machines of activity diagrams.
State machines have composite states with "orthogonal" regions that have states that are active in parallel, execute in parallel and can react to events in parallel.
Activity diagrams have fork and join nodes that create parallel execution flows inside the activity.
Each one of these diagrams has pros and cons. If your system is reactive I would surely go for a state machine. If you are developing more of an information system, activity diagrams are better.

Looking for a large corpus of business processes

I am looking, for research purposes, for a large set of examples of business processes, preferably from industry or realistic sources. The process description can be in any format, including, but not limited to:
BPEL or BPMN
UML Activity, Sequence of State Diagrams, including Statecharts
Good-old Data Flow Diagrams, and variants such as OPM and Odell's notation
Reverse-engineering the process description from code is not an option, I specifically need human-written models.
I know that this is a haywire search, but thanks in advance nevertheless!
WSO2 Business Process Server provides a complete web-based graphical console to deploy, manage and view processes with human task capabilities. It is Powered by the Apache Orchestration Director Engine (ODE) BPEL engine.
Please checkout BPS 3.0 alpaha release pack from here.
WSO2 Developer Studio provides eclipse based development environment to develop deployable artifacts on BPS engine.
Thanks
Thilini

Suitable diagramming type and tool for a model based on DevExpress Domain Components

I'm busy prototyping a training management app using the DevExpress eXpressApp framework & Domain Components. This paradigm uses interfaces to specify domain entities, with default implementation logic generated at runtime, so that I can effectively enjoy multiple inheritance in my business entities.
I'm curious as to what sort of diagram I could use here to communicate my design assumptions to my client, without requiring me to build and deploy too frequently merely to confirm my assumptions etc. Hopefully fellow SO users familiar with this framework and it being used like I am doing can shed some light on this.
I felt that your question is a duplicate to Design and Modeling for DexExpress eXpressApp Framework. Basically, you will be able to model individual domain components using built-in Visual Studio modeling tools. It works pretty well with interfaces. Probably, you can also build a custom modeling solution based on an open source Liekhus ADO.NET Entity Data Model XAF Extensions tool.
Finally, since you are using XAF (and I believe you are also a DevExpress customer), I suggest you contact our Support Team to get fast and guaranteed assistance on XAF or any other DevExpress products.
You can model with a class diagram but what is generated at run time can not be modeled. I mean that for example if you have a model then you use the Model Driven Development in order to generate a code from your model then the generated code is not anymore your model but only the code like your run time classes.
Hope this help.

Choice of technical solution to handling and processing data for a Liferay Project

I am researching to start a new project based on Liferay.
It relies on a system that will require its own data model and a certain agility and flexibility in data management as well as its visualization.
These are my options:
Using Liferay Expando fields and define their own data models. I must do all the view layer.
Using Liferay ECMS adding patches creating structures and hooks that allow me to define data models Master - Detail. It makes much easier viewing issue (velocity templates), but perhaps is the most "dirty" way.
Generating data layer and access to services with Hibernate and Spring. (using Service Factory, for example).
Liferay Service Builder would be similar to the option of creating the platform with Hibernate and Spring.
CRUD generation systems as OpenXava or your XMLPortletFactory
And now my question, what is your advice? What advantages or disadvantages do you think would provide one or another option?
Thanks in advance.
I can't speak for the other CRUD generation systems but I can tell you about the Liferay approaches.
I would take a hybrid approach.
First, I would create the required data models as best as I can with the current requirements in Liferay Service Builder and maintain them there as much as possible. This would require that you rebuild and redeploy your plugin every time you changed the data model but would greatly enhance performance compared to all the other Liferay approaches you've mentioned. Service Builder in that regard is much more rigid and cannot be changed via GUI.
However, in the event for some reason you cannot use Service Builder to redefine your data models and you need certain aspects of it the be changed via GUI, you can also use Expandos to extend the models you've created with Service Builder. So, it is the best of both worlds.
On the other option, using the ECMS would be a specialized case and I would only take this approach if there is a particular requirement it satisfies (like integration with the ECMS).
With that said, Liferay provides you many different ways to create your application. It ultimately depends on how you're going to use your application.

Methods for modeling systems integration

When it comes to systems integration, how do you model integration requirements? Do you use UML or BPMN or some other techniques?
What limitiations you see in existing approaches and what would be an ideal modeling approach to system integration requirements in your opinion?
This question is really broad and could be refined (e.g. what level of system?) if you desire a better answer. The approaches below have worked in my experience and were adopted broadly within a company. This may not work for your organization, but our is very application/data integration oriented and these methods help us track integration at high/flow/data entity levels. The key to success is not the ideal model, but a practical one with good training and examples/cheat sheets.
One UML model view that seems to work will for system integration at the component/interface level is a component diagram with components and then interface realizations and interface usages drawn out.
Also using the concept of information flow either UML or just lines with a definition. Then just pick your level of abstraction. Example: PeopleSoft --- (Person Details via File) -----> Active Directory --- (Groups via LDAP) ----> Training Tool.
BPMN is for business process really and though I really think it is great this is not where it should be used.
OMG has tried to answer to your question with the requirement diagram integrated in the sysml modeling langage. SysML tools providers try to solve your problem. For instance check out rational rhapsody solution.

Resources