SlideShare a Scribd company logo
1 of 23
Download to read offline
TOPOLOGOSPatrick Chénais
                    IT Services (Informatikdienste)
                    University of Berne CH
                    Team:
                         Patrick Chénais, ID - Squeak
                         Daria Spescha, ID - Squeak
                         Barbara Spillmann, ID - Java, Web Services
                         David Gurtner, ID – Java, Web Services

                    Squeak technical assistance:
                         Stéphane Ducasse, IAM
                         Alexandre Bergel, IAM




                ESUG 2004 Köthen Germany
7.9.2004                                                              1
                  www.topologos.unibe.ch
Objectives
            Presentation of Topologos, software written in
            Squeak and developed this year.

               Allows the modelling of processes and
               objects together.

             Merging object modelling and process modelling
               solves many problems of inheritance of
               attributes.




                 ESUG 2004 Köthen Germany
7.9.2004                                                     2
                   www.topologos.unibe.ch
Plan of the presentation
            Issue of transparency of data and processes

            Problem of the separation between data
            modelling and flow modelling

            Solution of merging processes and objects

            Squeak and Topologos software

            Conclusion




                 ESUG 2004 Köthen Germany
7.9.2004                                                  3
                   www.topologos.unibe.ch
Transparency of Data
           and Processes
            In large companies or administration nobody knows
            any longer exactly what the processes and the
            available data are.

            Our objective at the university of Berne is the definition
            and monitoring, of processes and data, for the whole
            administrative systems.




                  ESUG 2004 Köthen Germany
7.9.2004                                                             4
                    www.topologos.unibe.ch
