Simulation in BPMN Models

Hi
I am using BPA version 10.1.3.4.
A BPMN Model is created and simulated as well; as per the quick start guide. Got the statistics for this simulation.
Now some of the questions related to this
1) How these Statistics are generated....means what logic being used to arrive at these statistics.
For example ....the Processing Time sum for each activity...how this is calculated.
2) Not clear about the Duration we are setting for simulation to run.
Any input or reference will be helpful
Regds
Ravi
Edited by: user1419194 on Oct 29, 2008 5:16 AM

<p>
Hi Ravi,
</p>
<p>
Have tried simulation on multiple processes (jointly and severally :8} ) and have inferred the following:
1) How these Statistics are generated....means what logic being used to arrive at these statistics.
For example ....the Processing Time sum for each activity...how this is calculated.
</p>
<p>
The total processing time is calculated as the sum of the individual processing times of each activity in the process, plus the sum of all static wait times and orientation times (as chosen, whether once per process, per simulation, or for each instance). The time is calculated for the period for which simulation has run. This may vary for a complex process with different probabilities at XOR gateways. In a simulation, if more process instances have terminated at the beginning of the process itself, the total processing time would be lesser, than in a simulation where they have terminated or ended late.
2) Not clear about the Duration we are setting for simulation to run
Duration (as you would have done already) is set through View &gt; Options menu. If the duration of simulation is selected as "Exit simulation when all processes are complete", the simulation will keep running till the period when no instance will be started after the process is complete. In other words, if you have given a start frequency such that the time taken for the next instance to start is greater than the shortest total process time, the simulation will stop. Otherwise, the simulation goes on and on....
If you put a time in the Duration slot, the simulation will run exactly for the given time, and will end at that time.
You can use the fixed duration time to study, how many processes are completed in a given time. This will be helpful in the case of processes with many gateways, and abrupt terminate events. So, by giving different probabilities after different XOR gateways, and keeping simulation time constant, you can analyse the number of successfully completed processes, and terminated processes.
Hope this was useful.
Warm regards,
KC
</p>

