• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Does the model contain the solution?

 
Ranch Hand
Posts: 1392
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am having a problem thinking about designing the control software for a system that will contain the control software.

Suppose we are designing a system to automate some business process. We analyze the process, identify the concepts, model the process, design a solution, implement the design and install the software. Now the business process is no longer what the model represented. The process has been altered by people using the software.

Suppose we are modeling some business process. In the model, a message goes from an A object to a B object. We implement the model. The software is now a concept in the domain. Call this concept S. The same message goes from an A object to an S object to a B object. Is S part of the solution?
 
Ranch Hand
Posts: 94
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Marlene Miller:
I am having a problem thinking about designing the control software for a system that will contain the control software.

Suppose we are designing a system to automate some business process. We analyze the process, identify the concepts, model the process, design a solution, implement the design and install the software. Now the business process is no longer what the model represented. The process has been altered by people using the software.

Suppose we are modeling some business process. In the model, a message goes from an A object to a B object. We implement the model. The software is now a concept in the domain. Call this concept S. The same message goes from an A object to an S object to a B object. Is S part of the solution?



can you elaborate?
 
Ranch Hand
Posts: 776
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A Virtual Machine problem.

The first thing the controlling process should be able to do well is control an instance of itself.

Guy
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You can model at a number of levels. At one level my model might say:

A customer sends a check with a billing statement. The clerk looks up the account, matches the the account number to the billing statement, applies the amount of the check to the account. If the account still has an oustanding balance the company mails a letter to the customer.

A model at another level might say:

The fargle system sorts incoming mail by optical scan of the barcode. The mailroom clerk opens an item from bin 41, scans the check and keys the account number into the brarf system, and puts the check in a lockbox. The administrative clerk gets a work item from the brarf system, enters information into the accounting system ... yadda yadda yadda

Of course you'd use UML (more likely PowerPoint) for nice pictures.

Two kinds of models for different audiences and purposes. YOu might well do the second type for today's world and the much improved version with the system you propose to build.

Did that match your question at all?
 
Marlene Miller
Ranch Hand
Posts: 1392
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Udayan, Guy and Stan for considering my question. I guess the way I asked the question was not crystal clear.

The thing I was trying to model has some physical components that generate signals (signal source) and a component that does things with the signals (signal receiver). Without control software, the source components are controlled from the front panel of each box. Now we put some control software into the receiver (or maybe in a remote control device).

If I model the system without the control software, operations are applied to the source components of the model. With control software in the receiver, maybe operations should be applied to the receiver component of the model, which then delegates to the source component of the model.

I thought this little problem might be a particular case of a general and common problem. Whenever you add software to a problem domain, the behavior in that problem domain changes. So the model no longer reflects the problem domain.

Well maybe I am way off track. It seems not to be a familiar idea. There must be a bug in my perspective.

Thank you all the same. Thank you for your time.

Regards, Marlene
 
Stan James
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Whenever you add software to a problem domain, the behavior in that problem domain changes. So the model no longer reflects the problem domain.



Is it as simple as thinking of "before and after" models? I wouldn't try to get both states into one model.
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Marlene Miller:
I thought this little problem might be a particular case of a general and common problem. Whenever you add software to a problem domain, the behavior in that problem domain changes. So the model no longer reflects the problem domain.

Well maybe I am way off track. It seems not to be a familiar idea. There must be a bug in my perspective.



There is no bug in your perspective, as far as I can tell.

In fact, this is one of the reasons for iterative development: The software we develop changes the processes it is used in (else it would be near to worthless) - and those changes are the harder to predict, the more innovative your software is. Therefore you can't know exactly what the final system should look like. The strategy then is to get into production a system with the most important features early in development, so that you can observe how it changes the processes, and how you should change the system to take those changes into account.
 
Marlene Miller
Ranch Hand
Posts: 1392
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you Stan and Ilja.

Is it as simple as thinking of "before and after" models? I wouldn't try to get both states into one model.


OK. It seemed strange to me, the solution is in the solution. I suspect the solution doesn't model the problem domain.
[ December 19, 2004: Message edited by: Marlene Miller ]
reply
    Bookmark Topic Watch Topic
  • New Topic