150 likes | 331 Views
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich. Ebru Dincel Sahitya Gupta. Distributed Systems. Complex Limited knowledge Multiple points of failure Fault-tolerant Scalable => A better fit for integrated, highly scalable, and adaptable systems. Middleware.
E N D
Software Engineering and Middleware: a Roadmapby Wolfgang Emmerich Ebru Dincel Sahitya Gupta
Distributed Systems • Complex • Limited knowledge • Multiple points of failure • Fault-tolerant • Scalable => A better fit for integrated, highly scalable, and adaptable systems
Middleware • Definition: Infrastructure that allow multiple processes to interact across a network. • Context: Distributed systems • Role: Coordination and communication (connectivity software) • Implements: Session & Presentation Layers • Bonus: Higher level primitives
Middleware Requirements Required • Network communication • Coordination • Reliability • Scalability • Heterogeneity Desired • Enhanced security • Application oriented services (transaction monitoring) • Interaction with other network services (security, performance management)
Network Communication • Implement lower level network layers • Provide higher level primitives • Support marshalling & unmarshalling
Coordination • Support concurrent execution by synchronization based on threading policies • Restore component states based on activation policies • Deliver multicast messages
Reliability • Handle individual and multiple requests (transactions) • Accommodate different levels and extensions (reliable delivery, order preservation) • Support replication
Scalability • Load Balancing -Access transparency -Location transparency -Migration transparency -Replication transparency
Heterogeneity • Integrate elements from various contexts -hardware -software -operating system -middleware • Support interoperability
Middleware State of the Art • Flexible Middleware -Trading -Reflection -Application-level Transport Protocol • Scalable Middleware -Replication • Real-time Middleware - Lack on prioritization on requests - High memory requirements • Middleware for Mobile Computing - Lack of continuous bandwidth availability - Problems of network outages - Increased complexity of software and size efficient data representation
Academic Solutions • Brown University (Field) • University of Colorado (Q) • University of Maryland (Polylith) • Washington University (TAO) • Vrije University (Globe)
Future Research • Requirements Engineering -quantification of non-functional goals -adaptation to unstable requirements • Software Architecture -addressing global properties and non functional requirements -calibrated models for validation -development of middleware oriented ADLs • Design -development of middleware design notations, methods, and tools
Middleware in Embedded Software • Embedded software -specialized -demanding QoS on certain subdomains (telecommunications, multimedia, command control systems) • Middleware -simplify composition and configuration of distributed systems -limitations exist (lack of real-time features & prioritization, performance optimizations, non-functional requirement support, heavy memory requirements, -future promising (industry supported flexible, adaptable, optimized, and standardized infrastructures, e.g Real-time CORBA, TAO)