Advanced Component Models ULCM & HLCM Julien Bigot, Hinde Bouziane, Christian Perez COOP Project Lyon, 9-10 mars 2010.

Slides:



Advertisements
Similar presentations
Ph.D. Defense by Julien Bigot, December 6 th 2010 Generic Support of Composition Operators in Software Component Models, Application to Scientific Computing.
Advertisements

Network II.5 simulator ..
Modeling Main issues: What do we want to build How do we write this down.
Architecture Representation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
© Copyright Eliyahu Brutman Programming Techniques Course.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
What is Software Architecture?
Design Patterns Discussion of pages: xi-11 Sections: Preface, Forward, Chapter
An Introduction to Software Architecture
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
1 CCA Meeting, Januray 25th 2007 Supporting the Master-Worker Paradigm in the Common Component Architecture Hinde Lilia Bouziane, Christian Pérez, Thierry.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Hinde Bouziane – CBHPC’08 – October 2008 Marco ALDINUCCI and Marco DANELUTTO UNIPI - University of Pisa (Italy) Hinde Lilia BOUZIANE and Christian.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters Hung-chih Yang(Yahoo!), Ali Dasdan(Yahoo!), Ruey-Lung Hsiao(UCLA), D. Stott Parker(UCLA)
Master Worker Paradigm Support in Software Component Models Hinde Bouziane, Christian Pérez PARIS Research Team INRIA/IRISA Rennes ANR CIGC LEGO (ANR-05-CICG-11)
Generative Programming. Automated Assembly Lines.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
XML in Atlas: from generic to parametric detector description Stan Bentvelsen NIKHEF Amsterdam XML workshop, CERN, May 22.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Office Business Applications Workshop Defining Business Process and Workflows.
1 On MDE to implement a Component Assembly Compiler for HPC Journées IDM, June the 7th 2011 Julien Bigot*, Christian Pérez* Laboratoire de l’Informatique.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
George Goulas, Christos Gogos, Panayiotis Alefragis, Efthymios Housos Computer Systems Laboratory, Electrical & Computer Engineering Dept., University.
ProActive components and legacy code Matthieu MOREL.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Composition in Modeling Macromolecular Regulatory Networks Ranjit Randhawa September 9th 2007.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
STCM: A spatio-temporal Component Model Hinde Lilia Bouziane Christian Perez PARIS Project-Team INRIA Rennes/IRISA Toulouse, France, December 7 th 2007.
Pattern Bridge. Definition Bridge is the structural pattern that separates abstraction from the implementation so that both of them can be changed independently.
Self-Adaptive Embedded Technologies for Pervasive Computing Architectures Self-Adaptive Networked Entities Concept, Implementations,
Advanced Object-oriented Design Patterns Creational Design Patterns.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Slide 1 Lecture 15 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
David Adams ATLAS AJDL: Abstract Job Description Language David Adams BNL June 29, 2004 PPDG Collaboration Meeting Williams Bay.
IoT Mashup as a Service: Cloud-based Mashup Service for the Internet of Things By: Benny Bazumnik Lidor Otmazgin Date: 21/05/14.
Main issues: • What do we want to build • How do we write this down
Object-Oriented Analysis and Design
Unified Modeling Language
University of Central Florida COP 3330 Object Oriented Programming
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Service-centric Software Engineering
An Introduction to Software Architecture
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Advanced Component Models ULCM & HLCM Julien Bigot, Hinde Bouziane, Christian Perez COOP Project Lyon, 9-10 mars 2010

Unified Lego Component Model Hierarchy, Shared Data, Master- Workers & Workflows Hinde Bouziane & Co

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez3 ULCM in a nutshell  Defined & implemented during ANR LEGO   A hierarchical component model  Primitive components technology not defined  Composite components are just containers  No membrane  Four kinds of ports  Client/Server: Object interfaces  Attributes: Data types  Access/Share: Shared data types  Inputs/Outputs: Data Types of the component task  Master-workers  Collections of a component types  Workflow in composite  Particular implementation of a service

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez4 ULCM: a primitive example component HelloWorld { ports { attribute name=an_attribute type="a_type"; server name=a_server_port type="interface1"; client name=a_client_port type="interface2"; inputs name=an_in_port type="a_data_type1"; outputs name=an_out_port type="a_data_type2"; } content { primitive class="ulcm.tests.HelloWorld“ csd="WE.csd" implref="HW_omni_exe_id"; }

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez5 ULCM: a composite example component aComposite { ports {... } decl { Component1 a; Component2 c; Component6 c1; c.p1 – c1.p2; set a.b 4;... } service run { seq { Component4 a1; set a1.p -- a.q; exec a; parallel { section: exec b; section: exec c; } exec d; } C1 A1 start end D C B A aComposite

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez6 ULCMi: an ULCM implementation  Centralized interpreter of  ANTLR – compiler of compiler (JAVA)  Centralized workflow engine  4 backends : simulation, JAVA, FRIM (C++/Fractal), CCM  CCM backend (distributed)  Generation of deployment files:  CAD, JuxMem, DIET and Meta  Rely on ADAGE  Initial configuration deployment  Dynamic component creation  Let to the issue of dynamic planning/reconfiguration ULCMULCM ULCMULCM Parser/Lexer Walker Abstract Representation Centralized Engine InstancesProgram

High Level Component Model Hierarchy, Genericity, Template Meta-Programming & Connectors Julien Bigot & Co

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez8 HLCM: Motivations  Many different kinds of compositions  MxN  Shared data  Collective communications  Algorithmic skeletons  Master-workers, map-reduce, etc.  …  Two main approaches to implement them  Modify/Implement a runtime as in ULCMi  Complex / Low level  Breaks compatibility  Enable extension description in the model: the « library » approach  Component implementations: genericity  Component interactions: connectors

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez9 Connectors  Originally defined in ADLs  Without connectors  Direct connection between ports  Limitation to 1-1 connection  With connectors  Connectors reify connections  A name  A set of roles  Any number of roles  Can be 1 st class entities  Implemented by the user Connector Component roles ports

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez10 Connector implementations  Intrinsically generic  Types of roles fulfillment  parameters for the implementation  1 connector  multiple implementations  For distinct placement on hardware resources  Two possible kinds  Primitive connectors  Directly supported by the model  Composite connectors  An assembly Logged Use / Provide Logger U/P user interface = UT provider interface = PT When PT subtype of UT and user.host = provider.host

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez11 Example of More Complex Interactions as Connectors  Shared data between components  One single role  Multiple fulfillments  Parallel method calls  Provides the redistribution  An example  2x2 Matrix multiplication  2 roles for users (top/bottom)  2 roles for providers (right/left)

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez12 HLCM: a New Approach for Component Interface Definition  Components expose “open connections”  Some roles fulfilled  Some roles left “open”  Interactions are defined by “merging” connections  Union of the role fulfillments  A single logical connection Fulfilled role Role left “open”  merge Results in

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez13 Expressing Parallel Matrix Multiplication with HLCM merge expose A  merge B reuse A2 A1 B1 B2 Results in What implementation to use for this connection?

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez14 Connection Implementation: a Planning Choice Multiple hosts distribution Single host distribution

2010, March 9th-10thCOOP - ULCM & HLCM overview - C. Perez15 Conclusion  ULCM  Hierarchy, Shared-data, collections, workflow  Possible optimizations embedded into ULCMi  Enable static & dynamic placement optimizations  HLCM  Hierarchy, Genericity, template meta-programming, connectors  Enable structure oriented optimizations  Like the choice of implementations of a particular connectors  Enable static placement optimizations  Workflow support to be added  May require just-in-time compilation