SlideShare ist ein Scribd-Unternehmen logo
1 von 48
High-Confidence
Ubiquitous Computing Systems
           David S. Rosenblum
          School of Computing
     National University of Singapore
Some Facts
          Google Android Market


• The average price of the top 50 paid
  applications is US$3.79   [modymi.com]

• 79.3% of paid applications have been
  downloaded less than 100 times     [Distimo]

• Only 0.1% of paid applications have been
  downloaded 50,000 times or more          [Distimo]
Some Facts
             Google Android Market


   • The average price of the top 50 paid
     applications is US$3.79   [modymi.com]

   • 79.3% of paid applications have been
     downloaded less than 100 times     [Distimo]

   • Only 0.1% of paid applications have been
     downloaded 50,000 times or more          [Distimo]


There are many simplistic, low-quality apps!
CAAAs
Context-Aware Adaptive Applications
CAAAs
Context-Aware Adaptive Applications
CAAAs
Context-Aware Adaptive Applications
CAAAs
Context-Aware Adaptive Applications
CAAAs
Context-Aware Adaptive Applications
Adaptation in CAAAs

       Application




       Environment
Adaptation in CAAAs

                   Application




Physical Context   Environment
Adaptation in CAAAs

                    Application


                   Adaptation



                                Middleware
                    Manager


                    Context
                    Manager

Physical Context   Environment
Adaptation in CAAAs

                    Application


                   Adaptation



                                Middleware
                    Manager


                    Context
Sensed Context      Manager

Physical Context   Environment
Adaptation in CAAAs

                    Application


                   Adaptation



                                Middleware
Inferred Context    Manager


                    Context
Sensed Context      Manager

Physical Context   Environment
Adaptation in CAAAs

Presumed Context     Application


                    Adaptation



                                 Middleware
 Inferred Context    Manager


                     Context
  Sensed Context     Manager

 Physical Context   Environment
Adaptation in CAAAs

Presumed Context     Application


                    Adaptation



                                 Middleware
 Inferred Context    Manager


                     Context                  3rd-Party
  Sensed Context     Manager                  Libraries

 Physical Context   Environment
Adaptation in CAAAs

Presumed Context     Application


                    Adaptation                  Rule


                                 Middleware
 Inferred Context    Manager                   Engine


                     Context                  3rd-Party
  Sensed Context     Manager                  Libraries

 Physical Context   Environment
Validation of CAAAs

        Application


       Adaptation                 Rule


                    Middleware
        Manager                  Engine


        Context
        Manager

       Environment
Validation of CAAAs
  Rules are strongly
   interdependent        Application

 and have multiple
     priorities         Adaptation                 Rule


                                     Middleware
                         Manager                  Engine

  making reasoning
                         Context
 difficult even for a     Manager
small number of rules
                        Environment
Validation of CAAAs

        Application


       Adaptation



                    Middleware
        Manager


        Context                  3rd-Party
        Manager                  Libraries

       Environment
Validation of CAAAs
Context is sensed
  periodically       Application


  from multiple     Adaptation



                                 Middleware
                     Manager
     sources

                     Context                  3rd-Party
at varying rates     Manager                  Libraries

                    Environment
Approach
1. Derive Adaptation Finite-State Machine (A-
   FSM) from rule logic
2. Explore state space of A-FSM to discover
   potential faults
  ✓ Enumerative algorithms
  ✓ Symbolic algorithms
  ✓ Planner-based counterexample generation
3. (Confirm existence of discovered faults)
PhoneAdapter
PhoneAdapter
      silent, vibrate
                                       loud,
       normal,                       divert to
       vibrate                      hands-free




    silent, divert to voicemail   loud, vibrate
PhoneAdapter
      silent, vibrate
                                       loud,
       normal,                       divert to
       vibrate                      hands-free




    silent, divert to voicemail   loud, vibrate
PhoneAdapter A-FSM
 Jogging    Sync     Meeting




 Outdoor   General   Office




                     Driving
  Home     Driving
                      Fast
PhoneAdapter A-FSM
                     ActivateMeeting             DeactivateMeeting

 Jogging    Sync                       Meeting




 Outdoor   General                     Office




                                       Driving
  Home     Driving
                                        Fast
Example Faults in
 PhoneAdapter

       General   Office




