Software Secret Weapons™


 
Object Attribute Function Modeling
by Pavel Simakov on 2005-11-22 22:04:42 under Meta-Modeling, view comments
Bookmark and Share
 


In 2002 I met Dr. Ed Sickafus, an inventor and industrial scientist from Ford Motor Company, who has been practicing TRIZ for many years at Ford. During our meeting I discovered that Ed has written a great book entitled “Unified Structured Inventive Thinking: How to invent”. Ed shows in his book how one can think of 40 Inventive Principles of TRIZ as a result of Object-Attribute-Function modeling. I will walk you through the approach here with small adaptation of original language to software engineering.

Any technical system can be modeled by "Objects, Attributes, and Functions". If a system exhibits undesired behavior or needs to be improved innovator can:

  • change object cardinality
  • change function distribution
  • change attribute dimensionality
  • vary scope

Object Cardinality
In software design, one thinks of cardinality when considering relations between objects. While preserving its old meaning, term cardinality in problem solving context is taken further. Cardinality refers to clones of objects, or in software design term - object instancing. Fake objects, clones of objects or parts of objects can be used in variety of ways to solve variety of problems.

Function Distribution
Here term function means more than just “object function call”, it cover more of the “activity” performed by a object or set of objects. Functions which conflict with each other due to their overlap in time or space can be separated in time or space to produce new solution concepts. For other functions it might make sense to combine them.

Attribute Dimensionality
A set of values of an object attribute forms a dimension. The larger the number of object attributes, the more dimensions this object is said to have. For software engineering Attribute Dimensionality simply means “add more or remove some properties to or from an object”.

Scope Variation
Building engineers or mechanical engineers would call this “containment”, or “nesting” – what object physically contains another. But for software engineers term “scope” properly conveys the purpose. One can widen or narrow object scope or visibility towards other objects.

You can review how 40 Inventive Principles map to Object-Attribute-Function modeling principles.

No comments yet


Leave a comment


 
Dog Emotional 2010 Calendar Dog Emotional Mousepad Dog Fashionable 2010 Calendar Dog Fashionable Mousepad

Copyright © 2004-2010 by Pavel Simakov
any conclusions, recommendations, ideas, thoughts or the source code presented on this site are my own and do not reflect a official opinion of my current or past employers, partners or clients
SourceForge.net Logo