Publication | Closed Access
The Enterprise model for developing distributed applications
109
Citations
13
References
1993
Year
EngineeringDistributed ProgrammingSoftware SystemsEnterprise ModelingComputer ArchitectureSoftware EngineeringParallel AlgorithmsParallel SoftwareConcurrency (Computer Science)Systems EngineeringEnterprise ModellingEnterprise Information SystemParallel ComputingEnterprise ArchitectureFamiliar AnalogyEnterprise ModelConcurrent ProgrammingComputer EngineeringDistributed SystemsComputer ScienceNecessary CodeSoftware DesignOperating SystemsParallel Performance EvaluationParallel ProgrammingParallel Programming ModelProgramming EnvironmentScheduling (Project Management)System Software
Enterprise is a programming environment for designing, coding, debugging, testing, monitoring, profiling, and executing programs for distributed hardware. Developers using Enterprise do not deal with low-level programming details such as marshalling data, sending/receiving messages, and synchronization. Instead, they write their programs in C, augmented by new semantics that allow procedure calls to be executed in parallel. Enterprise automatically inserts the necessary code for communication and synchronization. However, Enterprise does not choose the type of parallelism to apply. The developer is often the best judge of how parallelism can be exploited in a particular application, so Enterprise lets the programmer draw a diagram of the parallelism using a familiar analogy that is inherently parallel: a business organization, or enterprise, which divides large tasks into smaller tasks and allocates assets to perform those tasks. These assets correspond to techniques used in most large-grained parallel programs; pipelines, master/slave processes, divide-and-conquer, and so on,and the number and kinds of assets used determine the amount of parallelism.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
| Year | Citations | |
|---|---|---|
Page 1
Page 1