Wednesday, April 21, 2010

Drools San Diego 2010 - More Photos

More photos from Drools San Diego 2010. We where very lucky to have breakfast provided each day, and lunch on Wednesday. So here are some photo's of what you are missing out on :) Click to enlarge

The Food Line

Keith showing the fruits of his pillaging

Edson piles on the plate, worried there won't be anything left for second time round

Tuesday, April 20, 2010

Drools Meetup San Diego 2010 - Update and Photos

The Drools OSS meetup is having a fantastic turn out, filling the room to capacity. Ray Ploski has taken some photos for me, which you can see below, click to enlarge.

The Europeans, including myself, where not able to be there due to the volcano, so we gave our presentations remotely. After some initial audio problems I've been told the rest of the remote presentations have been fine. The on site presentations have also been excellent, with a good mix of topics, see here.



Monday, April 19, 2010

Drools San Diego 2010 Agenda

Medical


General




Monday
8:00:00 AM
Breakfast.
9:00:00 AM
General Introductions
9:15:00 AMMark ProctorIntroduction To Drools



10:15:00 AMEmory Fry begin_of_the_skype_highlighting end_of_the_skype_highlightingRequirements For Real-Time CDS: The KMR Project



11:00:00 AMMark ProctorRule Authoring Techniques



12:00:00 PM
Requirements Discussion
12:30:00 PM
Lunch






2:00:00 PMEdson TirelliComplex Event Processing



3:00:00 PMTom MunneckeHistoric Vista / CHS
3:30:00 PMKris Verlaenen begin_of_the_skype_highlighting end_of_the_skype_highlightingBuilding Domain Specific Workflows



4:30:00 PMJoe WhiteHealthcare EDI Processing
5:00:00 PMAlejandro OsornioRule-Based validations applied to Healthcare Ontology
5:30:00 PM
Requirements Discussion
6:00:00 PM
Closeout








Tuesday
8:00:00 AM
Breakfast
9:00:00 AMGeoffrey De SmetNurse rostering and hospital bed planning with Drools Planner



9:45:00 AMKen KawamotoCDS With HL7 & Drools



10:45:00 AMDavide Sottara begin_of_the_skype_highlighting end_of_the_skype_highlightingUsing Drools in Hybrid Systems:
From "Semantic" Rules to Soft Computing


11:45:00 AM
Requirements Discussion
12:30:00 PM
Lunch






2:00:00 PMEmory Fry begin_of_the_skype_highlighting end_of_the_skype_highlightingDistributed Knowledge Management Management Requirements



3:00:00 PMDavide Sottara begin_of_the_skype_highlighting end_of_the_skype_highlightingRule Uncertainty And Vagueness



4:00:00 PMEmory Fry begin_of_the_skype_highlighting end_of_the_skype_highlightingRule Authoring: Workbench Requirements



5:00:00 PM
Requirements Discussion
5:30:00 PM
Closeout
6:00:00 PM






Wednesday
8:00:00 AM
Breakfast
9:00:00 AMJames Taylor begin_of_the_skype_highlighting end_of_the_skype_highlightingSmarter systems for uncertain times



10:00:00 AMJohn Hall begin_of_the_skype_highlighting end_of_the_skype_highlightingSemantics of Business Vocabulary and Business Rules (SBVR)


RuleML
11:00:00 AMSalatino MauricioSpring, Camel, Grid and other Community work



12:00:00 PM
Requirements Recap
12:30:00 PM
Lunch






2:00:00 PMRay Ploski begin_of_the_skype_highlighting end_of_the_skype_highlightingJBoss Integration



3:00:00 PMDiego Nay / Gustavo AguirreDrools within a corporate IT architecture



4:00:00 PMKris Verlaenen begin_of_the_skype_highlighting end_of_the_skype_highlightingDynamic Fragments For Non-Linear Adaptive Processes



5:00:00 PMKostas StathatosPredictive Analytics
5:30:00 PM
Requirements Discussion
6:00:00 PM



Closeout








Thursday
8:00:00 AM
Breakfast



9:00:00 AMMark ProctorIntroduction To Drools



10:00:00 AM
break
10:15:00 AMKris Verlaenen begin_of_the_skype_highlighting end_of_the_skype_highlightingBuilding Domain Specific Workflows



11:15:00 AM
break
11:30:00 AMMark ProctorRule Authoring Techniques



12:30:00 PM
Lunch






2:00:00 PMEdson TirelliComplex Event Processing



3:00:00 PM
break
3:15:00 PM
Labs - Getting environment setup and working through examples



5:30:00 PM
Closeout
6:00:00 PM






Friday
8:00:00 AM
Breakfast



9:00:00 AM
Hands on Day/One to One time












Friday, April 16, 2010

jBPM5 Request for Comments

