«Layout Windows»™ software, first released in the early 1990's, is a universal program
to develop VLSI masks and PCB layers, schematic and other drafts. It is one of the
first EDA applications in the industry where many progressive ideas have been
implemented:
Processing of hierarchical data benefits from multi-window user interface. It
allows simultaneous work with many nodes of the data graph. It permits partial
views of the same node. Typical applications back then used a single window.
This limitation required frequent reloading of data. Multi-window presentation
solved this problem.
Variety of computing platforms (software plus hardware) on the market never
shrank. Such diversity doesn't create big volume of changes on transition between
platforms when architecture of software design follows multi-layered concept.
Each software layer separates its callers from details of own implementation.
Only bottom layer software may require re-writing the code. However, typical
applications back then used so called monolith approach: bottom layer API was
usually called from everywhere. When moving on, entire application went under
re-design. Approach, introduced in this application, followed a strict rule:
no calls jumping across layers. This solution dramatically saves budget and
time.
Layer-based architecture of software matures into a form where some parts
of it start to hold features that are common across wide variety of
applications. In contemporary software this approach got the name
«Model-View-Controller». Back then, a typical application used entangled
series of API calls. Instead, this application proposed four layers of separation:
low-level user interface, multi-window presentation API, user language API, and everything
else comprises data model processing. This solution simplifies entire design.
That, in turn, allowes customer to process essential volume of data on hardware
having limited resources.
Topics
Copyright
⚠️ The software code and other textual and visual materials on this
site is the author's copy, used
to defend my PhD degree.
Any similarity with copies for commercial purposes
does not constitute a violation of the rights of their respective
owners.
Disclaimer
⚠️ The code is intended for API familiarization purposes only. Downloading
and running executables is at your own risk and excludes any liability on
my part for any direct or indirect damages. Using all the files for any
other purposes is not permitted.