1

In software engineering, there is the concept of encapsulation: hiding the details of one program from another program. The theory is that by doing this, the other program will use only details provided (the interface), not caring about the inner details of the program being used. This apparently reduces code dependency on extraneous details that can be changed at any time in the program being used. Code dependency on extraneous details is bad because one change in the extraneous details of the program being used will necessitate change in the program that uses it.

That dependency of one system on another necessitates change in the dependent system if the independent one is changed is axiomatic. I was wondering if there was a formal term for this axiom, or if it could be proven?

1
  • 1
    Isn't this a formal computer science question rather than philosophy?
    – virmaior
    May 9 '14 at 17:43
1

Encapsulation is a rule-of-thumb and heuristic in software engineering that became part of a certain paradigm of thinking about software called Object-Orientated -Programming (OOP).

I wouldn't call it an axiom. Its major raison-d'etre is that as software becomes complex and interdependent having clean and rigourous interfaces become more important for change & extension management.

Its a rule that was often broken in early software/hardware systems since it was more important to squeeze the most out of memory and processors.

2
  • I think what the OP is referring to as the "axiom" is the idea that in a dynamic system the change to one part upstream leads to another change downstream. I don't know but that might be axiomatic in certain dynamic logic systems. I dunno.
    – user5172
    May 9 '14 at 23:35
  • @shane: that may be the case, but it isn't the usual understanding of an axiom. Thats sounds, what in software systems, might be called a dependency. May 10 '14 at 4:37
1

I've never heard one, but "encapsulation" seems like as good a term to use as any. I think you'd probably have to define it if you wanted to use it in a paper, but it seems like a useful concept.

2
  • Thanks for the quick reply. But this relation between dependency and change is an axiom, correct? It cannot be proven? May 9 '14 at 15:26
  • 1
    I think what you'd need to look at here is a branch of logic known as "dynamic logic". Normal logic deal with relations between atomic sentences whose truth values are fixed, but in dynamic logic, the truth values of the atomic sentences can change as the system evolves. Sorry I don't know more than that. Perhaps somebody else will be along to help.
    – user5172
    May 9 '14 at 15:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.