SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
The Power of Abstraction

       Barbara Liskov
       November 2009
Outline
 Inventing abstract data types
 CLU
 Type hierarchy
 What next
Data Abstraction Prehistory
 The Venus machine
The Interdata 3
Data Abstraction Prehistory
 The Venus machine
 The Venus operating system
Data Abstraction Prehistory
 The Venus machine
 The Venus operating system
 Programming methodology
Programming Methodology
 How should programs be designed?
 How should programs be structured?
The Landscape
 E. W. Dijkstra. Go To Statement
 Considered Harmful. Cacm, Mar. 1968
The Landscape
 N. Wirth. Program Development by
 Stepwise Refinement. Cacm, April 1971
The Landscape
 D. L. Parnas. Information Distribution
 Aspects of Design Methodology. IFIP
 Congress, 1971

 “The connections between modules are
 the assumptions which the modules
 make about each other.”
Partitions
 B. Liskov. A Design Methodology for
 Reliable Software Systems. FJCC, Dec.
 1972
Partitions

             op1 op2 op3




             Partition state
From Partitions to ADTs
 How can these ideas be applied to
 building programs?
Idea
 Connect partitions to data types
Meeting in Savanah
 ACM Sigplan-Sigops interface meeting.
 April 1973. (Sigplan Notices, Sept.
 1973)
 Started to work with Steve Zilles
The Landscape
 Extensible Languages
   S. Schuman and P. Jourrand. Definition
   Mechanisms in Extensible Programming
   Languages. AFIPS. 1967
   R. Balzer. Dataless Programming. FJCC
   1967
The Landscape
 O-J. Dahl and C.A.R. Hoare. Hierarchical
 Program Structures. Structured
 Programming, Academic Press, 1972
The Landscape
 J. H. Morris. Protection in Programming
 Languages. Cacm. Jan. 1973
The Landscape
 W. Wulf and M. Shaw. Global Variable
 Considered Harmful. Sigplan Notices.
 Feb. 1973.
Abstract Data Types
 B. Liskov and S. Zilles. Programming
 with Abstract Data Types. ACM Sigplan
 Conference on Very High Level
 Languages. April 1974
What that paper proposed
 Abstract data types
   A set of operations
   And a set of objects
   The operations provide the only way to use
   the objects
What that paper proposed
 Abstract data types
   Clusters with encapsulation
 Polymorphism
 Static type checking (we hoped)
 Exception handling
From ADTs to CLU
 Participants
   Russ Atkinson
   Craig Schaffert
   Alan Snyder
Why a Programming
Language?
 Communicating to programmers
 Do ADTs work in practice?
 Getting a precise definition
 Achieving reasonable performance
Language Design
 Goals
   Expressive power, simplicity, performance,
   ease of use

   Minimality
   Uniformity
   Safety
Language Design
 Restrictions
   No concurrency
   No go tos
   No inheritance
Some Assumptions/Decisions
 Heap-based with garbage collection!
 No block structure!
 Separate compilation
 Static type checking
CLU Mechanisms
 Clusters
 Polymorphism
 Exception handling
 Iterators
Clusters
IntSet = cluster is create, insert, delete, isIn, …

end IntSet
Clusters
IntSet = cluster is create, insert, delete, …
end IntSet


IntSet s := IntSet$create( )
IntSet$insert(s, 3)
Clusters
  IntSet = cluster is create, insert, delete, …

     rep = array[int]
Clusters
  IntSet = cluster is create, insert, delete, …

     rep = array[int]

     create = proc ( ) returns (cvt)
        return (rep$create( ))
        end create
Polymorphism
 Set = cluster[T: type] is create, insert, …
 end Set



 Set[int] s := Set[int]$create( )
 Set[int]$insert(s, 3)
Polymorphism
Set = cluster[T: type] is create, insert, …
  where T has equal: proctype(T, T)
     returns (bool)
Polymorphism
Set = cluster[T: type] is create, insert, …
  where T has equal: proctype(T, T)
     returns (bool)

   rep = array[T]

   insert = proc (x: cvt, e: T)
      … if e = x[i] then …
Exception Handling
 J. Goodenough. Exception Handling:
 Issues and a Proposed Notation. Cacm,
 Dec. 1975
   Termination vs. resumption
   How to specify handlers
Exception Handling
choose = proc (x: cvt) returns (T)
  signals (empty)
    if rep$size() = 0 then signal empty
    …
Exception Handling
choose = proc (x: cvt) returns (T)
 signals (empty)
   if rep$size() = 0 then signal empty
   …

set[T]$ choose(s)
   except when empty: …
Exception Handling
 Handling
 Propagating
 Shouldn’t happen
   The failure exception
 Principles
   Accurate interfaces
   Avoid useless code
Iterators
 For all x in C do S
Iterators
 For all x in C do S
   Destroy the collection?
   Complicate the abstraction?
