anyLogic – BPMN model import as xml or bpmn file - anylogic

I have a BPMN model as xml and bpmn file and would like to simulate the process flow in anyLogic. I’m using the PLE version of anyLogic.
Is it possible to import a simple BPMN model as xml or bpmn file in anyLogic? And if yes, do you have an idea how to realize this?
As a result, for example, I imagine getting the base of the process flow as elements of the bpmn model in anyLogic.
I would then add parameters and other settings in anyLogic, since they are not part of the BPMN model. Thank you!

no there's nothing publicly available to do that, maybe someone has done it but not AnyLogic.... Also it's not like all BPMN software works the same way... Some BPMN software have customized interruptions for instance.
In this case, I pretty much think you are on your own to achieve it... but often I use BPMN models and build them from scratch in AnyLogic or I do the opposite and use BPMN for communication purposes after AnyLogic is done.

Related

I want to use Anylogic as a visualization tool for a big log file? Is it possible?

I asked a similar question to Anylogic linkedin forum so sorry for multiple posting (possibly for some of you). I just heard about the Anylogic program. My purpose is not simulation I want to visualize a log file. I want to allow the admin-user (who will be the user of the Anylogic model) to enter some settings which will cause some filtering and I want to visualize the whole file with Anylogic.
The file is a communication file. Possibly I will show communication attendees and interactions using Anylogic. I want to emphasize unnormal patterns in the log using visual and interactive properties of Anylogic. There may also some need for like zooming in and out during the execution of the model.
Is it something very difficult to do? I am a Java developer. I can understand that I should have to learn Anylogic. What other skills and development and test environments (Ide etc.) do I need?
I plan to do a serial of implementations for several log file types and currently I am trying to find the best tool which will allow me to make changes in visualization part of the models easily till I find the best representation of the data.
There are some examples of Anylogic which are installed built-in but I couldn't see an example which suits my situation. I do not know where to start. If someone helps me to start the design I would be very happy :)
Thank you for your attention..
Edit:
I am attaching a sample stereoscopic view model and a sample view. I want to do something similar to this. Is it ok with AnyLogic?
Ferda
simple answer: yes its possible.
Some more comments:
I am currently working on a very similar project actually. For me as an experienced AnyLogic user, it is very natural and AnyLogic offers all the features you ask for.
Is it something very difficult to do?
That depends on how quickly you can learn AL. But if you are experienced with Java, it will not be too hard, I imagine.
What other skills and development and test environments (Ide etc.) do I need?
None, really. You need to figure out how to use the visual elements of AL. All of them can be changed statically via the AL IDE but you can always change them dynamically via Java code. That is very important to realize and play around with.
I am attaching a sample stereoscopic view model and a sample view. I want to do something similar to this. Is it ok with AnyLogic?
Yes, that can be done.
I suggest you try checking the example models that come with AL. If you find something that looks like what you need, try to figure out how they did it. Then try to recreate it in a simple example model for yourself.

How to manage both Deployment and Component UML Models in Sparx EA?

I have an existing suite of SOA-connected applications (mixture of JavaEE, PHP and .Net) for which I need to provide an overall deployment model or architectural diagram.
I have found an example of a UML diagram for J2EE Application Deployment which is attractive because it's at just about the right level of detail (apps, containers, some component manifestation) for my current diagramming requirements.
I may even aggregate those at a higher level using something like the same author's Application Clustering Example.
I'm confident that I can jump right in at the component level or even at the artifact level and build my diagram(s) from there.
However, I also design specific Java components and would like to begin providing overall class diagrams to the development team when this current "architectural" exercise is complete. I expect this involves reverse engineering the Java code and starting from there.
My question is: what is my best strategy for meeting my current deployment and future component modeling needs?
Can I expect to back-fill the current artifacts I create now (eg. WAR or JAR file) with reverse-engineered components later?
Should I reverse engineer now, create the artifacts from the "bottom up", ignore most of the components, then update the reverse-engineered code later when it's time for component modelling? I would still require only logical (i.e. not backed by code) components for the .Net and PHP pieces since they're not my domain.
Should I make & keep my deployment artifacts separate (either via different EA projects or disconnected models in the same project) from my components, requiring a "manual" update to deployment diagrams / artifacts if/when code changes?
I'm just getting started with Sparx EA (after migrating from RSA) and would appreciate the perspective of anyone with more EA experience than myself... as well as feedback on any anti-pattern red flags raised by my descriptions above.
There is no good/general answer to your question. You should use MDA with CIM/PIM/PSM views where you put the components in the PSM and the class model in the PIM. Now, to keep all that in synch the only true way is to do it manually - the hard way. Though EA offers a model transformation I can not really recommend that. It pretends to link/synch PIM and PSM (in this case) automagically. But it's just a bad facade. First it works only one way (PIM to PSM) and second you soon loose the contact between both model views as you don't really see the traces. Instead install the <<trace>> connectors manually and annotate them as needed.

