Software Architecture

Emenu software architecture concepts are based on a foundation of software quality attributes such as Performance, Dependability, Security and Safety. Emenu strives to deliver flexible, open architectures with its software development efforts. The typical software architecture has a similar physical structure as shown.

Emenu typically uses a layered
approach when implementing
software architectures. Layers
ensure a robust framework,
that when implemented
correctly, can create a more
maintainable software system
easily adaptable to future
modification. For example, in
today’s fast pace
technological society,
hardware comes and goes,
and in this kind of environment
our goal is to
create software
that doesn’t have to be thrown
away because of our software must adapt to a new piece of hardware.
Emenu software architectures are portable and created with the forethought of reuse in mind. We consider the software quality attributes mentioned above as guides for developing our architectures. For hard real-time systems, performance is a key concern and issues such as latency, throughput, capacity and modes drive our decisions at every step of the way. Dependability is also very important with a concern for issues such as availability, reliability, integrity, and maintainability. In this day and age, security is also a concern; and our software architectures consider confidentiality a key area of concern when considering such techniques as authentication, encryption, access control and auditing and logging. Last, Safety is of most importance with programs like the Crusader or Advanced Amphibious Assault Vehicle (AAAV) where heavy machinery is moved an manipulated by software alone and states needing the consideration of safety can mean the difference between life and death.