Visit to CMU
 Bill Wulf and Mary Shaw, Alphard
 Generators
Iterators
sum: int := 0
for e: int in Set[int]$members(s) do
  sum := sum + e
  end
Iterators
Set = cluster[T] is create, …, members, …

    rep = array[T]

    members = iter (x: cvt) yields (T)
     for z: T in rep$elements(x) do
       yield (z) end
After CLU
 Argus and distributed computing
 Type Hierarchy
The Landscape
 Inheritance was used for:
   Implementation
   Type hierarchy
Implementation Inheritance
 Violated encapsulation!
Type hierarchy
 Wasn’t well understood
 E.g., stacks vs. queues
The Liskov Substitution
Principle (LSP)
 Objects of subtypes should behave like
 those of supertypes if used via
 supertype methods

 B. Liskov. Data abstraction and
 hierarchy. Sigplan notices, May 1988
Polymorphism
 where T has …    vs.
 where T subtype of S

 Proofs happen at different times!
What Next?
 Modularity based on abstraction is the
 way things are done
Challenges
 New abstraction mechanisms?
 Massively Parallel Computers
 Internet Computer
   Storage and computation
   Semantics, reliability, availability, security
The Power of Abstraction

        Barbara Liskov
        October 2009

Mais conteúdo relacionado

Destaque

Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012
melogranoverde
 
Kurani drejt shkences
Kurani drejt shkencesKurani drejt shkences
Kurani drejt shkences
Durim Bajrami
 
The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015
Shahida Akhter
 
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
Richard Harbridge
 
Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)
Children & Women in Social Service and Human Rights
 

Destaque (20)

Facebook rinkodara Lietuvos elektroniniams verslams
Facebook rinkodara Lietuvos elektroniniams verslamsFacebook rinkodara Lietuvos elektroniniams verslams
Facebook rinkodara Lietuvos elektroniniams verslams
 
Presentación de Servicios Prevengest
Presentación de Servicios PrevengestPresentación de Servicios Prevengest
Presentación de Servicios Prevengest
 
Shepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting FlyerShepherd Elementary School Community Meeting Flyer
Shepherd Elementary School Community Meeting Flyer
 
Маркетинг 2015 - основни правила за малкия и среден бизнес
Маркетинг 2015 - основни правила за малкия и среден бизнесМаркетинг 2015 - основни правила за малкия и среден бизнес
Маркетинг 2015 - основни правила за малкия и среден бизнес
 
Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012Sul sentiero dell’emozioni lezioned el 4 aprile 2012
Sul sentiero dell’emozioni lezioned el 4 aprile 2012
 
Kurani drejt shkences
Kurani drejt shkencesKurani drejt shkences
Kurani drejt shkences
 
Suzuki adferdin god_uppskrift
Suzuki adferdin  god_uppskriftSuzuki adferdin  god_uppskrift
Suzuki adferdin god_uppskrift
 
Group 2 - Pitch
Group 2 - PitchGroup 2 - Pitch
Group 2 - Pitch
 
Ta mnimeiaeinaigiromas167
Ta mnimeiaeinaigiromas167Ta mnimeiaeinaigiromas167
Ta mnimeiaeinaigiromas167
 
The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015The Monthly Lekhapara, July 2015
The Monthly Lekhapara, July 2015
 
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?SharePoint Fest Denver - Is Your SharePoint Really Healthy?
SharePoint Fest Denver - Is Your SharePoint Really Healthy?
 
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 TutorialPrivacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
 
Roma solo fotos
Roma solo fotosRoma solo fotos
Roma solo fotos
 
Open il vol4
Open il vol4Open il vol4
Open il vol4
 
Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...
Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...
Gianni Marconato - Costruire conoscenza professionale in rete attraverso la n...
 
driver
driverdriver
driver
 
LR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITA
LR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITALR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITA
LR KONKURENCIJOS TARYBOS (KT) 2015 m. VEIKLOS ATASKAITA
 
AOA - Annual OMEL Conference Encourages Osteopathic Discourse
AOA - Annual OMEL Conference Encourages Osteopathic Discourse AOA - Annual OMEL Conference Encourages Osteopathic Discourse
AOA - Annual OMEL Conference Encourages Osteopathic Discourse
 
Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)Parenting education for better care of children (Pictorial Guidebook)
Parenting education for better care of children (Pictorial Guidebook)
 
Boletín XVII abril 2016
Boletín XVII abril 2016Boletín XVII abril 2016
Boletín XVII abril 2016
 

Semelhante a The power of abstraction

Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...
ArchiLab 7
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
butest
 
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Roberto Casadei
 
Roberto Trasarti PhD Thesis
Roberto Trasarti PhD ThesisRoberto Trasarti PhD Thesis
Roberto Trasarti PhD Thesis
Roberto Trasarti
 

Semelhante a The power of abstraction (20)

Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...
 