Home
Example Faults in
          PhoneAdapter

                         General          Office




         Home




User’s phone discovers office PC at home (or vice versa)
Example Faults in
 PhoneAdapter

            General      Office




Home




       Nondeterminism!
Example Faults in
 PhoneAdapter

       General
Example Faults in
  PhoneAdapter

Outdoor        General




          User leaves home
Example Faults in
             PhoneAdapter

           Outdoor          General




                             Driving




User starts driving before Bluetooth detects hands-free system
Example Faults in
  PhoneAdapter
Jogging




Outdoor         General




                 Driving




          Activation hazard!
Example Faults in
  PhoneAdapter
Jogging




Outdoor         General




                 Driving




          Activation hazard!
Faults in CAAAs
• Behavioral Faults
    Nondeterminism    Unreachable state
    Dead rule         Activation race
    Dead state        Activation cycle
Faults in CAAAs
• Behavioral Faults
    Nondeterminism      Unreachable state
    Dead rule           Activation race
    Dead state          Activation cycle

• Hazards
    Hold hazard         Priority inversion
    Activation hazard   hazard
Why Not Use
       Model Checkers?
-   Difficult to encode fault patterns as
    temporal logic formulae
    ✴ Bisimilar models may fail differently

-   Difficult to encode rule logic as models in
    common model checkers
    ✴ Predicates and actions label the transitions

-   Difficult to interpret counterexamples as
    faults in adaptation behavior
Algorithms
               Basic Operation
    Jogging          Sync           Meeting




   Outdoor          General         Office




                                    Driving
    Home            Driving
                                     Fast



For each state
  Analyze rules & inputs, and search along
  transitions for instances of fault patterns
Algorithms
               Basic Operation
    Jogging          Sync           Meeting




   Outdoor          General         Office




                                    Driving
    Home            Driving
                                     Fast



For each state
  Analyze rules & inputs, and search along
  transitions for instances of fault patterns
Algorithms
               Basic Operation
    Jogging          Sync           Meeting




   Outdoor          General         Office




                                    Driving
    Home            Driving
                                     Fast



For each state
  Analyze rules & inputs, and search along
  transitions for instances of fault patterns
Algorithms
               Basic Operation
    Jogging          Sync           Meeting




   Outdoor          General         Office




                                    Driving
    Home            Driving
                                     Fast



For each state
  Analyze rules & inputs, and search along
  transitions for instances of fault patterns
PhoneAdapter Results          TABLE 2

           BehavioralConfigurations Reported for PhoneAdapter
            Faulty Input Faults: Enumerative, Symbolic


   State        Nondeterministic       Dead        Adaptation       Unreachable
                  Adaptations        Predicates   Races   Cycles      States
General                         37            1      45      13                0
Outdoor                         3             0     135      23                0
Jogging                         0             0      97      19                0
Driving                         0             0      36      13                0
DrivingFast                     0             0      58      19                0
Home                            0             0      76      19                0
Office                           0             0      29         1              0
Meeting                         0             0      32         1              0
Sync                            0             0      27         5              1
PhoneAdapter Results
                       Hazards: Enumerative
n PhoneAdapter                                     Table 2: Faults
aptation Races and Cycles
                 State      Vars. Context Hazards
                                   Nondet. Adaptation       Dead Pred
signments   Race    Cycle   Paths Assignments
                                   Hold   Activ. Faults
                                                   Prior. Assignments
     3968     General 13
              45            14085
                               7      0    12811    3182
                                                    37            128
     3968    135
              Outdoor 23      161
                               5      0     32 0      352          17
     3072     Jogging 19
              97               22     0      4 0      00            1
     2560     Driving 13
              36               316    2      8 2      04            7
     3072     DrivingFast
              58       19      22     0      4 0      00            2
     2816     Home
              76       19     104
                               4      8     16 0      013           9
     2848     O ce
              29        1   82634
                               7   1828    128
                                             368    2164
                                                      1            65
     2048     Meeting 1
              32               10     0      2 0      00            2
     1024     Sync
              27        5      22     2      4 0      00            1



 ned a formal model of a key Contextbehavioral char-
           6.4 Detecting complex Hazards
eristic, namely adaptation, of an increasingly sequences of asynchr
             This class of faults corresponds to large and