Over the last few years, we have accumulated a lot of knowledge and experience in various BPM-related projects here at JBoss, and in an effort to consolidate that, we would like to combine our efforts in what will be the next generation BPM platform, called jBPM5.

jBPM5 will be based on the combined experience of jBPM and Drools Flow (and related projects like RiftSaw and Overlord), and will bring together the benefits of both solutions (and much more). As part of this process, we would like to ask you, our community, for feedback and assistance on this.

The architecture of jBPM5 builds on the experience that was built up over the past few years based on our customer feedback as well as strong community involvement. It will continue the vision of all of the constituent projects, so large parts of the architecture that is presented here will probably not come as a surprise to you, either because it already exists in a current project or because it has been on the roadmap for quite some time (e.g. BPMN2).

Nevertheless, wide feedback is very important to us, and we have therefore constructed a “Request for Comments” document which describes (what we believe could be) the new architecture of jBPM5. Now is the time for the community that has helped shape these projects so well in the past to do so again.

http://community.jboss.org/wiki/jBPM5RequestforComments

This not only includes an overview of the most important components, but also some of the key characteristics. Based on this architecture (and the feedback we receive), we will roll out a roadmap for jBPM5.

We would like to welcome any feedback feedback on this proposal, using the jbpm-dev@lists.jboss.org mailing list, or in private by sending your comments to your JBoss contact. If you want to subscribe to the jbpm-dev mailing list or browse the archive, use:

http://lists.jboss.org/mailman/listinfo/jbpm-dev

Thursday, April 15, 2010

Drools OSS Meeting (Reminder) 19th - 23rd of April now at the Hacienda Hotel (San Diego)

Due to unexpected levels of attendance we've moved the event from the provided location to a larger one. This provided the opportunity to locate the event at a hotel, so people can stay in the same building as the meeting. We are now located at the Hacienda Hotel in Old Town, near plenty of restaurants and a trolley bus to Down Town which is 10 minutes away. So if you have booked another hotel I would recommend you cancel it and relocate to the Hacienda.

A special hotel rate of $110 per night is available under the booking reference "Drools", but hurry as space is limited and we have not done any block reservations. The event itself is free of charge. Breakfast will be provided each morning, as part of the conference, and coffee will be available throughout the day. If anyone would like to sponsor lunch, let me know :) mproctor at codehaus d0t org.

Hacienda Hotel (4041 Harney Street • San Diego, CA 92110 • 800-888-1991)


Details of the conference can be found at the registration page here:
http://community.jboss.org/wiki/DroolsBootCampSanDiegoApril2010

The meeting is really shaping up with many top names attending:
JBoss, OSDE (Argentinian Healthcare), AT&T, SAIC, Kaiser, VA, Naval Health Research Center, Clinica, Decision Management Solutions, University of Utah / VA, Intermountain Healthcare, termMed IT, Versatile Systems, GE Healthcare, Open Health Data, Pharmacy OneSource, Wake Forest University Health Science, Recondo Technology, Zementis, University of Maryland, University of Bologna, Duke University.

We have the most excellent James Taylor key noting on Wednesday, with many other interesting talks planned:

NameTalk
James Taylor (Decision Management Solutions)Wed 9am Key Note : Smarter systems for uncertain times
Mark Proctor (JBoss)Intro to Drools 5
Mark Proctor (JBoss)Rule Authoring Techniques
Mark Proctor (JBoss)Spring, Camel and OSGi integration

Kris Verlaenen (JBoss)

Building Domain Specific Workflows for Clinical Decision Support
Kris Verlaenen (JBoss)Dynamic Fragments for Non-Linear Execution of Adaptive Processes
Edson Tirelli (JBoss)Applying Complex Event Processing
Davide Sottara (University of Bologna)Enhancing Rules with Uncertainty and Vagueness
Davide Sottara (University of Bologna)Using Drools in Hybrid Systems: from "Semantic" Rules to Soft Computing
Ken Kawamoto (Duke University)Clinical Decision Support with HL7 and Drools
Emory Fry (NHRC)Delivering Real-Time Clinical Decision Support
Emory Fry (NHRC)Rule Workbench Requirements
Emory Fry (NHRC)Distributed Clinical Knowledge Mangement Repositories
Joe White (Recondo Techology)Healthcare EDI Processing Using Drools
Kostas Stathatos (Zementis)Drools & Predictive Analytics: Follow Your Rules and Listen to Your Data
Diego Naya (OSDE)

Changing the developer mindset to leverage rules, processes and events

Tom Munnecke (HealthWave)Historical perspective of VistA and CHCS as foundations for workflow

Monday and Tuesday are focused on the medical/healthcare industries, but Wednesday onwards are open to all.

Tuesday, April 13, 2010

Drools Job in Healthcare

http://www.metromode.com/jobs/srjavadev0158.aspx

Company: JDM Systems Consultants
Location: 3117 Hamilton Court Suite 200
Farmington Hills, MI 48334
Website: www.jdmconsulting.com