Transparency of Data
                             and Processes
           Subject            In large companies or administration nobody knows
           History            any longer exactly what the processes and the
                              available data are.
                              Data modelling:

   Student:                   What are the Entities and their relationship (Class , ERD)?

   Alice                           Who are the students following a particular course?
                                   Could I get a list of students attempting to the course in history (at
                                   Bachelor level?
             Missing link?
                              Process and workflow modelling:
                              What are the procedures? Who is responsible for an activity? When
Level:                        should an activity starts, and stops? What are the data required? What
                              are the data available or missing? What applications should we
Bachelor                      develop?
             Course:
                                   What is the procedure to register a student? Who is responsible for?
             Geography             What is the procedure to generate or close an Email account?
                                   What are the prerequisite for a student to attempt an exam?


                                      ESUG 2004 Köthen Germany
7.9.2004                                                                                                    5
                                        www.topologos.unibe.ch
Transparency of Data
 Select Major
 subject
                    and Processes
                     In large companies or administration nobody knows
                     any longer exactly what the processes and the
                     available data are.
 WEB based
 Pre-registration    Data modelling:
                     What are the Entities and their relationship (Class , ERD)?

                          Who are the students following a particular course?
 Fee payment              Could I get a list of students attempting to the course in history (at
                          Bachelor level?

                     Process and workflow modelling:
 Registration        What are the procedures? Who is responsible for an activity? When
                     should an activity starts, and stops? What are the data required? What
                     are the data available or missing? What applications should we
                     develop?
 Select Minor             What is the procedure to register a student? Who is responsible for?
 subjects                 What is the procedure to generate or close an Email account?
                          What are the prerequisite for a student to attempt an exam?

                             ESUG 2004 Köthen Germany
7.9.2004                                                                                           6
                               www.topologos.unibe.ch
Main approaches in
               modelling techniques
                Flow modelling (Top down):
   Processes    Data Flow Diagrams, Workflows, Process modelling
                (UML AD)

                Data modelling (Bottom up):
                Database ERD,OO techniques: class diagrams

       ???      These techniques are totally separated, and the
                transparency of both processes and data cannot
                be guaranteed.


       Data
                     ESUG 2004 Köthen Germany
7.9.2004                                                          7
                       www.topologos.unibe.ch
A philosophical question:
                                What is a student?
      Person               Is Student a sub-class of Person?

                                                           Employee
                              Person
Employee
                                       John                     John

               Student
                            Should we instantiate          Student
                            One object Person?
                            An object Employee                  John
                              and an object Student?


                                ESUG 2004 Köthen Germany
7.9.2004                                                               8
                                  www.topologos.unibe.ch
A philosophical question:
                                What is a student?
      Person                 It is improper to say that a Student a
                                sub-class of Person.


Working                      “A student is a person who
                               entered the process of
               Studying        studying.”



                                ESUG 2004 Köthen Germany
7.9.2004                                                              9
                                  www.topologos.unibe.ch
The importance of processes
           for the objects
             Objects
                 are created by processes.
                 participate and circulate within processes.

             Attributes
                 are resulting of the processes.
                       Example: If a frog has blue eyes, this is because its eye
                         constitution had followed a process which leads to
                         have blue eyes: the “Blue eye process”, It is just
                         necessary then, to know what “color eye process” the
                         frog followed in order to know the color of its eyes.
                 are necessary only because the processes are not
                   known.

             Inheritances problems
                 occurs when an object participates to several
                    processes.
                 disappear when class diagrams and process views
                    (e.g. activity diagrams) are merged together.
                 ESUG 2004 Köthen Germany
7.9.2004                                                                       10
                   www.topologos.unibe.ch
Why we should merge objects
                      and processes?

                          A sub-class (or sub-set) is a group of
       Person             objects entering a process.


                                                                Student
                                                                Association

                              Pre-
 Employee                                              Registration
                              registration
 at the
 university     a person can be an employee at university and at the same time a
                student who enters the process of studying with several stages: pre-
                registration, registration, etc.
                                 ESUG 2004 Köthen Germany
7.9.2004                                                                               11
                                   www.topologos.unibe.ch
Why we should merge objects
                 and processes?
                    Attributes depend on the location of the
                    object within the process.
       Person

                Major                                   Minor
                subjects                                subjects

                                                       .registered
                                                        students
                       Pre-
                       registration            Registration


                           ESUG 2004 Köthen Germany
7.9.2004                                                             12
                             www.topologos.unibe.ch
Why we should merge objects
              and processes?
                  A pilot or responsible can be defined for
                  each process or activity.

                  With possible delegation of responsibility
                  John is responsible for the whole process of registration,
                    but the task of pre-registration is delegated to Betty.

                          Betty
           John


                    Pre-
                    registration             Registration

                       ESUG 2004 Köthen Germany
7.9.2004                                                                  13
                         www.topologos.unibe.ch
How to instantiate the objects?
                    An instantiation consists in the creation of an object
                    from a particular sub-set (or class).

      Person        From the participation at a (new) process results the
                    creation of a (new) star which is the duplication of the
                    identity of the object.
                                                   4
               1                                                Minor
                     Alice              History
           2
                                                                subjects

                                                  3
                                                          .registered
Employee                                                   students
at the                 Pre-
university             registration            Registration

                          ESUG 2004 Köthen Germany
7.9.2004                                                                     14
                            www.topologos.unibe.ch
Software : Topologos
           For process
           modeling




           And object
           modeling



                         ESUG 2004 Köthen Germany
7.9.2004                                            15
                           www.topologos.unibe.ch
Software Elements
                              NODE              Entity
                                                Class or Object
                              NODE              Activity
                                                Part of a process
                                                Process
                              NODE DOT          Entity enters a process
                                                with duplication of identity
                              NODE GATE         Gate of life
                                                Out coming of a process
                                                with lost of identity
                              STAR              Identity

                              STAR CIRCLE       Place
                                                Collection of objects
                                                Class
                              ARC               Specify the process flow
                              RELATION          Relationship between stars,
                                                Or between node and star.


           A DOT is a NODE without name. A GATE is a particular DOT.
           A CIRCLE is a STAR whose name begins with a . (point)
                      ESUG 2004 Köthen Germany
7.9.2004                                                                       16
                        www.topologos.unibe.ch
ESUG 2004 Köthen Germany
7.9.2004                              17
             www.topologos.unibe.ch
ESUG 2004 Köthen Germany
7.9.2004                              18
             www.topologos.unibe.ch
ESUG 2004 Köthen Germany
7.9.2004                              19
             www.topologos.unibe.ch
ESUG 2004 Köthen Germany
7.9.2004                              20
             www.topologos.unibe.ch
Squeak contribution
            Squeak is a perfect tool to precise and validate new concepts:
              Open source
              Free
              Allows fast prototyping and Xtreme programming
              Fully object oriented
              Powerful graphical user interface with ConnectorMorph

            Future work
               Formalize the semantic of the elements NODE, CIRCLE,
               STAR, DOT, GATE etc.
               Simplify user interface
               Develop a simple Web interface with Seaside for process
               definition and monitoring
               Monitor real processes and data through Web Services /
               SOAP
               Develop an interface with a main IS Java Web Server




                 ESUG 2004 Köthen Germany
7.9.2004                                                                     21
                   www.topologos.unibe.ch
Conclusions
            Objects and processes must be tightly coupled in
            one modelling tool in order to obtain
            transparency of data and processes.

            The questions of the identity and the instantiation
            of objects ‘What is a student?’ lead to a new
            definition which allows integration of processes
            and objects within ‘Object Flow Diagrams’.

            The software supports the definition and
            monitoring of processes and data (classes and
            objects).



                 ESUG 2004 Köthen Germany
7.9.2004                                                     22
                   www.topologos.unibe.ch
Next
                                   Please contact me if you have questions,
                                   or if you want a demonstration of the
                                   software

                                   Bring your support and contribution to
                                   this project :)

                                   For more information:
                                   chenais@id.unibe.ch
                                   http://www.topologos.unibe.ch
Patrick Chénais
2004_09_07_5_ESUG_Topologos.ppt
                                       ESUG 2004 Köthen Germany
7.9.2004                                                                    23
                                         www.topologos.unibe.ch

More Related Content

Similar to Topologos

Share.TEC presentation at EdReNe expert workshop, J. Earp
Share.TEC presentation at EdReNe expert workshop, J. EarpShare.TEC presentation at EdReNe expert workshop, J. Earp
Share.TEC presentation at EdReNe expert workshop, J. EarpShare.TEC
 
Share.TEC: Sharing Digital Resources in the Teacher Education Community
Share.TEC: Sharing Digital Resources in the Teacher Education CommunityShare.TEC: Sharing Digital Resources in the Teacher Education Community
Share.TEC: Sharing Digital Resources in the Teacher Education CommunityErik Axdorph
 
What is the potential for the use of social media and mobile devices in infor...
What is the potential for the use of social media and mobile devices in infor...What is the potential for the use of social media and mobile devices in infor...
What is the potential for the use of social media and mobile devices in infor...University of the West of England
 
Conole Salerno
Conole SalernoConole Salerno
Conole Salernograinne
 
Technology and the Grand Challenge for Future Learning
Technology and the Grand Challenge for Future LearningTechnology and the Grand Challenge for Future Learning
Technology and the Grand Challenge for Future Learning fridolin.wild
 
Maino & Goodfellow: Educator, Preceptor, Researcher, Author and ...Techno-Geek
Maino & Goodfellow: Educator, Preceptor,  Researcher, Author and ...Techno-GeekMaino & Goodfellow: Educator, Preceptor,  Researcher, Author and ...Techno-Geek
Maino & Goodfellow: Educator, Preceptor, Researcher, Author and ...Techno-GeekDominick Maino
 
Linq 2013 session_red_3_kaloudi_kameas
Linq 2013 session_red_3_kaloudi_kameasLinq 2013 session_red_3_kaloudi_kameas
Linq 2013 session_red_3_kaloudi_kameasLINQ_Conference
 
Digital pathology and its importance as an omics data layer
Digital pathology and its importance as an omics data layerDigital pathology and its importance as an omics data layer
Digital pathology and its importance as an omics data layerYves Sucaet
 
Interpreting Data Mining Results with Linked Data for Learning Analytics
Interpreting Data Mining Results with Linked Data for Learning AnalyticsInterpreting Data Mining Results with Linked Data for Learning Analytics
Interpreting Data Mining Results with Linked Data for Learning AnalyticsMathieu d'Aquin
 
Conole Prie Conference
Conole Prie ConferenceConole Prie Conference
Conole Prie Conferencegrainne
 
Interaction system based on internet of things as support for education
Interaction system based on internet of things as support for educationInteraction system based on internet of things as support for education
Interaction system based on internet of things as support for educationJORGE GOMEZ
 
E-learning: emerging uses,empirical results and future directions.
E-learning: emerging uses,empirical results and future directions. E-learning: emerging uses,empirical results and future directions.
E-learning: emerging uses,empirical results and future directions. eraser Juan José Calderón
 
Global knowledge management_pawlowski_2012
Global knowledge management_pawlowski_2012Global knowledge management_pawlowski_2012
Global knowledge management_pawlowski_2012Jan Pawlowski
 
MOVING: Applying digital science methodology for TVET
MOVING: Applying digital science methodology for TVETMOVING: Applying digital science methodology for TVET
MOVING: Applying digital science methodology for TVETMOVING Project
 
Are we ready for OER?
Are we ready for OER?Are we ready for OER?
Are we ready for OER?Peter Hartley
 
Producing students without boundaries through degrees of edupunk
Producing students without boundaries through degrees of edupunkProducing students without boundaries through degrees of edupunk
Producing students without boundaries through degrees of edupunkPhil302
 
FInES, ENSEMBLE and A Scientific Perspective For Enterprise Interoperability
FInES, ENSEMBLE and A Scientific Perspective For Enterprise InteroperabilityFInES, ENSEMBLE and A Scientific Perspective For Enterprise Interoperability
FInES, ENSEMBLE and A Scientific Perspective For Enterprise InteroperabilityFenareti Lampathaki
 
RS3G update at general assembly EUNIS 2011
RS3G update at general assembly EUNIS 2011RS3G update at general assembly EUNIS 2011
RS3G update at general assembly EUNIS 2011Simone Ravaioli
 

Similar to Topologos (20)

Share.TEC presentation at EdReNe expert workshop, J. Earp
Share.TEC presentation at EdReNe expert workshop, J. EarpShare.TEC presentation at EdReNe expert workshop, J. Earp
Share.TEC presentation at EdReNe expert workshop, J. Earp
 
Share.TEC: Sharing Digital Resources in the Teacher Education Community
Share.TEC: Sharing Digital Resources in the Teacher Education CommunityShare.TEC: Sharing Digital Resources in the Teacher Education Community
Share.TEC: Sharing Digital Resources in the Teacher Education Community
 
Virtual labs
Virtual labsVirtual labs
Virtual labs
 
What is the potential for the use of social media and mobile devices in infor...
What is the potential for the use of social media and mobile devices in infor...What is the potential for the use of social media and mobile devices in infor...
What is the potential for the use of social media and mobile devices in infor...
 
Conole Salerno
Conole SalernoConole Salerno
Conole Salerno
 
Technology and the Grand Challenge for Future Learning
Technology and the Grand Challenge for Future LearningTechnology and the Grand Challenge for Future Learning
Technology and the Grand Challenge for Future Learning
 
Maino & Goodfellow: Educator, Preceptor, Researcher, Author and ...Techno-Geek
Maino & Goodfellow: Educator, Preceptor,  Researcher, Author and ...Techno-GeekMaino & Goodfellow: Educator, Preceptor,  Researcher, Author and ...Techno-Geek
Maino & Goodfellow: Educator, Preceptor, Researcher, Author and ...Techno-Geek
 
Linq 2013 session_red_3_kaloudi_kameas
Linq 2013 session_red_3_kaloudi_kameasLinq 2013 session_red_3_kaloudi_kameas
Linq 2013 session_red_3_kaloudi_kameas
 
Digital pathology and its importance as an omics data layer
Digital pathology and its importance as an omics data layerDigital pathology and its importance as an omics data layer
Digital pathology and its importance as an omics data layer
 
Interpreting Data Mining Results with Linked Data for Learning Analytics
Interpreting Data Mining Results with Linked Data for Learning AnalyticsInterpreting Data Mining Results with Linked Data for Learning Analytics
Interpreting Data Mining Results with Linked Data for Learning Analytics
 
Conole Prie Conference
Conole Prie ConferenceConole Prie Conference
Conole Prie Conference
 
Interaction system based on internet of things as support for education
Interaction system based on internet of things as support for educationInteraction system based on internet of things as support for education
Interaction system based on internet of things as support for education
 
E-learning: emerging uses,empirical results and future directions.
E-learning: emerging uses,empirical results and future directions. E-learning: emerging uses,empirical results and future directions.
E-learning: emerging uses,empirical results and future directions.
 
Adult learners online
Adult learners onlineAdult learners online
Adult learners online
 
Global knowledge management_pawlowski_2012
Global knowledge management_pawlowski_2012Global knowledge management_pawlowski_2012
Global knowledge management_pawlowski_2012
 
MOVING: Applying digital science methodology for TVET
MOVING: Applying digital science methodology for TVETMOVING: Applying digital science methodology for TVET
MOVING: Applying digital science methodology for TVET
 
Are we ready for OER?
Are we ready for OER?Are we ready for OER?
Are we ready for OER?
 
Producing students without boundaries through degrees of edupunk
Producing students without boundaries through degrees of edupunkProducing students without boundaries through degrees of edupunk
Producing students without boundaries through degrees of edupunk
 
FInES, ENSEMBLE and A Scientific Perspective For Enterprise Interoperability
FInES, ENSEMBLE and A Scientific Perspective For Enterprise InteroperabilityFInES, ENSEMBLE and A Scientific Perspective For Enterprise Interoperability
FInES, ENSEMBLE and A Scientific Perspective For Enterprise Interoperability
 
RS3G update at general assembly EUNIS 2011
RS3G update at general assembly EUNIS 2011RS3G update at general assembly EUNIS 2011
RS3G update at general assembly EUNIS 2011
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Topologos

  • 1. TOPOLOGOSPatrick Chénais IT Services (Informatikdienste) University of Berne CH Team: Patrick Chénais, ID - Squeak Daria Spescha, ID - Squeak Barbara Spillmann, ID - Java, Web Services David Gurtner, ID – Java, Web Services Squeak technical assistance: Stéphane Ducasse, IAM Alexandre Bergel, IAM ESUG 2004 Köthen Germany 7.9.2004 1 www.topologos.unibe.ch
  • 2. Objectives Presentation of Topologos, software written in Squeak and developed this year. Allows the modelling of processes and objects together. Merging object modelling and process modelling solves many problems of inheritance of attributes. ESUG 2004 Köthen Germany 7.9.2004 2 www.topologos.unibe.ch
  • 3. Plan of the presentation Issue of transparency of data and processes Problem of the separation between data modelling and flow modelling Solution of merging processes and objects Squeak and Topologos software Conclusion ESUG 2004 Köthen Germany 7.9.2004 3 www.topologos.unibe.ch
  • 4. Transparency of Data and Processes In large companies or administration nobody knows any longer exactly what the processes and the available data are. Our objective at the university of Berne is the definition and monitoring, of processes and data, for the whole administrative systems. ESUG 2004 Köthen Germany 7.9.2004 4 www.topologos.unibe.ch
  • 5. Transparency of Data and Processes Subject In large companies or administration nobody knows History any longer exactly what the processes and the available data are. Data modelling: Student: What are the Entities and their relationship (Class , ERD)? Alice Who are the students following a particular course? Could I get a list of students attempting to the course in history (at Bachelor level? Missing link? Process and workflow modelling: What are the procedures? Who is responsible for an activity? When Level: should an activity starts, and stops? What are the data required? What are the data available or missing? What applications should we Bachelor develop? Course: What is the procedure to register a student? Who is responsible for? Geography What is the procedure to generate or close an Email account? What are the prerequisite for a student to attempt an exam? ESUG 2004 Köthen Germany 7.9.2004 5 www.topologos.unibe.ch
  • 6. Transparency of Data Select Major subject and Processes In large companies or administration nobody knows any longer exactly what the processes and the available data are. WEB based Pre-registration Data modelling: What are the Entities and their relationship (Class , ERD)? Who are the students following a particular course? Fee payment Could I get a list of students attempting to the course in history (at Bachelor level? Process and workflow modelling: Registration What are the procedures? Who is responsible for an activity? When should an activity starts, and stops? What are the data required? What are the data available or missing? What applications should we develop? Select Minor What is the procedure to register a student? Who is responsible for? subjects What is the procedure to generate or close an Email account? What are the prerequisite for a student to attempt an exam? ESUG 2004 Köthen Germany 7.9.2004 6 www.topologos.unibe.ch
  • 7. Main approaches in modelling techniques Flow modelling (Top down): Processes Data Flow Diagrams, Workflows, Process modelling (UML AD) Data modelling (Bottom up): Database ERD,OO techniques: class diagrams ??? These techniques are totally separated, and the transparency of both processes and data cannot be guaranteed. Data ESUG 2004 Köthen Germany 7.9.2004 7 www.topologos.unibe.ch
  • 8. A philosophical question: What is a student? Person Is Student a sub-class of Person? Employee Person Employee John John Student Should we instantiate Student One object Person? An object Employee John and an object Student? ESUG 2004 Köthen Germany 7.9.2004 8 www.topologos.unibe.ch
  • 9. A philosophical question: What is a student? Person It is improper to say that a Student a sub-class of Person. Working “A student is a person who entered the process of Studying studying.” ESUG 2004 Köthen Germany 7.9.2004 9 www.topologos.unibe.ch
  • 10. The importance of processes for the objects Objects are created by processes. participate and circulate within processes. Attributes are resulting of the processes. Example: If a frog has blue eyes, this is because its eye constitution had followed a process which leads to have blue eyes: the “Blue eye process”, It is just necessary then, to know what “color eye process” the frog followed in order to know the color of its eyes. are necessary only because the processes are not known. Inheritances problems occurs when an object participates to several processes. disappear when class diagrams and process views (e.g. activity diagrams) are merged together. ESUG 2004 Köthen Germany 7.9.2004 10 www.topologos.unibe.ch
  • 11. Why we should merge objects and processes? A sub-class (or sub-set) is a group of Person objects entering a process. Student Association Pre- Employee Registration registration at the university a person can be an employee at university and at the same time a student who enters the process of studying with several stages: pre- registration, registration, etc. ESUG 2004 Köthen Germany 7.9.2004 11 www.topologos.unibe.ch
  • 12. Why we should merge objects and processes? Attributes depend on the location of the object within the process. Person Major Minor subjects subjects .registered students Pre- registration Registration ESUG 2004 Köthen Germany 7.9.2004 12 www.topologos.unibe.ch
  • 13. Why we should merge objects and processes? A pilot or responsible can be defined for each process or activity. With possible delegation of responsibility John is responsible for the whole process of registration, but the task of pre-registration is delegated to Betty. Betty John Pre- registration Registration ESUG 2004 Köthen Germany 7.9.2004 13 www.topologos.unibe.ch
  • 14. How to instantiate the objects? An instantiation consists in the creation of an object from a particular sub-set (or class). Person From the participation at a (new) process results the creation of a (new) star which is the duplication of the identity of the object. 4 1 Minor Alice History 2 subjects 3 .registered Employee students at the Pre- university registration Registration ESUG 2004 Köthen Germany 7.9.2004 14 www.topologos.unibe.ch
  • 15. Software : Topologos For process modeling And object modeling ESUG 2004 Köthen Germany 7.9.2004 15 www.topologos.unibe.ch
  • 16. Software Elements NODE Entity Class or Object NODE Activity Part of a process Process NODE DOT Entity enters a process with duplication of identity NODE GATE Gate of life Out coming of a process with lost of identity STAR Identity STAR CIRCLE Place Collection of objects Class ARC Specify the process flow RELATION Relationship between stars, Or between node and star. A DOT is a NODE without name. A GATE is a particular DOT. A CIRCLE is a STAR whose name begins with a . (point) ESUG 2004 Köthen Germany 7.9.2004 16 www.topologos.unibe.ch
  • 17. ESUG 2004 Köthen Germany 7.9.2004 17 www.topologos.unibe.ch
  • 18. ESUG 2004 Köthen Germany 7.9.2004 18 www.topologos.unibe.ch
  • 19. ESUG 2004 Köthen Germany 7.9.2004 19 www.topologos.unibe.ch
  • 20. ESUG 2004 Köthen Germany 7.9.2004 20 www.topologos.unibe.ch
  • 21. Squeak contribution Squeak is a perfect tool to precise and validate new concepts: Open source Free Allows fast prototyping and Xtreme programming Fully object oriented Powerful graphical user interface with ConnectorMorph Future work Formalize the semantic of the elements NODE, CIRCLE, STAR, DOT, GATE etc. Simplify user interface Develop a simple Web interface with Seaside for process definition and monitoring Monitor real processes and data through Web Services / SOAP Develop an interface with a main IS Java Web Server ESUG 2004 Köthen Germany 7.9.2004 21 www.topologos.unibe.ch
  • 22. Conclusions Objects and processes must be tightly coupled in one modelling tool in order to obtain transparency of data and processes. The questions of the identity and the instantiation of objects ‘What is a student?’ lead to a new definition which allows integration of processes and objects within ‘Object Flow Diagrams’. The software supports the definition and monitoring of processes and data (classes and objects). ESUG 2004 Köthen Germany 7.9.2004 22 www.topologos.unibe.ch
  • 23. Next Please contact me if you have questions, or if you want a demonstration of the software Bring your support and contribution to this project :) For more information: chenais@id.unibe.ch http://www.topologos.unibe.ch Patrick Chénais 2004_09_07_5_ESUG_Topologos.ppt ESUG 2004 Köthen Germany 7.9.2004 23 www.topologos.unibe.ch