Conclusion
                 Comparison of Approaches

 Enumerative       Symbolic         Hybrid          Planner

  Local Search    Local Search    Local Search   Global Search

  Less Precise    Less Precise    Less Precise   More Precise
    Concrete        Symbolic        Symbolic        Concrete
Counterexamples Counterexamples Counterexamples Counterexamples
Handles Smaller   Handles Big    Handles Bigger    Sequential
  State Spaces    State Spaces    State Spaces       Search
      Fast           Faster         Fastest         Slowest
Future Work
                   Verification



• Continue the work on hazards and
   planners
•  Quantitative reasoning about faults
  • Battery level, movement timings, etc.
• Online analysis of rules and faults
Future Work
                  Design


• Alternatives to rule-based adaptation!
 • Machine learning approaches to context
    classification and adaptation selection
Future Work
                  Design


• Alternatives to rule-based adaptation!
 • Machine learning approaches to context
    classification and adaptation selection


• Felicitous Computing Institute
Thank You!
REFERENCES

Z. Wang, S. Elbaum and D.S. Rosenblum, Automated Generation of Context-Aware Tests, Proc. 2007 Int’l Conf. on
    Software Engineering (ICSE 2007), Minneapolis, MN, USA, May 2007, pp. 406–415.

M. Sama, D.S. Rosenblum, Z. Wang and S. Elbaum, Multi-Layer Faults in the Architectures of Mobile, Context-Aware Adaptive
    Applications: A Position Paper, Short Paper, Proc. ICSE 2008 Workshop on Software Architectures
    and Mobility (SAM 2008), Leipzig, Germany, May 2008, pp. 47–49.

M. Sama, F. Raimondi, D. Rosenblum and W. Emmerich, Algorithms for Efficient Symbolic Detection of Faults in Context-
    Aware Applications, Proc. 1st Int’l Workshop on Automated Engineering of Autonomous and
    Run-Time Evolving Systems (ARAMIS 2008), L’Aquila, Italy, Sep. 2008, pp. 1–8.

M. Sama, D.S. Rosenblum, Z. Wang and S. Elbaum, Model-Based Fault Detection in Context-Aware Adaptive Applications,
    Proc. 16th ACM SIGSOFT Int’l Symposium on the Foundations of Software Engineering
    (FSE 2008), Atlanta, GA, USA, Nov. 2008, pp. 261–271.

J. Cubo, F. Raimondi, M. Sama and D. Rosenblum, A Model to Design and Verify Context-Aware Adaptive Service
    Composition, Proc. IEEE Int’l Conf. on Services Computing (SCC 2009), Bangalore, India, Sep. 2009,
    pp. 184–191.

M. Sama, D.S. Rosenblum, Z. Wang and S. Elbaum, Multi-Layer Faults in the Architectures of Mobile, Context-Aware Adaptive
    Applications, Journal of Systems and Software, invited paper for Special Issue on Software Architecture
    and Mobility,Vol. 83, Issue 6, Jun. 2010, pp. 906–914.

M. Sama, S. Elbaum, F. Raimondi and D.S. Rosenblum, Context-Aware Adaptive Applications: Fault Patterns and Their
    Automated Identification, IEEE Transactions on Software Engineering, invited paper for Special Issue on
    the Best Papers of FSE 2008,Vol. 36, No. 5, Sep./Oct. 2010, pp. 644–661.

Weitere ähnliche Inhalte

Andere mochten auch

Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)David Rosenblum
 
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...David Rosenblum
 
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)David Rosenblum
 
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)David Rosenblum
 
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...David Rosenblum
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...David Rosenblum
 
Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)David Rosenblum
 
Horizontal
HorizontalHorizontal
HorizontalKwanMoon
 
Ok do you know your classmate6eb
Ok do you know your classmate6ebOk do you know your classmate6eb
Ok do you know your classmate6ebcspigros
 
Ok do you know your classmate 6e a ppt
Ok do you know your classmate 6e a pptOk do you know your classmate 6e a ppt
Ok do you know your classmate 6e a pptcspigros
 
Erin Jaros/ The Daughters
Erin Jaros/ The DaughtersErin Jaros/ The Daughters
Erin Jaros/ The DaughtersRochesspp
 
Lauren Platou The Hunger Games
Lauren Platou The Hunger Games Lauren Platou The Hunger Games
Lauren Platou The Hunger Games Rochesspp
 
