I was looking for an appropriate term to call my proposal. I knew it is either platform or architecture. But could not simply and clearly distinguish them in an academic manner. So, I searched the web and the literature and found few definitions on architecture and platform as follows that sound logical.

  • Software Architecture: A set of system elements and relations associated with them [reference: documenting software architecture: views and beyond]
  • Platform: A set of subsystems and technologies providing a coherent set of functionalities through interfaces and specified usage pattern that any subsystem that depends on the platform can use without concern of the detail of how the functionality provided by the platform is implemented1.

However, still is it not clear what are the differences. I guess researchers often use these two terms interchangeably with marginal consideration on their differentiations. Looking at the definitions, I figured out that architecture likely specifies structural properties of systems and usually tries to describe the structure of a system and its consisting components and their relationship. Using architecture, developers cannot produce a system that works according to that architecture. However, platform is trying to specify structural and behavioural attribute of a system by describing its subsystems and their relationship. Platform also provides an abstract by which developers can create new software systems that rely upon the platform.

Is this interpretation accurate enough? One may argue that platform is prepared on top of an architecture and without architecture one may not be able to propose platform.

In your idea, what else are the differences and distinguishing lines between these two terms?

  • $\begingroup$ Maybe if you (concisely) tell us what your work is, we can try to help you identify reasonable names. $\endgroup$ – D.W. Jun 30 '13 at 0:26
  • $\begingroup$ thanks but it is very difficult to (concisely) explain what I need, since I have more than one. General judgment would be sufficient, I guess; like what D.W. explained. $\endgroup$ – Espanta Jul 1 '13 at 3:52
  • $\begingroup$ You noted software architecture but not hardware architecture? Was there a reason? $\endgroup$ – Guy Coder Nov 24 '13 at 13:18
  • $\begingroup$ @Guy Coder, hardware architecture is not my concern. I am in software layer. So, I need software architecture as presented definitions suggest. $\endgroup$ – Espanta Nov 25 '13 at 9:41

Architecture generally refers to a design-level structure or organization for an entire system.

Platform generally refers to something (an operating system, a library, a programming language, a programming environment) which you can build other things on.

| cite | improve this answer | |

Disclaimer: The folowing answer is just my opinion. It's not necceseraly 100% true. Sorry for bad english.

When we say "architecture", we primarily mean computer architecture with address bits, memory, we define commands of processor.

Examples of macro definitions of windows architecture:

_M_IA64 Intel Itanium platform
_M_IX86 x86 platform
_M_X64  x64 platform

(Yes, "platform" and "architecture" marginally are used interchangeably)

When we say "platform" we mean computer platfrom which deals with system software (eg. operating systems). Examples of macro definitions of windows platforms:

_WIN64  A 64-bit platform.
_WIN32  A 32-bit platform. This value is also defined by the 64-bit compiler for backward compatibility.
_WIN16  A 16-bit platform

So architecture is lower level concept than platform. On top of that architecture we implement platform (eg. Win32 or POSIX). And on top of platform, you build an applications.

| cite | improve this answer | |
  • $\begingroup$ True in some sense. But, I further dig the concept and add the term 'software' before architecture. So, I do not need hardware architecture. Even in platform where we have software, there are the term platform, architecture, and framework used with slightly different meanings. $\endgroup$ – Espanta Nov 25 '13 at 9:42
  • $\begingroup$ I dealt with this confusing matter whenever installing SLES. Here's a related link that will hopefully survive for a while: Architecture-Specific Information $\endgroup$ – bvj May 5 '16 at 18:06

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.