Similar Messages

  • How to run simulations of MIMO models having direct feedthrough, using the control and simulation loop?

    say i have the MIMO model of a system in transfer function as
    4s + 4       0
    10s+1
                                    =   G(s)
    0             3s + 3
                   10s+1
    this model has direct feedthrough. how do i run simulations of to say, a 2 step inputs?
    I don't get any output signals. please, see attached VI file.
    thank you.
    Attachments:
    Q1 test.vi ‏56 KB

    Hi tomcruize79
    Thanks for using the forums!  Sorry for the delay in getting back to you - how have you been getting on with this?
    One thing to note is that you can use the Signal Generator VI to generate a function as an input.  Try this with your model and let me know how you get on.
    Regards,
    Peter D

  • Can I import my existing BPMN models on BPA?

    Hi
    I have a group of BPMN documents that I want to import in BPA? Is there a way to do this?
    Regards

    Bonjour
    Qu'est-ce que ce type de réponse?
    Ce forum n'héberge pas des esclaves à votre disposition.
    Nous sommes des utilisateurs comme vous et nous tentons d'aider des utilisateurs comme vous mais généralement moins désagréables.
    Le code d'accès à Pages vous a été fourni en deux exemplaires imprimés lors de votre achat. Si vous ne les retrouvez pas, il n'est pas nécessaire de déverser votre bile sur des personnes qui ne sont en rien responsables de votre désinvolture.
    En ce qui concerne le différentiel de prix entre une bouse µSoft achetée en France et une bouse µSoft achetée en Grande Bretagne n'a rien à voir avec le statut de ce forum.
    Je suis vraiment désolé de rencontrer sur ce forum un compatriote dont le comportement me fait honte.
    Amis anglophones, ce monsieur n'est pas représentatif des utilisateurs français.
    English users, I apologizes, this user is not a correct example of French users.
    Yvan KOENIG (from FRANCE samedi 19 juillet 2008 10:33:15)

  • Import/Export of BPM Models (supporting a BPMN standard)

    Hello
    Is there a possibility in CE 7.2 in the Process Composer to Import existing BPMN Models or Eport Models in a standard format?
    Thanks
    Christoph

    Hi Christoph,
    As far as I know, there is no functionality in CE 7.2 to import or export BPMN process models.
    hope this helps!!
    Regards,
    Arafat

  • Unable to compile T1 Architecture and Simulation modelling tool

    Hello,
    I am trying to compile the T1 Simulation and Architecture modelling tool. The whole package is downloaded from opensparc.net
    As a requirement, i am using Solaris 10 on SPARC based machine with Solaris Studio 12.3 as the compiler.
    When i am running the "build_sas.sh full" script, it gives me an error:
    --- Building n1 in strand ---
    /opt/solarisstudio12.3//bin/CC -G -KPIC  -fast -xO5 -DNDEBUG -DRS_INLINE=inline -DRS_MPSAS_COMPATIBLE    -xarch=v9a -DHOST64BIT=1    -DN1_BOOTS10 -DMEMORY_SPARSE -I../../include/strand -I../../include/fw -I../../include/mmu -I../../include/asi -I../../include/core -I../../include/cpu -I../../include/system -I../../include/trap -I../../include/register  -I/scratch//sam-t1/devtools/64/shade/inc  -c -o obj64opt_n1/V9/V9_AsiReg.o V9/V9_AsiReg.cc
    CC: Warning: -xarch=v9a is deprecated, use -m64 -xarch=sparcvis instead
    "../../include/fw/Callee.h", line 98: Error: 'Riesling::operator new(unsigned long, Riesling::CalleeAllocator&)' may not be declared within a namespace.
    1 Error(s) detected.
    *** Error code 2
    make: Fatal error: Command failed for target `obj64opt_n1/V9/V9_AsiReg.o'
    Current working directory /scratch/sam-t1/src/riesling-cm/riesling/src/strand
    *** Error code 1
    make: Fatal error: Command failed for target `strand'
    the Callee.h file has the following declaration for line#97:
    inline void* operator new( size_t size, CalleeAllocator& a )/*{{{*/
    // This new() function is called for code written as
    // new(CalleeAllocator::allocator) Callee0<void>(f);
    // and allocates size bytes from the CalleeAllocator
      return a.alloc(size);
    I did some Google search, and found that, "An allocation function shall be a class member function or a global function; a program is ill-formed if an allocation function is declared in a namespace scope other than global scope or declared static in global scope. [..]" (c++ - operator new inside namespace - Stack Overflow).
    Would appreciate any help or suggestion.

    I tried you last suggestion, by simply moving the "new" function before the namespace, but it gave me the following  Error: The prior declaration for operator new(unsigned long) has no exception specification.
    So, I naively just defined the new as below, just to see what happens:
      41  inline void* operator new( size_t size, CalleeAllocator& a) throw()
        42  {return a.alloc(size);
        43  }
    which, after compilation gives the following error:
    Error: std::bad_alloc is not in the prior exception specification
    The download link to the whole package is here: OpenSPARC T1
    At the end of the page, there is the download link to the OpenSPARC T1 Processor for Architecture and Performance Modeling Tools.
    below is the original Callee.h file: Line 97 is where the operator new is defined which appears to be outside of namespace Riesling.
    * ========== Copyright Header Begin ==========================================
    * OpenSPARC T1 Processor File: Callee.h
    * Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
    * The above named program is free software; you can redistribute it and/or
    * modify it under the terms of the GNU General Public
    * License version 2 as published by the Free Software Foundation.
    * The above named program is distributed in the hope that it will be
    * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    * General Public License for more details.
    * You should have received a copy of the GNU General Public
    * License along with this work; if not, write to the Free Software
    * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
    * ========== Copyright Header End ============================================
    #ifndef __Callee_h__
    #define __Callee_h__
    **  Copyright (C) 2002, Sun Microsystems, Inc.
    **  Sun considers its source code as an unpublished, proprietary
    **  trade secret and it is available only under strict license provisions.
    **  This copyright notice is placed here only to protect Sun in the event
    **  the source is deemed a published work. Disassembly, decompilation,
    **  or other means of reducing the object code to human readable form
    **  is prohibited by the license agreement under which this code is
    **  provided to the user or company in possession of this copy."
    #include "DataTypes.h"
    namespace Riesling {
    class CalleeAllocator/*{{{*/
    // CalleeAllocator is a helper class for implementing the callee_method() and
    // callee_function() functions that dynamically allocate a Callee object. This
    // class takes the burden of the coder for having to manage those dynamically
    // allocated objects and also avoids many calls to malloc().
      public:
        CalleeAllocator() : page(0), free((void**)1), full(0) {}
        ~CalleeAllocator()
          while (page)
        Page* help = page;
        page = page->next;
        delete help;
        void* alloc( uint_t size )
          void* cell;
          size = (size + sizeof(void*) - 1) / sizeof(void*);
          if ((free + size) > full)
        page = new Page(page);
        free = page->page;
        full = page->page + Page::SIZE;
          cell = free;
          free = free + size;
          return cell;
        static CalleeAllocator allocator;
      private:
        class Page
          public:
        enum { SIZE = 4096 };
        Page( Page* pntr ) : next(pntr) {}
        Page* next;
        void* page[SIZE];
        Page*  page;
        void** free;
        void** full;
    inline void* operator new( size_t size, CalleeAllocator& a )/*{{{*/
    // This new() function is called for code written as
    // new(CalleeAllocator::allocator) Callee0<void>(f);
    // and allocates size bytes from the CalleeAllocator
      return a.alloc(size);
    #ifndef COMPILER_ABI_CHANGED
    inline void* gnu_vtbl_lookup( void* object, void* method )/*{{{*/
      // The GNU compiler makes a virtual method into an integer index into the
      // virtual table. It indicates this through bit 0 of the method being 1. If that
      // bit is set then we get the virtual table and index for the method. If the bit 0
      // is 0 then the method is a pointer to a function already.
    #ifdef __GNU__
      if (int(method) & 1)
        return (*(void***)object)[int(method) / sizeof(void*)];
      else
    #endif
        return method;
    template<class Object, class Return> union MethodToFunction0/*{{{*/
    // The templated union MethodToFunction0 converts a method pointer
    // to a function pointer. The SparcWorks compiler already transforms
    // method pointers to function pointers. For the GNU C++ compiler we
    // need to check for virtual functions and do a virtual table lookup.
      MethodToFunction0<Object,Return>( Object* object, Return (Object::*_method)() )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)();        // The method to convert to a function
      Return (*function)(void*);        // The converted function, the first argument is the this pointer
    template<class Return> class Callee0/*{{{*/
    // The Callee class holds the function pointer or method pointer that
    // represents the callee. The caller is a pointer to the Callee class.
      public:
        typedef Return (*Function)();
        typedef Return (*Method)(void*);
        Callee0<Return>( Function f )
          object(0),
          function(f)
        template<class Object> Callee0<Return>( Object* o, MethodToFunction0<Object,Return> m )
          object(o),
          method(m.function)
        Return call()
          return object ? (*method)(object) : (*function)();
      protected:
        void*      object;        // If object is 0 (NULL) then we have a function to call
        union             // Else a method need to be called.
          Method   method;
          Function function;
    template<class Return> Callee0<Return>* callee_function( Return (*f)() )/*{{{*/
    // callee_function() creates a Callee object of the function. The compiler
    // helps in figuring out the type signature ... hurra for templates:
    // Callee<void>* c = calee_function(f);
      return new(CalleeAllocator::allocator) Callee0<Return>(f);
    template<class Object, class Return> Callee0<Return>* callee_method( Object* o, Return (Object::*m)() )/*{{{*/
    // callee_method() creates a Callee object of the method. The compiler
    // helps in figuring out the type signature. The function requires an
    // object and the template enforces that the object and method are of the
    // same type. Don't cast object pointers. The method must exists, e.g.
    // inherited methods need to be replicated (fat interface). Virtual methods
    // are eradicated.
      return new(CalleeAllocator::allocator) Callee0<Return>(o,MethodToFunction0<Object,Return>(o,m));
    template<class Object, class Return, class Arg1> union MethodToFunction1/*{{{*/
      MethodToFunction1<Object,Return,Arg1>( Object* object, Return (Object::*_method)(Arg1) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1);
      Return (*function)(void*,Arg1);
    template<class Return, class Arg1> class Callee1/*{{{*/
      public:
        typedef Return (*Function)(Arg1);
        typedef Return (*Method)(void*,Arg1);
        Callee1<Return,Arg1>( Function f ) : object(0), function(f) {}
        template<class Object> Callee1<Return,Arg1>( Object* o, MethodToFunction1<Object,Return,Arg1> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1 )
          return object ? (*method)(object,a1) : (*function)(a1);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1> Callee1<Return,Arg1>* callee_function( Return (*f)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee1<Return,Arg1>(f);
    template<class Object, class Return, class Arg1> Callee1<Return,Arg1>* callee_method( Object* o, Return (Object::*m)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee1<Return,Arg1>(o,MethodToFunction1<Object,Return,Arg1>(o,m));
    template<class Object, class Return, class Arg1, class Arg2> union MethodToFunction2/*{{{*/
      MethodToFunction2<Object,Return,Arg1,Arg2>( Object* object, Return (Object::*_method)(Arg1,Arg2) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1,Arg2);
      Return (*function)(void*,Arg1,Arg2);
    template<class Return, class Arg1, class Arg2> class Callee2/*{{{*/
      public:
        typedef Return (*Function)(Arg1,Arg2);
        typedef Return (*Method)(void*,Arg1,Arg2);
        Callee2<Return,Arg1,Arg2>( Function f ) : object(0), function(f) {}
        template<class Object> Callee2<Return,Arg1,Arg2>( Object* o, MethodToFunction2<Object,Return,Arg1,Arg2> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1, Arg2 a2 )
          return object ? (*method)(object,a1,a2) : (*function)(a1,a2);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1, class Arg2> Callee2<Return,Arg1,Arg2>* callee_function( Return (*f)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee2<Return,Arg1,Arg2>(f);
    template<class Object, class Return, class Arg1, class Arg2> Callee2<Return,Arg1,Arg2>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee2<Return,Arg1,Arg2>(o,MethodToFunction2<Object,Return,Arg1,Arg2>(o,m));
    template<class Object, class Return, class Arg1, class Arg2, class Arg3> union MethodToFunction3/*{{{*/
      MethodToFunction3<Object,Return,Arg1,Arg2,Arg3>( Object* object, Return (Object::*_method)(Arg1,Arg2,Arg3) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1,Arg2,Arg3);
      Return (*function)(void*,Arg1,Arg2,Arg3);
    template<class Return, class Arg1, class Arg2, class Arg3> class Callee3/*{{{*/
      public:
        typedef Return (*Function)(Arg1,Arg2,Arg3);
        typedef Return (*Method)(void*,Arg1,Arg2,Arg3);
        Callee3<Return,Arg1,Arg2,Arg3>( Function f ) : object(0), function(f) {}
        template<class Object> Callee3<Return,Arg1,Arg2,Arg3>( Object* o, MethodToFunction3<Object,Return,Arg1,Arg2,Arg3> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1, Arg2 a2, Arg3 a3 )
          return object ? (*method)(object,a1,a2,a3) : (*function)(a1,a2,a3);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1, class Arg2, class Arg3> Callee3<Return,Arg1,Arg2,Arg3>* callee_function( Return (*f)(Arg1,Arg2,Arg3) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee3<Return,Arg1,Arg2,Arg3>(f);
    template<class Object, class Return, class Arg1, class Arg2, class Arg3> Callee3<Return,Arg1,Arg2,Arg3>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2,Arg3) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee3<Return,Arg1,Arg2,Arg3>(o,MethodToFunction3<Object,Return,Arg1,Arg2,Arg3>(o,m));
    #else
    template<class Return> class Callee0/*{{{*/
      public:
        Callee0<Return>() {}
        virtual ~Callee0() {}
        virtual Return call      () = 0;
    template<class Return> class CalleeFunction0 : public Callee0<Return>/*{{{*/
      public:
        typedef Return (*Function)();
        CalleeFunction0<Return>( Function f ) : Callee0<Return>(), function(f) {}
        Return call      () { return (*function)(); }
      protected:
        Function function;
    template<class Object, class Return> class CalleeMethod0 : public Callee0<Return>/*{{{*/
      public:
        typedef Return (Object::*Method)();
        CalleeMethod0<Object,Return>( Object* o, Method m ) : Callee0<Return>(), object(o), method(m) {}
        Return call      () { return (object->*method)(); }
      protected:
        Object* object;
        Method  method;
    template<class Return> CalleeFunction0<Return>* callee_function( Return (*f)() )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction0<Return>(f);
    template<class Object, class Return> CalleeMethod0<Object,Return>* callee_method( Object* o, Return (Object::*m)() )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod0<Object,Return>(o,m);
    template<class Return, class Arg1> class Callee1/*{{{*/
      public:
        Callee1<Return,Arg1>() {}
        virtual ~Callee1() {}
        virtual Return call      ( Arg1 a1 ) = 0;
    template<class Return, class Arg1> class CalleeFunction1 : public Callee1<Return,Arg1>/*{{{*/
      public:
        typedef Return (*Function)( Arg1 );
        CalleeFunction1<Return,Arg1>( Function f ) : Callee1<Return,Arg1>(), function(f) {}
        Return call      ( Arg1 a1 ) { return (*function)(a1); }
      protected:
        Function function;
    template<class Object, class Return, class Arg1> class CalleeMethod1 : public Callee1<Return,Arg1>/*{{{*/
      public:
        typedef Return (Object::*Method)( Arg1 );
        CalleeMethod1<Object,Return,Arg1>( Object* o, Method m ) : Callee1<Return,Arg1>(), object(o), method(m) {}
        Return call      ( Arg1 a1 ) { return (object->*method)(a1); }
      protected:
        Object* object;
        Method  method;
    template<class Return, class Arg1> CalleeFunction1<Return,Arg1>* callee_function( Return (*f)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction1<Return,Arg1>(f);
    template<class Object, class Return, class Arg1> CalleeMethod1<Object,Return,Arg1>* callee_method( Object* o, Return (Object::*m)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod1<Object,Return,Arg1>(o,m);
    template<class Return, class Arg1, class Arg2> class Callee2/*{{{*/
      public:
        Callee2<Return,Arg1,Arg2>() {}
        virtual ~Callee2() {}
        virtual Return call      ( Arg1 a1, Arg2 a2 ) = 0;
    template<class Return, class Arg1, class Arg2> class CalleeFunction2 : public Callee2<Return,Arg1,Arg2>/*{{{*/
      public:
        typedef Return (*Function)( Arg1, Arg2 );
        CalleeFunction2<Return,Arg1,Arg2>( Function f ) : Callee2<Return,Arg1,Arg2>(), function(f) {}
        Return call      ( Arg1 a1, Arg2 a2 ) { return (*function)(a1,a2); }
      protected:
        Function function;
    template<class Object, class Return, class Arg1, class Arg2> class CalleeMethod2 : public Callee2<Return,Arg1,Arg2>/*{{{*/
      public:
        typedef Return (Object::*Method)( Arg1, Arg2 );
        CalleeMethod2<Object,Return,Arg1,Arg2>( Object* o, Method m ) : Callee2<Return,Arg1,Arg2>(), object(o), method(m) {}
        Return call      ( Arg1 a1, Arg2 a2 ) { return (object->*method)(a1,a2); }
      protected:
        Object* object;
        Method  method;
    template<class Return, class Arg1, class Arg2> CalleeFunction2<Return,Arg1,Arg2>* callee_function( Return (*f)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction2<Return,Arg1,Arg2>(f);
    template<class Object, class Return, class Arg1, class Arg2> CalleeMethod2<Object,Return,Arg1,Arg2>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod2<Object,Return,Arg1,Arg2>(o,m);
    #endif
    #endif

  • Creating BPMN compliant process models

    Hi,
    I'm facing a usability issue with the tool - eval version of BP Architect downloaded from OTN.
    Am I missing something or does this version not provide the option to model processes in BPMN notations. I see all types of process modeling methodology options as part of the ARIS house - EPC, UML activity, Office Processes, but no option for BPMN notation types.
    Scanned the documents that came with the product download with no specific information on how to generate a BPMN model from an EPC.
    Thanks in advance,
    Sharmin

    Sharmin,
    First make sure that you are using the "Entire Method" filter. Once you do that in the ARIS house, you would also find a method called Business Process Diagram (BPMN). That provides the BPMN notation.
    At this point, you can not generate a BPMN model from an EPC model. Just curious why would you want to do that. You could choose either EPC or BPMN upfront and then stick to that notation.
    Regards
    Devesh
    Oracle BPM Product Management

  • Versioning of BPMN Process Models and Change Management

    Hi all,
    Can any of you please provide insight on how can we do the following change management activities?
    1. Version Control of BPMN Models synchronized with the change management activities
    2. In the Help documentation, two roles called Improvement Manager and Modeler were mentioned. How do we define their roles in the Administration? In User Management I see only one function privilege "Change Management" and both Improvement Manager and Modeller will have this privilege. Than how they are distinguished in their roles?
    3. Does it also support a work flow and notification mechanism?
    Thanks in anticipation.
    Best regards,
    Raja Mohan

    Hi,
    I'd just like to add some quick points that you need to consider:
    Implicit version control is not supported in the current release (10.1.3.4) but it will be supported in Release 11 (upcoming release). There are some workarounds/alternatives like attributes (Status, Since/on, Released on, Released by, Release) and external version control system combined with the XML import/export functionality (Re: Control Version
    The Change Management can be used to describe upcoming modeling tasks within the Business Process Architect. This implicates changes from IT, adding new objects, adjustments of models or control flow, etc... Especially it is suitable to document suggestions for future model improvements.
    "Does it also support a work flow and notification mechanism?"I think this might be a governance topic that has to be created on your own.
    Hope it helps,
    Danilo

  • Simulation and BPA

    Hello.
    First of all, I want to thank for this forum. All the information is very usefull.
    I want to apologize too because I don't usually speak in english, so if I make a lot of mistakes, please, forgive me.
    Well, this is my question. Simulation in BPA Suite is made using a EPC model, isn't it? I wonder if in the next release of BPA, the Simulation will be done using a BPMN model too, because the generation of model from BPMN to EPC is not quite "clear".
    Thank you in advance

    Hello User590439
    currently the simulation of BPMN is not supported in the actual version. But if I understood the Oracle colleagues right this will be possible in the future. Currently the following diagram types are available for simulation: EPC, EPC (material flow), EPC (column display), EPC (row display), EPC (table display), EPC (horizontal table display), PCD, PCD (material flow), Office process and the Industrial process
    You're right regarding the transformation of BPMN to EPC. There are some differences between both diagram types. More or less they can be traced back to the fact that the ARIS repository is not MOF based and BPMN (as an OMG notation) is. Another reason is that ARIS comes with a methodology and BPMN (like you can see in the name of the standard as well) is "just" a notation. So transformation between both diagram types will be difficult in the future anyway. But I would like to point out that it is not impossible, it depends on the way you design your diagrams. Some will be capable to be transformed others won't. If you stick to the following core BPMN elements: Event, Activity, Gateway and Sequence Flow and do not create very fancy flows :-) it is highly likely that a transformation can be done.
    But regarding simulation I advice (at least for the time being) to stick to EPC diagram types when you are planning to do simulation within the BPA Suite.
    Dirk

  • Simulation in Oracle BPA

    Hi all:
    I need to help me in these two points:
    1) How I can simulate a loop using bpmn 1.x in oracle bpa 11gR1
    2) How I can calculate the average time for the simulation of a model containing one or more subprocess and when I should use subprocess in a model
    thanks for your help

    Yes you can do it.
    There is an elaborate article describing this.
    See it here.
    beatechnologies.wordpress.com/2011/05/06/process-simulation-in-oracle-bpa-suite-11g/

  • Modeling tools

    My question has to do with the use of Process Composer as a modeling tool rather than using a vendor program like ARIS from IDS Scheer.
    My assumption is that if I wont use the simulation, and other modeling tools from ARIS then I will be better off modeling directly on the SAP Process Composer. Since the model is already on SAP the execution should be direct. If I use the ARIS modeler then I guess I have to synchronyze and "export" to SAP Netweaver BPM.
    Has anyone used the ARIS Modeler to later export to SAP BPM? If so, is this process direct or are there pitfalls, or how easy this is ... advantages vs disadvantages.
    I´d like to hear what pro´s and con´s and limitations or advantages for each one of these two modeling options.
    Regards,
    Enrique Vignau
    Mexico

    Hi David,
    I found your response really helpful. Our company comes from the BPM "Pure Play" world. We are Systems Integrators for HandySoft, TIBCO, other BPM tools. We also have a company within the group that does digitizing and a third company that implements SAP Systems. So we are interessted in becoming SAP BPM experts or BPX to the SAP ecosystem. We are in the process of learning to use the Process Modeler.
    My question is twofold. I have two diferent scenarios.
    Scenario A: I have a customer that already purchased ARIS and they started some months ago modelling all their processes in that tool. They plan to use SAP BPM and they wish to export these process models (BPMN) from the ARIS repository to SAP BPM to execute. They are asking me if that will be / is possible and if that is a sound movement. I told them what I learned at the SAP BPM Forum at Las Vegas. That is, just what you responded to me; that if one could model directly in the Process Modeler I don´t see any advantages to use ARIS. keeping a "simulation" model takes time and consumes resources to make the "model" as close to the reality to really make it worthwhile to use as a simulation of what could happen. But I did not know there is no capability to import models from other process modelers as of now. This is important since many customers might already have process models in MEGA or ARIS or some other BPA tool and they could "loose" that work.
    Scenario B: A new customer that does not use MEGA or ARIS nor they plan to use any simulation tool. Will they ve able to keep control of versioning and how will they keep governance of the process model repository? Will that happen in Solution Manager?
    Regards,
    Enrique

  • How to customize Category and Category items list while creating New Model

    Hi,
    what the most convenient way to customize the Category and Category items list while creating New Model?
    This is standard:
    Now, what we want to achieve, is to customize this menu, to:
    1. Display in the Category window only f.e. two categories:
    - EA Diagrams
    - BPM Diagrams
    2. In the EA Diagrams, we want to have f.e. four copies of City Planning diagram, each of them should have different elements available, f.e. in the first copy, only Architecture Areas shall be made available, in the second one Architecture Areas and Business Functions, in the third on f.e. only Business Functions shall be made available. Additionally, it should behave like a hierarchy ... meaning you can create the second diagram, only as child (related diagram) of the first diagram etc.
    I know, excluding the particular diagrams/diagram elements can be configured using the right/profile settings, but how to:
    1. Customize the standard New Model menu window
    2. Create copies of City Planning Diagrams with different set-ups
    3. Set the relationship between diagrams
    Is such a configuration change possible?
    Thanks a lot for your help!
    Regards,
    Rafal

    Now, what we want to achieve, is to customize this menu, to:
    Question #1. Display in the Category window only f.e. two categories:
    - EA Diagrams
    - BPM Diagrams
    Click on Tools => General Options=> Model Creation
    Click on Properties => at right of Default category set
    Note : Model template does not work as Category. We can't set. An enchancement request has been open to SAP
    In the following example I defined a new default (MyNewDefault.mcc). As you can see only BPMN models are available.
    To create a new category set with BPMN choice
    a) Copy default.mcc in MyNewDefault.mcc file.
        Go to Tools=>General Options=>Model Creation : Select your new category
        Go to Tools=>General Options=>Model Creation : Edit properties and remove all things you does not want keep
    or
    b) Go to Tools=>General options=>Model Creation : Edit properties and click on Save as button and specify the file name "MyNewDefault".
        Quit the window.
        Select you new category : Go to Tools=>General Options=>Model Creation : "MyNewDefault"
        Edit properties and remove all things you does not want keep.
        Save you new category
    Question #2. How to define copies/replicas of existing diagrams
         Wrote an extension
    Question #3. How to make sure, particular diagrams can be used (created) only on predefined "levels" and how to set the parent-child relationship, so that PD enforced it directly when creating a new diagram.
         Specify yours conditons in your extension attached to your model
         Example : When the user want create a child diagram :  You can display a list of Parent Diagrams to select from.
         You can set in your extension by VBScript parent-child relationship
    Question #4 In the EA Diagrams, we want to have f.e. four copies of City Planning diagram, each of them should have different elements available, f.e. in the first copy, only Architecture Areas shall be made available, in the second one Architecture Areas and Business Functions, in the third on f.e. only Business Functions shall be made available.
    If I understand well your question. I suggest to take a look in
    Repository=>Administration=>Objects Permission Profile
    You can specify objects to show, mask, deactivate at model level.
    You can specifiy your own metadata.
    But I'm not sure you can mask, deactivate functions following diagram selection. It seem to specific.
    Message was edited by: Benoit Le Nabec

  • Error while converting BPMN to BPEL in Business Process Architect

    Hey,
    I am using Business Process Architect 11gR1 where I have modeled my process. Now that I have to move this model to BPM, I am using the option SOA -> share blueprint with IT in BPA. A dialog appears that asks to validate the model. I confim with "Yes" and it shows the conversion progress bar but after the while an error appears (a java exception). A report opens in my browser that has the following message
    Validation of a service-oriented BPMN model in Oracle BPA Suite
    Structure rules for BPMN in Oracle BPA Suite
    Rules for a service-oriented BPMN model in Oracle BPA Suite
    String not found: RULEKIND_NAMEd89733d0-d605-11db-0505-000fb0c4ad32
    The java exception is "Error while creating report:
    report: oraclebpmn2bpel, line 632
    Type error: cannot find function getErrNo in object.java.lang.IllegalArgumentException. (oraclebpmn2bpel#632)
    can anyone please help me as to why this happens and how it can be sorted out?
    Edited by: user10303310 on Dec 13, 2011 3:10 AM

    Hi Julika,
    The error message might not be related to the activities itself. I assume your model is not well structured. Consider that the following points aren't disregarded:
    * Never "jump" out of a particular branch into a different part of the model or into another branch
    * All functions/events have only one incoming/outgoing connection
    * Process parallel flows should be specified by splitting and joining AND/XOR rules, or they should contain either one splitting AND/XOR rule only for which there is no other connection between their paths, or one joining AND/XOR rule only that is met by all connections.
    Let me know if it did not help to fix your problem.
    Best regards,
    Danilo

  • URGENT: BPMN in BPA - Symbols, Lanes and Publishing processes

    We are developing IT processes which might later be SOA enabled through BPEL and we are using BPMN model in Oracle BPA to design our processes.
    These are our doubts.
    1. Can symbols for Risk, controls be part of the standard pallette of symbols in BPMN model. It is currently not available, how can we add these symbols to the BPMN model.
    2. Can we generate a report containing the activities of all Lanes that have common name from multiple models. For e.g. the output lane will be present in all the process models, and we need to generate a report with the content of output lane of all process models.
    3. Can we attach templates to the activities in the process model, so that a person viewing THE PUBLISHED PROCESS MODEL can view/use the template.
    Any help for these questions is greatly appreciated.
    Thanks.
    Regards,
    Binoy.

    Hi Binoy,
    Q1 : Can symbols for Risk, controls be part of the standard pallette of symbols in BPMN model. It is currently not available, how can we add these symbols to the BPMN model.
    A1 : You should not make Risk etc part of BPMN, The symbol set for BPMN better remain limited to the standard. That said, you have the option of attaching the Risk etc to the activity in the Function Allocation Diagram (FAD), that it he right place.
    Rule to follow : Is this piece of info can go / going to BPEL: If yes it belong in BPMN model. If not keep it in FAD.
    Q2 : Can we generate a report containing the activities of all Lanes that have common name from multiple models. For e.g. the output lane will be present in all the process models, and we need to generate a report with the content of output lane of all process models
    A2 : Yes you can all you need in Java Script knowledge. BTW if you do create custom reports, please post your experience, I am greatly interested in custom reports and have not found any good pointers on custom reports.
    Q3 : Can we attach templates to the activities in the process model, so that a person viewing THE PUBLISHED PROCESS MODEL can view/use the template.
    A3 : Yes you can. BPA has extensive support for this. You can refer to the 2 book by Rob Davis to help you understand this.
    HTH.
    regards
    Sanjiv

  • Digital Simulation Problem, Xspice vs. VHDL

    Hello EWB friends.
    I am currently experiencing a problem with a mixed mode/digital simulation.  The main problem is that the component that I am trying to simulate, a differential rs-485/422 interface transceiver, isn't commonly modeled using xspice syntax.  Instead manufacturers and engineers that work with these interface components offer models written in VHDL (I suppose this is because creating this component in xspice is difficult/insufficient).  This transceiver converts a differential analog rs-485/22 input signal to a TTL (0-5v digital) output and vice versa.
    I am using Multisim V.10.  The good news is that Multisim v. 10 supports mixed mode simulation using components modeled in VHDL.  The bad news is that NI has discontinued Multi VHDL, which assembles the VHDL model into the .vx file format that is required for simulation with multisim.  This is a problem for me; I understand that Multi VHDL v.8 works fine with Multisim v.10.  Well that’s great and all, but NI does not sell Multi VHDL .8 anymore, it has been discontinued.
    After weighing out my options I see two possible solutions to my problem.  One is to obtain a copy of Multi VHDL v.8 some how, or have someone who owns the discontinued software to convert my VHDL model to .vx format for me.  Two would be to design an Xspice sub circuit for this component (possibly a very slow and painful process). 
    I have noticed that some digital components are modeled using HDL and/or Xspice syntax; other components are only modeled using HDL (due to complexity).  I have read and reviewed the Xspice user manual and examined its primitives.  From what I understand the component that I am trying to simulate could be created as an xspice sub circuit, although most/all interface components are simulated with HDL.  Does anyone know the limitations of xspice and what digital components are impractical to simulate using xspice? (Besides the obvious like MCU's and FPGA's)  Or could anyone with Multi VHDL v.8 help me out and convert this file to .vx format?
    This has been an on going simulation problem for me.  I use analog interface to digital covertering drivers/receivers in the majority of my circuits and cannot simulate them using multisim.  Any input, advice, or help would be greatly appreciated.
    Here is the VHDL model that I am trying to assemble to a .vx file / trying to translate into xspice syntax.  I converted it as a .txt so it could be posted, was originally a .vhd.
    Thanks,
    SPM
    Attachments:
    if490.txt ‏7 KB

    I have Mutlisim 10 and under the simulation tab there is VHDL Simulation. Apparently in mine it is only a demo, but you can create VHDL components. I tried compiling your file, but it tells me that it is too large for the demo. It also says this " Better yet, purchase the fully function simulator by calling your local Electronics Workbench reseller".
    "For information about how to purchase the Multisim VHDL simulator, visit the Electronics Workbench home page at http://www.electronicsworkbench.com"
    The version number says 5.15a. This sounds like it may be old and not what your after. It problably would be best to contact NI or look on their website to see what may be available. It may be that you can purchase this as an add-on for Multisim 10, but I am not certain of that.
    Sorry I couldn't help more.
    Kittmaster's Component Database
    http://ni.kittmaster.com
    Have a Nice Day

  • Use of BPMN diagrams on different levels (Business Process Architect 11gR1)

    I have an issue regarding the representation of different levels of diagrams in BPA... I have been using following types of diagrams from the highest level to the lowest:
    - Structuring model,
    - Value-added chain diagram,
    - Business process diagram (BPMN),
    - Business process diagram (BPMN),
    - Function allocation diagram (this is generated automatically).
    Those levels are linked with use of "Assignment" function on individual elements and that enables the user to drill-down to the last level (except between Structuring model and Value-added chain diagram - I can't find a way to link those two).
    As you might have noticed from the list of diagrams above, I have used two BPMN diagrams to represent two successive levels. Is this OK? On the first of those two diagram types, I represented activities with "Function" elements (I also used Start, Intermediate, End events and Rule elements).
    I linked every "Function" element to a more detailed BPMN diagram on the next level. That one includes "Human task", "Automated activity" elements (and also Start, Intermediate, End events, Rule elements and also others) and is eventually meant to be transformed into BPEL.
    That is how I understood the "Oracle_BPA_Suite_QuickStart_Sample_Guide.pdf" and samples included in Architect 11gR1. Is that the right way to do it? Does anybody have a better suggestion on how to represent the whole chain of diagrams?
    How can "Assignees" be represented in the BPMN diagram, where I used "Function" elements? Is it possible to link "Structuring model" elements to Value-added chain diagrams?
    I hope this describes my dilemma well enough and doesn't frighten you all away... I thank you all for your feedback in advance.

    It is possible to assign Structural Elements to any Model Type in BPA. If you are not able to make this assignment it is not active in your Method Filter. You can log in with the Entire Method filter to check this out. You can also modify the filter you are using to include this ability.
    The hierarchy you are using is fine and is a commonly used one. Some people use the EPC model, which is specifc to BPA and not a standard, at the level below the value-chain but many use BPMN as you have. If your intent is to use the first BPMN as a pure business process model then you may consider creating a separate custom Model Type, based on the BPMN model, with a scaled down set of allowable objects. This is also done through customizing the filter. If you do this you can also rename the model types in the filter if you wish to have different names at each level.
    Note of caution, modifying a method filter can have impacts and should generally be done by someone with a working knowledge of the meta model. If you chosse to change a filter supplied with the tool, copy it and rename it, then update the copy. Always retain the original filter provided with the tool. If you are doing something as simple as adding the ability to use the assignment between Structural Elements and Value-Added Chain models, that would be no big deal. If you get into reusing object and model types that has more impact on the functionality of the tool.

Maybe you are looking for

  • Unable to capture MySQL

    Hi I am unable to capture MySQL from Oracle SQL Developer Mig. Workbench. I am getting this error: "oracle.dbtools.metadata.persistence.PersistenceException: ORA-04098: trigger 'ROHIT.MD_PROJECTS_TRG' is invalid and failed re-validation" Can anyone t

  • Free goods+ discounted item

    Hello all, Could you help in configuring the scenario wherein : <b>.</b> we give a shirt free on purchase of two shirts and a discounted price of 30% on the pants. i.e. 1 item free on purchase of 2 and the 3rd item at discounted rate. If not clear pl

  • I can not save edited photos in Photoshop Elements.

    I bought Photoshop elements because i thought it would help me save manipulated photos. When i edit photos and change them, then save the changes under a different file name, I continutally get the unedited original when I try to view the edited phot

  • How many photos can i download on a mac pro?

    how many photos can i download on a mac pro?

  • How do i get firefox to read a *.do file? I can in IE.

    I download a *.pdf file in this format & am unable to view in firefox but if i download in IE i can view & print the *.pdf file. How do i fix this?