Jack lapean the genius files never say genius
Jack lapean the genius files never say geniusJack lapean the genius files never say genius
Jack lapean the genius files never say geniusRochesspp
 
Quick Type
Quick TypeQuick Type
Quick TypeKwanMoon
 

Andere mochten auch (20)

Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
 
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
 
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
 
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
 
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
 
Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)
 
Horizontal
HorizontalHorizontal
Horizontal
 
Ok do you know your classmate6eb
Ok do you know your classmate6ebOk do you know your classmate6eb
Ok do you know your classmate6eb
 
Ok do you know your classmate 6e a ppt
Ok do you know your classmate 6e a pptOk do you know your classmate 6e a ppt
Ok do you know your classmate 6e a ppt
 
Presentation1
Presentation1Presentation1
Presentation1
 
Erin Jaros/ The Daughters
Erin Jaros/ The DaughtersErin Jaros/ The Daughters
Erin Jaros/ The Daughters
 
Lauren Platou The Hunger Games
Lauren Platou The Hunger Games Lauren Platou The Hunger Games
Lauren Platou The Hunger Games
 
Jack lapean the genius files never say genius
Jack lapean the genius files never say geniusJack lapean the genius files never say genius
Jack lapean the genius files never say genius
 
Indices 11 mar 2014
Indices 11 mar 2014Indices 11 mar 2014
Indices 11 mar 2014
 
Quick Type
Quick TypeQuick Type
Quick Type
 
Viewpoint
ViewpointViewpoint
Viewpoint
 
SDN Introduction
SDN IntroductionSDN Introduction
SDN Introduction
 
Indices 18 apr2013065440
Indices 18 apr2013065440Indices 18 apr2013065440
Indices 18 apr2013065440
 

Ähnlich wie High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)

Amazon SageMaker for Fraud Detection
Amazon SageMaker for Fraud DetectionAmazon SageMaker for Fraud Detection
Amazon SageMaker for Fraud DetectionAmazon Web Services
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In CloudSatish Agrawal
 
Rational App Scan&Policy Tester
Rational App Scan&Policy TesterRational App Scan&Policy Tester
Rational App Scan&Policy TesterKristina O'Regan
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Rundeck
 
Dvorkin: Software Defined Datacenter Presentation #SDDC14
Dvorkin: Software Defined Datacenter Presentation #SDDC14Dvorkin: Software Defined Datacenter Presentation #SDDC14
Dvorkin: Software Defined Datacenter Presentation #SDDC14Mike Dvorkin
 
State Test 
of Applications and Domains
State Test 
of Applications and Domains State Test 
of Applications and Domains
State Test 
of Applications and Domains Ivo Nascimento
 
SNIA Emerald Introduction
SNIA Emerald IntroductionSNIA Emerald Introduction
SNIA Emerald Introductiondlarusso15
 
AWS Summit Singapore - Advanced AWS Patterns for the Enterprise
AWS Summit Singapore - Advanced AWS Patterns for the EnterpriseAWS Summit Singapore - Advanced AWS Patterns for the Enterprise
AWS Summit Singapore - Advanced AWS Patterns for the EnterpriseAmazon Web Services
 
Architecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control ApplicationsArchitecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control ApplicationsDamien Cassou
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementationBharathi Krishnamurthi
 
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From HappeningStart Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From HappeningAmazon Web Services
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Rundeck
 
Operations: Production Readiness
Operations: Production ReadinessOperations: Production Readiness
Operations: Production ReadinessAmazon Web Services
 
The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management Rundeck
 
How to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for ReliabilityHow to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for ReliabilityAmazon Web Services
 
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative EffectivenessA Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative EffectivenessParasoft
 
13h00 p duff-building-applications-with-aws-final
13h00   p duff-building-applications-with-aws-final13h00   p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-finalLuiz Gustavo Santos
 
Cloudstate - Towards Stateful Serverless
Cloudstate - Towards Stateful ServerlessCloudstate - Towards Stateful Serverless
Cloudstate - Towards Stateful ServerlessLightbend
 

Ähnlich wie High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011) (20)

Amazon SageMaker for Fraud Detection
Amazon SageMaker for Fraud DetectionAmazon SageMaker for Fraud Detection
Amazon SageMaker for Fraud Detection
 