From Signal to Symbols
From Signal to SymbolsFrom Signal to Symbols
From Signal to Symbols
 
A Simple Introduction to Neural Information Retrieval
A Simple Introduction to Neural Information RetrievalA Simple Introduction to Neural Information Retrieval
A Simple Introduction to Neural Information Retrieval
 
Person re-identification, PhD Day 2011
Person re-identification, PhD Day 2011Person re-identification, PhD Day 2011
Person re-identification, PhD Day 2011
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Fusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with ViewsFusing Transformations of Strict Scala Collections with Views
Fusing Transformations of Strict Scala Collections with Views
 
Aggregation computation over distributed data streams(the final version)
Aggregation computation over distributed data streams(the final version)Aggregation computation over distributed data streams(the final version)
Aggregation computation over distributed data streams(the final version)
 
Scala and Deep Learning
Scala and Deep LearningScala and Deep Learning
Scala and Deep Learning
 
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
 
Deep Learning in your Browser: powered by WebGL
Deep Learning in your Browser: powered by WebGLDeep Learning in your Browser: powered by WebGL
Deep Learning in your Browser: powered by WebGL
 
Deep Learning, Keras, and TensorFlow
Deep Learning, Keras, and TensorFlowDeep Learning, Keras, and TensorFlow
Deep Learning, Keras, and TensorFlow
 
Roberto Trasarti PhD Thesis
Roberto Trasarti PhD ThesisRoberto Trasarti PhD Thesis
Roberto Trasarti PhD Thesis
 
Deep image generating models
Deep image generating modelsDeep image generating models
Deep image generating models
 
Asymptotic Notation and Data Structures
Asymptotic Notation and Data StructuresAsymptotic Notation and Data Structures
Asymptotic Notation and Data Structures
 
Citython presentation
Citython presentationCitython presentation
Citython presentation
 
Multi-Armed Bandits:
 Intro, examples and tricks
Multi-Armed Bandits:
 Intro, examples and tricksMulti-Armed Bandits:
 Intro, examples and tricks
Multi-Armed Bandits:
 Intro, examples and tricks
 
R-programming-training-in-mumbai
R-programming-training-in-mumbaiR-programming-training-in-mumbai
R-programming-training-in-mumbai
 
Java and Deep Learning
Java and Deep LearningJava and Deep Learning
Java and Deep Learning
 
19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm Complexity19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm Complexity
 
Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...Pattern learning and recognition on statistical manifolds: An information-geo...
Pattern learning and recognition on statistical manifolds: An information-geo...
 

Mais de ACMBangalore

Mais de ACMBangalore (17)

Securing Wireless Cellular Systems
Securing Wireless Cellular SystemsSecuring Wireless Cellular Systems
Securing Wireless Cellular Systems
 
Overview of FreeBSD PMC Tools
Overview of FreeBSD PMC ToolsOverview of FreeBSD PMC Tools
Overview of FreeBSD PMC Tools
 
Lesson from Building a Search Engine using the cloud
Lesson from Building a Search Engine using the cloudLesson from Building a Search Engine using the cloud
Lesson from Building a Search Engine using the cloud
 
Automated Design of Digital Microfluids Lab-on-Chip
Automated Design of Digital Microfluids Lab-on-ChipAutomated Design of Digital Microfluids Lab-on-Chip
Automated Design of Digital Microfluids Lab-on-Chip
 
Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...
 
Opening Remarks - Cloud Symposium
Opening Remarks - Cloud SymposiumOpening Remarks - Cloud Symposium
Opening Remarks - Cloud Symposium
 
Clouds in emerging markets
Clouds in emerging marketsClouds in emerging markets
Clouds in emerging markets
 
Opportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputingOpportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputing
 
Perspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - GooglePerspectives on Cloud COmputing - Google
Perspectives on Cloud COmputing - Google
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud Business
 
Web Business Platforms on the Cloud
Web Business Platforms on the CloudWeb Business Platforms on the Cloud
Web Business Platforms on the Cloud
 
Badrinath Ramamurthy Cloud Infrastructure
Badrinath Ramamurthy   Cloud InfrastructureBadrinath Ramamurthy   Cloud Infrastructure
Badrinath Ramamurthy Cloud Infrastructure
 
market oriented cloud
market oriented cloudmarket oriented cloud
market oriented cloud
 
Case study - SaaS Abs Experience Jan07 09
Case study - SaaS Abs Experience Jan07 09Case study - SaaS Abs Experience Jan07 09
Case study - SaaS Abs Experience Jan07 09
 
cloud - internet rengineering
cloud - internet rengineeringcloud - internet rengineering
cloud - internet rengineering
 
virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009
 
ACM Bangalore Distinguished Speaker Program
ACM Bangalore Distinguished Speaker ProgramACM Bangalore Distinguished Speaker Program
ACM Bangalore Distinguished Speaker Program
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
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...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

The power of abstraction