220 likes | 297 Views
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
E N D
Towards developing next-generation distributed software A society-inspired methodology National University of Defense Technology, China Bo Ding dingbo@nudt.edu.cn
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
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
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
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 • …
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
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
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.
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
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
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!
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
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
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
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.
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…
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
Design of software infrastructure Second EchoGrid Workshop Beijing – 29 & 30 October 2007
Infrastructure prototype and demo applications Lamp AUCore PDA AUCore Temperature Sensor AUCore Valve AUCore Second EchoGrid Workshop Beijing – 29 & 30 October 2007
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
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
Thank you for your attention! Second EchoGrid Workshop Beijing – 29 & 30 October 2007