Tracking SLAs In Cloud
Tracking SLAs In CloudTracking SLAs In Cloud
Tracking SLAs In Cloud
 
Rational App Scan&Policy Tester
Rational App Scan&Policy TesterRational App Scan&Policy Tester
Rational App Scan&Policy Tester
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
Dvorkin: Software Defined Datacenter Presentation #SDDC14
Dvorkin: Software Defined Datacenter Presentation #SDDC14Dvorkin: Software Defined Datacenter Presentation #SDDC14
Dvorkin: Software Defined Datacenter Presentation #SDDC14
 
State Test 
of Applications and Domains
State Test 
of Applications and Domains State Test 
of Applications and Domains
State Test 
of Applications and Domains
 
SNIA Emerald Introduction
SNIA Emerald IntroductionSNIA Emerald Introduction
SNIA Emerald Introduction
 
AWS Summit Singapore - Advanced AWS Patterns for the Enterprise
AWS Summit Singapore - Advanced AWS Patterns for the EnterpriseAWS Summit Singapore - Advanced AWS Patterns for the Enterprise
AWS Summit Singapore - Advanced AWS Patterns for the Enterprise
 
Architecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control ApplicationsArchitecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control Applications
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
 
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From HappeningStart Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
Operations: Production Readiness
Operations: Production ReadinessOperations: Production Readiness
Operations: Production Readiness
 
The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management The Last Mile Continued: Incident Management
The Last Mile Continued: Incident Management
 
How to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for ReliabilityHow to Determine if You Are Well-Architected for Reliability
How to Determine if You Are Well-Architected for Reliability
 
RCIM 2008 - - ALaRI
RCIM 2008 - - ALaRIRCIM 2008 - - ALaRI
RCIM 2008 - - ALaRI
 
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative EffectivenessA Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
 
Building Applications with AWS
Building Applications with AWSBuilding Applications with AWS
Building Applications with AWS
 
13h00 p duff-building-applications-with-aws-final
13h00   p duff-building-applications-with-aws-final13h00   p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-final
 
Cloudstate - Towards Stateful Serverless
Cloudstate - Towards Stateful ServerlessCloudstate - Towards Stateful Serverless
Cloudstate - Towards Stateful Serverless
 

Kürzlich hochgeladen

🐬 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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 Scriptwesley chun
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
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 RobisonAnna Loughnan Colquhoun
 
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
 
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...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 
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
 
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
 
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...Martijn de Jong
 

Kürzlich hochgeladen (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 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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
 
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...
 
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...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
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
 
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...
 
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...
 

High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)

  • 1. High-Confidence Ubiquitous Computing Systems David S. Rosenblum School of Computing National University of Singapore
  • 2. Some Facts Google Android Market • The average price of the top 50 paid applications is US$3.79 [modymi.com] • 79.3% of paid applications have been downloaded less than 100 times [Distimo] • Only 0.1% of paid applications have been downloaded 50,000 times or more [Distimo]
  • 3. Some Facts Google Android Market • The average price of the top 50 paid applications is US$3.79 [modymi.com] • 79.3% of paid applications have been downloaded less than 100 times [Distimo] • Only 0.1% of paid applications have been downloaded 50,000 times or more [Distimo] There are many simplistic, low-quality apps!
  • 9. Adaptation in CAAAs Application Environment
  • 10. Adaptation in CAAAs Application Physical Context Environment
  • 11. Adaptation in CAAAs Application Adaptation Middleware Manager Context Manager Physical Context Environment
  • 12. Adaptation in CAAAs Application Adaptation Middleware Manager Context Sensed Context Manager Physical Context Environment
  • 13. Adaptation in CAAAs Application Adaptation Middleware Inferred Context Manager Context Sensed Context Manager Physical Context Environment
  • 14. Adaptation in CAAAs Presumed Context Application Adaptation Middleware Inferred Context Manager Context Sensed Context Manager Physical Context Environment
  • 15. Adaptation in CAAAs Presumed Context Application Adaptation Middleware Inferred Context Manager Context 3rd-Party Sensed Context Manager Libraries Physical Context Environment
  • 16. Adaptation in CAAAs Presumed Context Application Adaptation Rule Middleware Inferred Context Manager Engine Context 3rd-Party Sensed Context Manager Libraries Physical Context Environment
  • 17. Validation of CAAAs Application Adaptation Rule Middleware Manager Engine Context Manager Environment
  • 18. Validation of CAAAs Rules are strongly interdependent Application and have multiple priorities Adaptation Rule Middleware Manager Engine making reasoning Context difficult even for a Manager small number of rules Environment
  • 19. Validation of CAAAs Application Adaptation Middleware Manager Context 3rd-Party Manager Libraries Environment
  • 20. Validation of CAAAs Context is sensed periodically Application from multiple Adaptation Middleware Manager sources Context 3rd-Party at varying rates Manager Libraries Environment
  • 21. Approach 1. Derive Adaptation Finite-State Machine (A- FSM) from rule logic 2. Explore state space of A-FSM to discover potential faults ✓ Enumerative algorithms ✓ Symbolic algorithms ✓ Planner-based counterexample generation 3. (Confirm existence of discovered faults)
  • 23. PhoneAdapter silent, vibrate loud, normal, divert to vibrate hands-free silent, divert to voicemail loud, vibrate
  • 24. PhoneAdapter silent, vibrate loud, normal, divert to vibrate hands-free silent, divert to voicemail loud, vibrate
  • 25. PhoneAdapter A-FSM Jogging Sync Meeting Outdoor General Office Driving Home Driving Fast
  • 26. PhoneAdapter A-FSM ActivateMeeting DeactivateMeeting Jogging Sync Meeting Outdoor General Office Driving Home Driving Fast
  • 27. Example Faults in PhoneAdapter General Office Home
  • 28. Example Faults in PhoneAdapter General Office Home User’s phone discovers office PC at home (or vice versa)
  • 29. Example Faults in PhoneAdapter General Office Home Nondeterminism!
  • 30. Example Faults in PhoneAdapter General
  • 31. Example Faults in PhoneAdapter Outdoor General User leaves home
  • 32. Example Faults in PhoneAdapter Outdoor General Driving User starts driving before Bluetooth detects hands-free system
  • 33. Example Faults in PhoneAdapter Jogging Outdoor General Driving Activation hazard!
  • 34. Example Faults in PhoneAdapter Jogging Outdoor General Driving Activation hazard!
  • 35. Faults in CAAAs • Behavioral Faults Nondeterminism Unreachable state Dead rule Activation race Dead state Activation cycle
  • 36. Faults in CAAAs • Behavioral Faults Nondeterminism Unreachable state Dead rule Activation race Dead state Activation cycle • Hazards Hold hazard Priority inversion Activation hazard hazard
  • 37. Why Not Use Model Checkers? - Difficult to encode fault patterns as temporal logic formulae ✴ Bisimilar models may fail differently - Difficult to encode rule logic as models in common model checkers ✴ Predicates and actions label the transitions - Difficult to interpret counterexamples as faults in adaptation behavior
  • 38. Algorithms Basic Operation Jogging Sync Meeting Outdoor General Office Driving Home Driving Fast For each state Analyze rules & inputs, and search along transitions for instances of fault patterns
  • 39. Algorithms Basic Operation Jogging Sync Meeting Outdoor General Office Driving Home Driving Fast For each state Analyze rules & inputs, and search along transitions for instances of fault patterns
  • 40. Algorithms Basic Operation Jogging Sync Meeting Outdoor General Office Driving Home Driving Fast For each state Analyze rules & inputs, and search along transitions for instances of fault patterns
  • 41. Algorithms Basic Operation Jogging Sync Meeting Outdoor General Office Driving Home Driving Fast For each state Analyze rules & inputs, and search along transitions for instances of fault patterns
  • 42. PhoneAdapter Results TABLE 2 BehavioralConfigurations Reported for PhoneAdapter Faulty Input Faults: Enumerative, Symbolic State Nondeterministic Dead Adaptation Unreachable Adaptations Predicates Races Cycles States General 37 1 45 13 0 Outdoor 3 0 135 23 0 Jogging 0 0 97 19 0 Driving 0 0 36 13 0 DrivingFast 0 0 58 19 0 Home 0 0 76 19 0 Office 0 0 29 1 0 Meeting 0 0 32 1 0 Sync 0 0 27 5 1
  • 43. PhoneAdapter Results Hazards: Enumerative n PhoneAdapter Table 2: Faults aptation Races and Cycles State Vars. Context Hazards Nondet. Adaptation Dead Pred signments Race Cycle Paths Assignments Hold Activ. Faults Prior. Assignments 3968 General 13 45 14085 7 0 12811 3182 37 128 3968 135 Outdoor 23 161 5 0 32 0 352 17 3072 Jogging 19 97 22 0 4 0 00 1 2560 Driving 13 36 316 2 8 2 04 7 3072 DrivingFast 58 19 22 0 4 0 00 2 2816 Home 76 19 104 4 8 16 0 013 9 2848 O ce 29 1 82634 7 1828 128 368 2164 1 65 2048 Meeting 1 32 10 0 2 0 00 2 1024 Sync 27 5 22 2 4 0 00 1 ned a formal model of a key Contextbehavioral char- 6.4 Detecting complex Hazards eristic, namely adaptation, of an increasingly sequences of asynchr This class of faults corresponds to large and
  • 44. Conclusion Comparison of Approaches Enumerative Symbolic Hybrid Planner Local Search Local Search Local Search Global Search Less Precise Less Precise Less Precise More Precise Concrete Symbolic Symbolic Concrete Counterexamples Counterexamples Counterexamples Counterexamples Handles Smaller Handles Big Handles Bigger Sequential State Spaces State Spaces State Spaces Search Fast Faster Fastest Slowest
  • 45. Future Work Verification • Continue the work on hazards and planners • Quantitative reasoning about faults • Battery level, movement timings, etc. • Online analysis of rules and faults
  • 46. Future Work Design • Alternatives to rule-based adaptation! • Machine learning approaches to context classification and adaptation selection
  • 47. Future Work Design • Alternatives to rule-based adaptation! • Machine learning approaches to context classification and adaptation selection • Felicitous Computing Institute
  • 48. Thank You! REFERENCES Z. Wang, S. Elbaum and D.S. Rosenblum, Automated Generation of Context-Aware Tests, Proc. 2007 Int’l Conf. on Software Engineering (ICSE 2007), Minneapolis, MN, USA, May 2007, pp. 406–415. M. Sama, D.S. Rosenblum, Z. Wang and S. Elbaum, Multi-Layer Faults in the Architectures of Mobile, Context-Aware Adaptive Applications: A Position Paper, Short Paper, Proc. ICSE 2008 Workshop on Software Architectures and Mobility (SAM 2008), Leipzig, Germany, May 2008, pp. 47–49. M. Sama, F. Raimondi, D. Rosenblum and W. Emmerich, Algorithms for Efficient Symbolic Detection of Faults in Context- Aware Applications, Proc. 1st Int’l Workshop on Automated Engineering of Autonomous and Run-Time Evolving Systems (ARAMIS 2008), L’Aquila, Italy, Sep. 2008, pp. 1–8. M. Sama, D.S. Rosenblum, Z. Wang and S. Elbaum, Model-Based Fault Detection in Context-Aware Adaptive Applications, Proc. 16th ACM SIGSOFT Int’l Symposium on the Foundations of Software Engineering (FSE 2008), Atlanta, GA, USA, Nov. 2008, pp. 261–271. J. Cubo, F. Raimondi, M. Sama and D. Rosenblum, A Model to Design and Verify Context-Aware Adaptive Service Composition, Proc. IEEE Int’l Conf. on Services Computing (SCC 2009), Bangalore, India, Sep. 2009, pp. 184–191. M. Sama, D.S. Rosenblum, Z. Wang and S. Elbaum, Multi-Layer Faults in the Architectures of Mobile, Context-Aware Adaptive Applications, Journal of Systems and Software, invited paper for Special Issue on Software Architecture and Mobility,Vol. 83, Issue 6, Jun. 2010, pp. 906–914. M. Sama, S. Elbaum, F. Raimondi and D.S. Rosenblum, Context-Aware Adaptive Applications: Fault Patterns and Their Automated Identification, IEEE Transactions on Software Engineering, invited paper for Special Issue on the Best Papers of FSE 2008,Vol. 36, No. 5, Sep./Oct. 2010, pp. 644–661.

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. animate early\n
  56. animate early\n
  57. animate early\n
  58. animate early\n
  59. animate early\n
  60. animate early\n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. First 4 common to all rule-based systems, remaining peculiar to, and most prevalent in, CAAAs.\n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n
  179. \n