Generate code from state diagram

I want to generate C++ code from a State Diagram (Harrel FSM) and I'm wondering whether this is possible with EA, and if, how to go about generating code.
I've followed the example at Sparx: Generate From Behavioral Models, but when I look at the generated code it consists of skeleton code that does not include any state transitions etc. I've seen an example of assumedly code generated by EA in their online help, so it does seem to be possible, but I cannot find any concrete examples of how.
Could anyone give me some direction? Thanks.
Are you able to generate behavioral code from the examples in the EAExample model?
If not, you'll need to confirm which edition of Enterprise Architect you are using. Code generation from behavioral models such as State Machines is only available in the Business and Software Engineering, Systems Engineering and Ultimate editions of EA.

Techniques for business process modeling

Can anyone suggest good diagrams/modeling techniques for business process modeling? I was thinking about using activity diagram but the process includes quite a lot of forks and secondly, activity digram may be somewhat difficult to understand to non-technical users.
Sequence diagram is rather similar but what other tools are there? DFD?
For me UML activity or BPMN modelling would be the best way.
Sequence diagram is more appropriate for sequence representation not flow specially with a lot of forks.
There are also the Eriksson-Penker UML extensions. Enterprise Architect from Sparx Systems supports these as well as BPMN; I don't know what sort of support other tools provide.

Are there any workflow engines in existence that don't use BPMN and BPEL?

Our business is planning on building a rather large business application with about 2000 or so users.
Many objects in the system require a mildly complex series of approvals, notifications, etc.
For various reasons, our company has decided to reject formal use of BPMN or BPEL. What I am looking for is a workflow engine that I can pass these objects to as a means of facilitating, tracking, and managing the state of these objects. We are implementing this project using EJB 3.1 with a WebSphere AS.
Am I correct in my understanding of a workflow engine? Everything seems tied to BPMN or BPEL...am I just missing something here as to why most solutions seem to implement BPMN or BPEL? Some advice would be wonderful!
Workflow engines typically take an active role in an enterprise architecture. They execute a declarative process model, which is basically a directed graph consisting of nodes, which represent activities or tasks and edges, which represent the control flow between these edges. Such edges can be annotated with conditions to allow for expressing conditional branching/merging. There are several modelling languages around, like YAWL, XPDL, jPDL, BPEL and BPMN 2.0, which sit on top of these abstract concepts and some syntatic, visual and functional sugar, but only the latter are official industry standards. This is important to avoid vendor locks, make models interchangeable (at least to a certain extent), supportable by experts and different tools. During runtime, process instances are created based on a process model and are executed according to the control flow defined by the model. So the engine actively navigates from one activity to the next activity and thus "orchestrates" your business logic. The main difference between BPMN 2.0 and BPEL is that BPEL is tightly coupled to Web services, i.e. business functions to be invoked by activities are supposed to be rendered as Web service. So if you want to orchestrated WS-* services, it is still the best choice since BPMN 2.0 lacks well-defined and standardized bindings to concrete service implementations. In any case, I'd strongly recommend to use one of the standardized languages since they are both broadly accepted in industry and well supported by various vendors and open source communities.
I tried to explain that in more details because I was not entirely sure about what you mean by "facilitating, tracking, and managing the state of these objects". This sounds a little bit like you are more interested in passively monitoring an object's state change as opposed to actively controlling state changes using a workflow engine. If this assumption is right, then perhaps a abstract state machine would fit your needs better.
Take a look at jBPM5, it provides a very flexible core that allows you to build your own domain specific language on top of it. Right now the language provided is BPMN2, but you can easily add your own.
Cheers
We are building a product that has a migration path for BPMN 2.0 but does not - internally, use BPMN. We believe checklists are much easier to use in real-time workflows than flowcharts. Is still however, has rules/triggers/conditionals and more - so it's a tool that effectively models processes as "checklists on steroids":
Check it out at http://tallyfy.com