Concern-Based Composition and Reuse of Distributed Systems [chapter]

Andrey Nechypurenko, Tao Lu, Gan Deng, Emre Turkay, Douglas C. Schmidt, Aniruddha Gokhale
2004 Lecture Notes in Computer Science  
Successful reusable software for large-scale distributed systems often must operate in multiple contexts, e.g., due to (1) integration with other systems using different technologies and platforms, (2) constant fine tuning needed to satisfy changing customer needs, and (3) evolving market conditions resulting from new laws and regulations. This situation causes vexing challenges for developers of reusable software, who must manage the variation between these contexts without overcomplicating
more » ... ir solutions and exceeding project time and effort constraints. This paper provides three contributions to R&D efforts that address these challenges. First, it motivates the use of a concern-based approach to enhance the level of abstraction at which component-based distributed systems are developed and reused to (1) improve software quality and developer productivity, and (2) localize variability aspects to simplify substitution of reusable component implementations. Second, we present our experience dealing with different domain-and middleware-specific variability gained applying model-based component middleware software technologies to develop an Inventory Tracking System that manages the flow of goods in warehouses. Third, we present a concern-based research strategy aimed at effectively managing the variability caused by the presence of multiple middleware platforms and technologies. Our experience to date shows that using model-based software tools and component middleware as the core elements of software composition and reuse -in conjunction with concern-based commonality and variability analysis -helps reduce development complexity, improve system maintainability and reuse, and increase developer productivity. Keywords : Commonality/Variability Analysis, Concern, Aspect, Model Driven Architecture, Component Middleware, CORBA Component Model (CCM). 2. Material Flow Control (MFC) subsystem, which is responsible for executing high-level decisions calculated by the WM subsystem. The primary task of the MFC is to deliver goods to the destination location. This subsystem handles all related details, such as route (re)calculation, transportation facility reservation, and intermediate storage reservation. 3. Warehouse Hardware (WH) subsystem, which is responsible for dealing with physical devices, such as sensors and transportation units (e.g., belts, forklifts, cranes, pallet jacks, etc.).
doi:10.1007/978-3-540-27799-6_14 fatcat:omwtq7jh3zhllkgm5fiembdnai