Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. looking for a business rule engine in .Net

looking for a business rule engine in .Net

Scheduled Pinned Locked Moved The Lounge
csharpbusinessquestion
19 Posts 7 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H honey the codewitch

    You can use that one but it's a bit dated. When you're ready for it, assuming you're targeting C#, I'll hook you up with Norm and Reggie (or Parsley and Rolex depending on what you want) They are quite a bit more mature than PCK, although PCK does have a syntax highlighting editor. In practice, that isn't very helpful which is why I haven't included it in more recent projects.

    Real programmers use butterflies

    S Offline
    S Offline
    Southmountain
    wrote on last edited by
    #10

    in a simple example, my dataset is a List of data points(2D such as x,y)), I want to detect at which point that reach local max , local min etc.. I created a table associated with this dataset and calculated all needed mathematical attributes such as derivatives at each point. so I want to use type of rules in natural language like that describe and evaluate my request: max(my_List). hope my explanation is clear. I have not done anything on business rule stuff.

    diligent hands rule....

    H P 2 Replies Last reply
    0
    • S Southmountain

      in a simple example, my dataset is a List of data points(2D such as x,y)), I want to detect at which point that reach local max , local min etc.. I created a table associated with this dataset and calculated all needed mathematical attributes such as derivatives at each point. so I want to use type of rules in natural language like that describe and evaluate my request: max(my_List). hope my explanation is clear. I have not done anything on business rule stuff.

      diligent hands rule....

      H Offline
      H Offline
      honey the codewitch
      wrote on last edited by
      #11

      Parsing is like 10% of natural language processing. I'm not sure you know what you're getting into. The other problem with doing it for business rules is ambiguity. Do you want that ambiguity leaking into your accounts receivable tables? Because this is how it happens. The quickest dirtiest way to get natural language processing into your business rules is to use Amazon's voice recognition services, and then plug it into a rule writer based off of that. Then take that rule writer and plug it into a system you do not care about, because it's not going to give you anything good, particularly given that the type of people who would require natural language processing to produce business rules lack the analytical chops to craft solid business rules in the first place.

      Real programmers use butterflies

      S 1 Reply Last reply
      0
      • S Southmountain

        in a simple example, my dataset is a List of data points(2D such as x,y)), I want to detect at which point that reach local max , local min etc.. I created a table associated with this dataset and calculated all needed mathematical attributes such as derivatives at each point. so I want to use type of rules in natural language like that describe and evaluate my request: max(my_List). hope my explanation is clear. I have not done anything on business rule stuff.

        diligent hands rule....

        P Offline
        P Offline
        PIEBALDconsult
        wrote on last edited by
        #12

        I don't even see any low-hanging fruit there.

        1 Reply Last reply
        0
        • H honey the codewitch

          Parsing is like 10% of natural language processing. I'm not sure you know what you're getting into. The other problem with doing it for business rules is ambiguity. Do you want that ambiguity leaking into your accounts receivable tables? Because this is how it happens. The quickest dirtiest way to get natural language processing into your business rules is to use Amazon's voice recognition services, and then plug it into a rule writer based off of that. Then take that rule writer and plug it into a system you do not care about, because it's not going to give you anything good, particularly given that the type of people who would require natural language processing to produce business rules lack the analytical chops to craft solid business rules in the first place.

          Real programmers use butterflies

          S Offline
          S Offline
          Southmountain
          wrote on last edited by
          #13

          thank you for your thoughts!:rose::rose::rose: probably I did not describe myself well yet. But your PCK GUI editor is my starting point to test my ideas first..

          diligent hands rule....

          H 1 Reply Last reply
          0
          • S Southmountain

            thank you for your thoughts!:rose::rose::rose: probably I did not describe myself well yet. But your PCK GUI editor is my starting point to test my ideas first..

            diligent hands rule....

            H Offline
            H Offline
            honey the codewitch
            wrote on last edited by
            #14

            Fair enough, although if you're really committed to natural language parsing, Glory: A GLR Parser Generator for .NET[^] is what you'd need for that, because of the ambiguity. PCK can't parse natural languages, and extending the algorithms therein to do so is non-trivial, so it won't make a good starting point necessarily. Also, avoid the LALR(1) generation in PCK. It's slow and I don't think it handles epsilons correctly. Glory does.

            Real programmers use butterflies

            S 1 Reply Last reply
            0
            • H honey the codewitch

              Fair enough, although if you're really committed to natural language parsing, Glory: A GLR Parser Generator for .NET[^] is what you'd need for that, because of the ambiguity. PCK can't parse natural languages, and extending the algorithms therein to do so is non-trivial, so it won't make a good starting point necessarily. Also, avoid the LALR(1) generation in PCK. It's slow and I don't think it handles epsilons correctly. Glory does.

              Real programmers use butterflies

              S Offline
              S Offline
              Southmountain
              wrote on last edited by
              #15

              I highly appreciate your thoughts!:rose::rose::rose:

              diligent hands rule....

              1 Reply Last reply
              0
              • S Southmountain

                I am looking for a business rule engine(open source) in .NET. any recommendation/experience to share?

                diligent hands rule....

                M Offline
                M Offline
                Mike E Andrews
                wrote on last edited by
                #16

                I built one years ago that's still in production today. It was written in C#. The rules are not a custom language or anything of the sort. Each rule is an implemented derived class and each rule has inputs and outputs (which can be anything). Then, you just string those rules together, where the output of one rule connects to the input of another rule. This has two benefits: 1) you don't have the overhead of a custom parser for determining the end-result, i.e., it's already a language you know; 2) you can reuse these rules in various combinations for a variety of tasks. The rules can live in the same or separate assemblies and are then loaded into an AppDomain upon execution. There is a Rule Execution Engine that takes a "map" of how each rule is connected and then loads the appropriate assemblies, from where said rules are located, and executes them in the correct order and asynchronously if needed. This may be a simpler approach than a custom language solution. I do not have a general-purpose one written. I intended to write one years ago (after writing the one for the company I work for), but I never got around to it. This approach may or may not work for you, though.

                1 Reply Last reply
                0
                • S Southmountain

                  I am looking for a business rule engine(open source) in .NET. any recommendation/experience to share?

                  diligent hands rule....

                  J Offline
                  J Offline
                  James Curran
                  wrote on last edited by
                  #17

                  We've been using this with great success: [GitHub - runxc1/MicroRuleEngine: A .Net Rule Engine for dynamically evaluating business rules compiled on the fly.](https://github.com/runxc1/MicroRuleEngine)

                  Truth, James

                  S 1 Reply Last reply
                  0
                  • J James Curran

                    We've been using this with great success: [GitHub - runxc1/MicroRuleEngine: A .Net Rule Engine for dynamically evaluating business rules compiled on the fly.](https://github.com/runxc1/MicroRuleEngine)

                    Truth, James

                    S Offline
                    S Offline
                    Southmountain
                    wrote on last edited by
                    #18

                    thank you very much! I will take a look at it.

                    diligent hands rule....

                    1 Reply Last reply
                    0
                    • S Southmountain

                      I am looking for a business rule engine(open source) in .NET. any recommendation/experience to share?

                      diligent hands rule....

                      E Offline
                      E Offline
                      englebart
                      wrote on last edited by
                      #19

                      [Drools.NET download | SourceForge.net](https://sourceforge.net/projects/drooldotnet/) I used the Java version to build a Sudoku solver that works with human strategies. This is one those legacy Rules Based systems that have lost out to ML.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups