File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes OO, Patterns, UML and Refactoring and the fly likes Does the model contain the solution? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Does the model contain the solution?" Watch "Does the model contain the solution?" New topic
Author

Does the model contain the solution?

Marlene Miller
Ranch Hand

Joined: Mar 05, 2003
Posts: 1391
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?
Udayan Patel
Ranch Hand

Joined: Oct 14, 2004
Posts: 94
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?
Guy Allard
Ranch Hand

Joined: Nov 24, 2000
Posts: 776
A Virtual Machine problem.

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

Guy
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
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?


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Marlene Miller
Ranch Hand

Joined: Mar 05, 2003
Posts: 1391
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)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
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.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
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.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Marlene Miller
Ranch Hand

Joined: Mar 05, 2003
Posts: 1391
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 ]
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Does the model contain the solution?