Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Michael Stal on Oct 07, 2011
In a recent news article the Massachusetts Institute of Technology has introduced a technology for automatically remembering connections between objects. The provided system determines
how objects in a large software project interact, so it can inform latecomers which objects they will need to design certain types of functions.
According to Larry Hardesty from the MIT News Office, the major innovation in software engineering in the last four decades has been the development of object-oriented programming languages where objects might be considered as
repositories for the computational details of a program, which let the programmer concentrate on the big picture.
Developers often face the challenge that with increasing system size the number of objects as well as their interactions might be overwhelming. In order to understand the whole system, they need to spend a lot of time. This is where the idea of the new approach by MIT’s Computer Science and Artificial Intelligence Laboratory comes in. The system called MatchMaker learns in an automatic way about the interaction of objects within the system under development.
This is particularly helpful when functionality needs to be added to open source software as Solar-Lezama and his students Zhilei Ku and Kuat Yessenov have demonstrated using the Eclipse Framework.
In Matchmaker developers may specify the names of objects into a query field. In return, MatchMaker lists all objects that link the specified objects as well as all modifications required to any existing methods.
However, the system might also produce wrong inferences but as Solar-Sezama claims, even if this happens, the developer would at least obtain some guidance. They tried to prove this claim empirically with a user study of eight developers new to Eclipse. The developers were split up into two groups with four persons in each group. While the first group had to solve a problem without leveraging MatchMaker, the second group did use it, but retrieved incomplete information from MatchMaker. Nonetheless, all developers in the second group outperformed those in the first group. However, it needs to be mentioned in this context that a study with eight persons is not representative.
Future will show whether MatchMaker really can live up to its expectations. If you are interested in more details you might want to read the accepted paper which the researchers have submitted to this year’s SPLASH respectively OOPSLA conference.
Agile Development: A Manager's Roadmap for Success
Branching & Merging Efficiently: A Guide to Using Process-Based Promotional Patterns
Combining Inspections, Static Analysis, Testing to Achieve >95% Defect Removal Efficiency
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply