1 / 22

Towards developing next-generation distributed software A society-inspired methodology

Towards developing next-generation distributed software A society-inspired methodology National University of Defense Technology, China Bo Ding dingbo@nudt.edu.cn. Outline. Challenges ahead Key concepts of our methodology Autonomic Unit and Commonwealth

ronni
Download Presentation

Towards developing next-generation distributed software A society-inspired methodology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Towards developing next-generation distributed software A society-inspired methodology National University of Defense Technology, China Bo Ding dingbo@nudt.edu.cn

  2. Outline Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Challenges ahead • Key concepts of our methodology • Autonomic Unit and Commonwealth • From concepts to real-life programming • A reference software architecture • A prototype of software infrastructure • Conclusion & future work

  3. Grid technologies: state-of-the-art • Large-scale resource sharing and virtualization • Applications • Framework and Infrastructure • Architecture • Tools • Impact on practice of science and industry • ECHOGRID: Towards a Shared EU & Chinese Vision for Grid Research Perspectives • Other related research projects: • China 973 program “Research on aggregation and collaboration mechanisms in the virtual computing environment” • China 863 program “Research on self-adaptive software platform for pervasive computing” Second EchoGrid Workshop Beijing – 29 & 30 October 2007

  4. A gradual revolution WWW Pervasive Health Intelligent Traffic C4ISR Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Distributed software is becoming more and more complex • Running on millions of computing nodes, sensors and actuators • Being sprayed everywhere and highly interconnected • Typical instances which is turning into reality: • Internet-based large-scale computing system • Pervasive computing application

  5. Characteristics & Related work Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Characteristics of next-generation distributed software • Ubiquity • Seamless integration of the physical and computing spaces • Decentralization • Huge complex system • Each node is inherently autonomous • Continuous Growth • Requirements, functionsand physical boundary are dynamically changing in the whole lifetime of the software • How to develop such kind of system has been a great challenge • A new focus in the research community • Software-intensive systems • Ultra-Large-Scale systems (CMU/SEI) • Spray computer • …

  6. Challenges of development Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Some principles of development • Evolution, instead of waterfall model • Cooperation, instead of centralized control • Active adaptation instead of being passively invoked • Methodology have to be proposed and software infrastructure have to be developed • To fulfill the gap between our ideal and traditional software engineering technologies

  7. Outline Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Challenges ahead • Key concepts of our methodology • Autonomic Unit and Commonwealth • From concepts to real-life programming • A reference software architecture • A prototype of software infrastructure • Conclusion & future work

  8. Inspiration from social behaviors Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Society is a typical huge open complex system • Each individual is autonomic • He continuously and actively adapts to the environment • Each individual belongs to one or more organizations • He enjoy rights as well as undertake duties, for instance, having to abide by the organization’s rules • The progress of the whole society is driven by the cooperation of active individuals, whose behavior is regulated by certain organization’s rules. • A brief overview of our methodology • Resources are abstracted to Autonomic Units  individuals • Autonomic Units can dynamically join/quit Commonwealth organization • Various task targets are achieved by the cooperation between regulated Autonomic Units.

  9. Autonomic Unit and Commonwealth Abstraction Commonwealth B Autonomic Units Commonwealth A Software Space Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Autonomic Unit (AU) • Software abstraction of concrete resources, who has the capability to • Join: Becoming a member of Commonwealth, being able to abide by Commonwealth's rules • Adapt : actively adapt to the physical and computing environment • Commonwealth (CW) • Consisting of Autonomic Units having the same interests or targets • Enacting behavior rules to ensure interoperation and encourage equal cooperation

  10. Model of AU & CW Concrete business logic, whose execution may change internal states or the envrionment Autonomic Unit Behavior-driven Engine Abstraction of sensors, which collects computing and physical contexts Context Collectors Behavior Executors Base-level entities Commonwealth Join/Quit Mechanism Meta-level entities Actively driving the behavior based on the change of concerned contexts Physical and computing space Dynamically join and quit a Commonwealth, ensuring AU being regulated by the rules of the Commonwealth A special AU to initiate a Commonwealth Initiator AU AUs dynamically join/quit the Commonwealth Common AU … Commonwealth To help initiators to invite appropriate AUs under certain circumstances Resource Discovery Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Autonomic Unit • Commonwealth

  11. How to address the challenges? Second EchoGrid Workshop Beijing – 29 & 30 October 2007 ? Evolution, instead of waterfall model • Behavior dynamically regulation instead of static deployment • The developers can specify and modify the rules of Commonwealth on line • AU gets the newest rules by joining Commonwealth • Developer-driven system dynamic evolution ? Cooperation, instead of centralized control • Encourage cooperation by Commonwealth rules ? Active adaptation, instead of being passively invoked • Context-driven and reflection-based adaptation • In brief, Join/Adapt capability partially addressed the challenges to the development of next-generation distributed software!

  12. Outline Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Challenges ahead • Key concepts of our methodology • Autonomic Unit and Commonwealth • From concepts to real-life programming • A reference software architecture • A prototype of software infrastructure • Conclusion & future work

  13. Component-version Autonomic Unit AUShell (Container) Encapsulation of business logic Behavior Component Behavior Component Behavior Component A set of adaptation rules, in the shape of “when to do what” To translate and execute the policies Behavior-driven engine Policies Context Component Context Component Encapsulation of context providers AU Core Physical and computing space Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • To integrate AU concept with maturing software engineering technology! • Component-based design • Download-based joining • Rule-based adapting

  14. Dig deep into Join Pre-depolyed Shell Downloaded Core Active AU Container (Behavior-driven engine) Polices Behavior components Context components Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Question: How to ensure AU’s behavior regulated by the Commonwealth? • Answer: Download-based Joining • An Autonomic Unit is divided into two parts: • AU Shell: Container, including behavior-driven engine • AU Core: Commonwealth-related objects, composed of policies and components • AU Shell is pre-deployed and loaded in the start-up process of each resource • AU Core is dynamically downloaded when an AU joins a Commonwealth • Concrete joining model: Actively joining model, Inviting Model, and Mixed Model

  15. Dig deep into Adapt Comp Comp Our AU Model Traditional Container Request Dispatch Component Management Policies Invocation/management Context Network Message ManagementRequest Behavior-driven engine Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Question: How to actively adapt to the environment? • Answer: Rule-based Adaptation • From the perspective of reflection • context component → meta data provider • police → meta-level protocol • behavior-driven engine → meta-level computing entity • behavior component → base-level computing entity.

  16. A brief overview of our software architecture Common Wealth Autonomic Unit component Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Concept view • A complete light-weight component model is proposed. • Dynamically loading, inversion of control, language independence… • Run-time view • Initiate: Commonwealth is initiated by an initiator AU, and other AUs dynamically join/quit AU based on their interests and the demand • Cooperation: AUs are cooperated driven by the context, including the change of physical environment, computing resources and network state. • Development view • To be continue in the next slide…

  17. How to develop? Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Step1: To define component interfaces by our UCDL language • Step2: To implement components • Step3: To assemble Commonwealth • Assemble components in a graphical tool based on GME • Divide assembled components into AU Cores • If necessary, specify policies in the AU Cores

  18. Design of software infrastructure Second EchoGrid Workshop Beijing – 29 & 30 October 2007

  19. Infrastructure prototype and demo applications Lamp AUCore PDA AUCore Temperature Sensor AUCore Valve AUCore Second EchoGrid Workshop Beijing – 29 & 30 October 2007

  20. Outline Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Challenges ahead • Key concepts of our methodology • Autonomic Unit and Commonwealth • From concepts to real-life programming • A reference software architecture • A prototype of software infrastructure • Conclusion & future work

  21. Conclusion & Future work Second EchoGrid Workshop Beijing – 29 & 30 October 2007 • Our first step towards next generation distributed software • Proposed an abstract model to partially cope with challenges ahead • Integrated our ideal with maturing software engineering technology • Future work • Dynamic system theories and their application in our methodology • Emergent Behavior, Digital evolution, Control Theories… • Socio-Economic theories to encourage equally cooperating • Game rules, Mechanism design, Credit count… • Other possible self-adaption and behavior regulating mechanisms • Further research on • lightweight component model, policy and QoS integration

  22. Thank you for your attention! Second EchoGrid Workshop Beijing – 29 & 30 October 2007

More Related