Description:

University type environment with a group of 10-20 development staff. Need help with implementing the JBoss Rules Engine (Drools) to implement thousands of health related rules. The project will be to implement a reference rules implementation starting with some set of rules and provide a Beta implementation in a 3-4 month timeframe. Some prior experience with Rules Engines.

Requirements:
Able to have Drools 5 running on a laptop Demonstrate executing a simple rule, publishing a new rule, and changing an existing rule. Need Guvnor running on a JBoss instance. Present a load/performance test plan with execution results with a tool such as JMeter. Demonstrate using SOAPUI to call a web service. Demonstrating creating a (Drools/jBPM) Flow using JBoss Eclipse JDE. Present business process flow design using BPMN 2.0.

Sunday, April 11, 2010

Drools @ BeJUG on April 27th

Kris and I will do a Drools presentation for BeJUG on April 27th at 19h00 in Ghent (Belgium).

We will be talking about Drools Expert, Drools Planner, Drools Flow, Drools Fusion and more.

Here's a preview of the Drools Expert chapter, in which I 'll show a phone call billing use case. I 'll compare a pure Java, an SQL and a Drools implementation as the billing rules become more complicated.



Hope you to see you there!

Wednesday, April 07, 2010

Goodbye Conflict Resolution Strategy, Hello Rule Dependency Meta Rules

I've added a new section to the Drools Language Enhancement ideas wiki page discussing meta-rules to help declaratively control rule ordering. Here is what I have so far, feedback welcome, you can find the original content here.

Rule Dependency Meta-Rule Language

When a terminal node is matched instead of adding the Activation to the agenda it inserts it into the WorkingMemory. We have a special builder that allows easy access to the contents.

All declarations are typed fields for the Activation fact, based on the "name" field. So the name field is mandatory. All FactHandles are available via an array accessor, which has type inference for the element being used. We also all bindings on the Activation fact to work this way too. Act is used for compactness, we'll allow that to be optionally user defined:
act1 : Act( someDeclaration == X, fact[0] == Y )
act2 : Act( someDeclaration.value > act1.someDeclaration.value )

Normal facts can also be matched. The RHS of the rule is side effect free, you cannot modify or insert facts; this allows the RHS to execute as soon as it's matched. What you can do is setup rule dependencies - where one rule blocks another:
act1.blockedBy( act2 ).until( Fired )
act1.blockedBy( act2 ).until( IsFalse )

We can even allow facts to block:
act1.blockedBy( someFact )

This means the act1 activation is blocked until a rule executes:
act1.unblockedBy( someFact )

We can probably add an override, something like:
act1.unblockAll()

Only when an Activation is no longer blocked will it be placed on the Agenda as normal.

If an activation on the agenda has not yet fired and something attempts to block it, it will be removed from the agenda until it is no longer blocked.

For this to be effective, especially for large systems, it will need to be combined with design time authoring help.

This work will be eventually be combined with further enhancements to help with parallel execution, in resulting conflicts, see the "Parellel Meta-Rule Language" heading.



Thursday, April 01, 2010

Drools Engineering Job at Cisco Systems (San Jose, CA)

http://jobs.athico.com/job/software-engineer-iv-san-jose-ca-cisco-systems-c9aab2e6a2/?d=1&source=site_home

Software Engineer IV
Cisco Systems,
San Jose, CA

Please apply at cisco.com JobID:R860990

STS (Services Technology Solutions) as part of Customer Advocacy is seeking a Senior Software Engineer to lead s/w development for Cisco Knowledge Management and Service Automation products/tools. These products/tools are strategic foundational applications architected and developed in Java, J2EE, XML, Cisco Networking and Open Source technologies.

We are looking for strong technical leader with deep and wide technical experience, clear oral and written communicator, clear and a logical thinker who is able to break problems into solvable pieces quickly. You will be involved in evolving Industry standards on Information Modeling and Knowledge Management technologies.

Software Engineer IV position requires following core skills:
* Strong background in systems Architecture, Design and Implementation using J2EE. In this role, you will exhibit superior technical leadership and acts as single point of contact for project team, and be seen as a technology expert by development, QA, support or external organizations with in and outside Cisco.
* Knowledge of Canonical Models & XML schema
* Demonstration of a high degree of originality and innovation in defining product architecture and module design.
* Knowledge of Service Oriented Architecture concepts and Software Modularity
* Development experience to develop large portions of software independently and rapidly.
* Drive for cross-functional development and quality focus working with other project development teams in Engineering team or across Cisco.
* Demonstration of leadership in mentoring junior team members.
* Participation in technical communities with in and outside Cisco is desired.
* Knowledge of Network Management & Enterprise Management tools is considered a plus.

Typically requires MSEE/CS combined with 5-7 years of related experience, or BSEE/CS combined with 7-10+ yrs related experience.

*** This position is based in San Jose, CA ***