Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Actor Framework and Re-use/ROI

Hi there everyone.

I have a sort of survey question I'd like to ask regarding reusability in LabVIEW.  For those of you who have made the transition to the actor framework style of development, have you noticed an increase on reusability and a corresponding return-on-investment? 

I'm curious because I've found that with previous LabVIEW architectures, reusability usually came in the form of sub-VIs, and eventually action engines.  Sub-VIs and action engines represent re-usable blocks of code, but are a little bit "hard-wired".  Refactoring in LabVIEW is inherently a slow process due to all the re-wiring and re-routing that's associated with a refactor job, or when building a new project in to a producer/consumer.  You're always "patching in" the re-use blocks.

I'm imagining that with the Actor Framework this would end up saving you a lot of time on the re-factoring and re-use scenarios.  Instead of re-using a bunch of algorithms or modules, you're re-using autonomous "sub-applications" that can operate without so many dependencies.  This would enable an engineering team to be able to write a file I/O actor and rarely have to ever write a file I/O loop again--just make slight changes to the actor, or perform an override of a method in a specific project.

I'm also curious as to how adopting an architecture like this in your company might impact your business model.  My theory is that it would be difficult to pursue hourly project work as the time spent on projects would decline over time, and so you'd have to begin increasing your rate to your customers--perhaps to rates that would appear absurd in order to maintain the same level of income.  This kind of transition would introduce an imminent need to modify such a business model.

I'm curious if anyone is in a situation where their company has adopted these new programming practices, has seen a consequent change in the inner workings of their company, and has seen it impact (for better or worse) their relationship with their customers.

Thank you for your replies.

0 Kudos
Message 1 of 5
(7,016 Views)

Simple: take one week to produce an application for a customer. The next customer's app takes only four days, but charge for five. By the time five customers have been satisfied, you've written all the code you need, and can charge five days for zero hours.

I'm still cheating with most of my actors: passing them SEQ's instead of taking the time to send zero-coupled replies. It's handy for compartmentalizing.

More seriously, I don't see a huge improvement in reusability with AF vs llb back in 7.1.1. There was a big step up with LVOOP. AF *is* a reuse library. Folks who made their own messaging systems seem to be reusing those.

0 Kudos
Message 2 of 5
(3,684 Views)

I could see that some of those reusable actors could be packaged using VIPM and you could assing them a price. When a new project comes, you quote less hours, but add the cost of licensing the actors you already have.

I haven't made the jump to Actor Framework yet, but this is how I manage my reusable code now and I imagine this model should work with AF as well.

You might even be able to package some of your Actors and sell them throug the LabVIEW Tools Network to other companies using Actor Framework.

For an opportunity to learn from experienced developers / entrepeneurs (Steve, Joerg, and Brian amongst them):
Check out DSH Pragmatic Software Development Workshop!

DQMH Lead Architect * DQMH Trusted Advisor * Certified LabVIEW Architect * Certified LabVIEW Embedded Developer * Certified Professional Instructor * LabVIEW Champion * Code Janitor

Have you been nice to future you?
0 Kudos
Message 3 of 5
(3,684 Views)
For those of you who have made the transition to the actor framework style of development, have you noticed an increase on reusability and a corresponding return-on-investment? 

There's nothing about actor-oriented programming that makes it inherently more reusable.  An actor's reusability depends on the exact same thing all reuse code depends on--the developer's ability to choose an appropriate level of abstraction that balances the requirements for generalized code with the requirements for specific functionality.

Regarding ROI, yes, I believe the time I have spent learning actor oriented programming has a positive ROI.  Not from reusing actors, but from the time I save while integrating the various software components.

Message 4 of 5
(3,684 Views)

^^^^ What he said.

0 Kudos
Message 5 of 5
(3,684 Views)