Presentation given at 29th Symposium On Applied Computing (SAC'14) - Dependable and Adaptive Distributed Systems track.
It is mainly based on the work done during my Ph.D.
The vision of Autonomic Computing and Self-Adaptive Software Systems aims at realizing software that autonomously manage itself in presence of varying environmental conditions. Feedback Control Loops (FCL) provide generic mechanisms for self-adaptation, however, incorporating them into software systems raises many challenges.
The first part of this thesis addresses the integration challenge, i.e., forming the architecture connection between the underlying adaptable software and the adaptation engine. We propose a domain-specific modeling language, FCDL, for integrating adaptation mechanisms into software systems through external FCLs. It raises the level of abstraction, making FCLs amenable to automated analysis and implementation code synthesis. The language supports composition, distribution and reflection thereby enabling coordination and composition of multiple distributed FCLs. Its use is facilitated by a modeling environment, ACTRESS, that provides support for modeling, verification and complete code generation. The suitability of our approach is illustrated on three real-world adaptation scenarios.
The second part of this thesis focuses on model manipulation as the underlying facility for implementing ACTRESS. We propose an internal Domain-Specific Language (DSL) approach whereby Scala is used to implement a family of DSLs, SIGMA, for model consistency checking and model transformations. The DSLs have similar expressiveness and features to existing approaches, while leveraging Scala versatility, performance and tool support.
To conclude this thesis we discuss further work and further research directions for MDE applications to self-adaptive software systems.
Qualifying a high performance memory subsysten for Functional SafetyPankaj Singh
Addressing the Challenges of Safety verification for LPDDR4.
✓Avoid traditional approach of starting functional safety after functional verification : Iterative and expensive development phase
1. Functional Safety Need to be Architected and not added later.
2. Safety Analysis must start prior to implementation. ‘Design for safety/verification’
3. Reuse & Synergize : Nominal and Functional Safety Verification.
✓Fault optimization with formal and other techniques is necessary to overcome challenges with scaling simulation and analysis.
✓Integrated push button fault simulation flow is need of hour and saves verification engineers time.
✓Analog defect modelling and coverage can be performed based on IEEE P2427.
An Approach to Overcome Modeling Inaccuracies for Performance Simulation Sig...Pankaj Singh
RNM is finding prominence in functional verification signoff, However there is clear modeling gap when it comes to performance simulation of high-speed SerDes. Sometimes the pre-silicon simulation results show passing results with respect to Jitter tolerance (JTOL) specification which may not match the actual silicon validation results. These performance issues manifest due to inaccuracies of model where it may not comprehend the actual circuit behavior. There is no clear methodology to overcome these model gaps for performance simulation signoff.
This paper discusses in detail the techniques used to accurately model and verify high-speed SerDes systems for performance simulation.
The vision of Autonomic Computing and Self-Adaptive Software Systems aims at realizing software that autonomously manage itself in presence of varying environmental conditions. Feedback Control Loops (FCL) provide generic mechanisms for self-adaptation, however, incorporating them into software systems raises many challenges.
The first part of this thesis addresses the integration challenge, i.e., forming the architecture connection between the underlying adaptable software and the adaptation engine. We propose a domain-specific modeling language, FCDL, for integrating adaptation mechanisms into software systems through external FCLs. It raises the level of abstraction, making FCLs amenable to automated analysis and implementation code synthesis. The language supports composition, distribution and reflection thereby enabling coordination and composition of multiple distributed FCLs. Its use is facilitated by a modeling environment, ACTRESS, that provides support for modeling, verification and complete code generation. The suitability of our approach is illustrated on three real-world adaptation scenarios.
The second part of this thesis focuses on model manipulation as the underlying facility for implementing ACTRESS. We propose an internal Domain-Specific Language (DSL) approach whereby Scala is used to implement a family of DSLs, SIGMA, for model consistency checking and model transformations. The DSLs have similar expressiveness and features to existing approaches, while leveraging Scala versatility, performance and tool support.
To conclude this thesis we discuss further work and further research directions for MDE applications to self-adaptive software systems.
Qualifying a high performance memory subsysten for Functional SafetyPankaj Singh
Addressing the Challenges of Safety verification for LPDDR4.
✓Avoid traditional approach of starting functional safety after functional verification : Iterative and expensive development phase
1. Functional Safety Need to be Architected and not added later.
2. Safety Analysis must start prior to implementation. ‘Design for safety/verification’
3. Reuse & Synergize : Nominal and Functional Safety Verification.
✓Fault optimization with formal and other techniques is necessary to overcome challenges with scaling simulation and analysis.
✓Integrated push button fault simulation flow is need of hour and saves verification engineers time.
✓Analog defect modelling and coverage can be performed based on IEEE P2427.
An Approach to Overcome Modeling Inaccuracies for Performance Simulation Sig...Pankaj Singh
RNM is finding prominence in functional verification signoff, However there is clear modeling gap when it comes to performance simulation of high-speed SerDes. Sometimes the pre-silicon simulation results show passing results with respect to Jitter tolerance (JTOL) specification which may not match the actual silicon validation results. These performance issues manifest due to inaccuracies of model where it may not comprehend the actual circuit behavior. There is no clear methodology to overcome these model gaps for performance simulation signoff.
This paper discusses in detail the techniques used to accurately model and verify high-speed SerDes systems for performance simulation.
Overcoming challenges of_verifying complex mixed signal designsPankaj Singh
Efficient and Innovative Digital Mixed-Signal (DMS) verification methodology is required to enable effective verification of RX path of SERDES. This presentation describes the usage of Real value models and Capture -Verify approach to verify complex high speed mixed signal design.
Real value models are the backbone of DMS methodology. Real value models are created for all critical modules in Receive path like Equalizer and Sampler and its associated peripheral modules. It is critical to make sure created models are functionally equivalent to respective designs. This is achieved by verifying each created model with respective designs for all functional modes. While the Real Value models are effective in meeting overcoming the simulation performance bottleneck by achieving 10x faster simulation time; the Nonlinearity factors of the front-end design are not represented accurately in discrete domain real value models for next generation of SerDes Design at very high data rate.
To overcome this problem, a novel approach called ‘capture and verify’ is used for verifying the jitter tolerance and eye parameters. In this approach, waveforms from spice level verification of Equalizer for different functional modes are captured and stored. These stored waveforms are used to generate run time table-based models to accurately represent the analog modules. These run time models are used in top-level simulations along with real value models thereby achieving required goal of simulation performance without compromising on accuracy of results.
The complete Design Verification (DV) environment is developed using UVM-e Methodology. Verification environment contains model for transmitter with all de-emphasis settings along with protocol compliant channels with multiple attenuations. DV infrastructure has hooks to plug-in required channel models to verify SERDES. This verification environment is also capable of verifying the clock data recovery (CDR) path of the design using protocol compliant jitter and Spread-Spectrum Clocking (SSC) stimulus.
The real value modelling bridges the gap between the performance requirements of the simulation and accuracy limitations of design. A significant speed-up in simulation performance is achieved (almost 10X in this case) by replacing with functionally equivalent real value models for mixed signal designs. Usage of Capture and Verify methodology with spice simulation waveforms for critical blocks ensures non-linearity of the next generation high speed SerDes design is well captured in simulations provide complete comprehensive solution for high speed mixed signal designs.
With the rise of containerization, as well as the established adoption of virtualization technologies, run-time power and energy management is becoming one of the key challenges in modern cloud computing. This is also fundamental as power consumption contributes to the 20% of the Total Cost of Ownership of a datacenter and energy costs will exceed hardware costs in the near future. In this context, several goals towards power optimization can be achieved. On the one hand, power capping can be enforced and on top of that the system should be able to maximize performance. On the other hand, when performance are critical, the system should be able to provide a minimum SLA and optimize power consumption without violating it. Within this context, we propose a common autonomic methodology based on the ODA control loop for containers and virtual machines. The proposed methodology is able to achieve 25% power savings for containers and can improve performance under a power cap for virtual machines.
Defect Prediction Over Software Life Cycle in Automotive DomainRAKESH RANA
Defect Prediction Over Software Life Cycle in Automotive Domain
Presented at:
9th International Joint Conference on Software Technologies (ICSOFT-EA), Vienna, Austria
Get full text of publication at:
http://rakeshrana.website/index.php/work/publications/
Slides from a talk given at our weekly lab seminar at NII, Tokyo. The talk is mostly based on Christopher Bailey et al's paper on "Self-Adaptive Federated Authorization Infrastructures", as well as related work I was involved with.
Overcoming challenges of_verifying complex mixed signal designsPankaj Singh
Efficient and Innovative Digital Mixed-Signal (DMS) verification methodology is required to enable effective verification of RX path of SERDES. This presentation describes the usage of Real value models and Capture -Verify approach to verify complex high speed mixed signal design.
Real value models are the backbone of DMS methodology. Real value models are created for all critical modules in Receive path like Equalizer and Sampler and its associated peripheral modules. It is critical to make sure created models are functionally equivalent to respective designs. This is achieved by verifying each created model with respective designs for all functional modes. While the Real Value models are effective in meeting overcoming the simulation performance bottleneck by achieving 10x faster simulation time; the Nonlinearity factors of the front-end design are not represented accurately in discrete domain real value models for next generation of SerDes Design at very high data rate.
To overcome this problem, a novel approach called ‘capture and verify’ is used for verifying the jitter tolerance and eye parameters. In this approach, waveforms from spice level verification of Equalizer for different functional modes are captured and stored. These stored waveforms are used to generate run time table-based models to accurately represent the analog modules. These run time models are used in top-level simulations along with real value models thereby achieving required goal of simulation performance without compromising on accuracy of results.
The complete Design Verification (DV) environment is developed using UVM-e Methodology. Verification environment contains model for transmitter with all de-emphasis settings along with protocol compliant channels with multiple attenuations. DV infrastructure has hooks to plug-in required channel models to verify SERDES. This verification environment is also capable of verifying the clock data recovery (CDR) path of the design using protocol compliant jitter and Spread-Spectrum Clocking (SSC) stimulus.
The real value modelling bridges the gap between the performance requirements of the simulation and accuracy limitations of design. A significant speed-up in simulation performance is achieved (almost 10X in this case) by replacing with functionally equivalent real value models for mixed signal designs. Usage of Capture and Verify methodology with spice simulation waveforms for critical blocks ensures non-linearity of the next generation high speed SerDes design is well captured in simulations provide complete comprehensive solution for high speed mixed signal designs.
With the rise of containerization, as well as the established adoption of virtualization technologies, run-time power and energy management is becoming one of the key challenges in modern cloud computing. This is also fundamental as power consumption contributes to the 20% of the Total Cost of Ownership of a datacenter and energy costs will exceed hardware costs in the near future. In this context, several goals towards power optimization can be achieved. On the one hand, power capping can be enforced and on top of that the system should be able to maximize performance. On the other hand, when performance are critical, the system should be able to provide a minimum SLA and optimize power consumption without violating it. Within this context, we propose a common autonomic methodology based on the ODA control loop for containers and virtual machines. The proposed methodology is able to achieve 25% power savings for containers and can improve performance under a power cap for virtual machines.
Defect Prediction Over Software Life Cycle in Automotive DomainRAKESH RANA
Defect Prediction Over Software Life Cycle in Automotive Domain
Presented at:
9th International Joint Conference on Software Technologies (ICSOFT-EA), Vienna, Austria
Get full text of publication at:
http://rakeshrana.website/index.php/work/publications/
Slides from a talk given at our weekly lab seminar at NII, Tokyo. The talk is mostly based on Christopher Bailey et al's paper on "Self-Adaptive Federated Authorization Infrastructures", as well as related work I was involved with.
Model Manipulation Using Embedded DSLs in ScalaFilip Krikava
A short presentation (student talk category) given at the Scala Workshop 2013 in Montpellier, France (2.7.2013). This is slightly extended version to be more self-contained. It presents the basics of Sigma such as the common infrastructure support, model consistency checking and model transformation together with some perspectives of further deep embedding.
The presentation was given to Rivier Scala / Clojure User Group meeting on 10.6.2013. It is half-baked presentation. Will upload the final version when ready.
The first part is about DSLs in general, complexities in software engineering and abstraction. The seconds part presents an quick overview about DSLs in Scala and touches some of the technologies used for deep embedding.
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Co...Sandro Andrade
Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Controlled Experiment
2o best paper award of the 28th Brazilian Symposium on Software Engineering - SBES
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...Sandro Andrade
Presented at 25th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013) - Boston/MA - EUA.
A lot of current research efforts in self-adaptive systems community have been dedicated to the explicit modeling of architectural aspects related to system self-awareness and context-awareness. This paper presents a flexible and extensible representation of architectural design spaces for self-adaptation approaches based on feedback control loops. We have defined a generic representation for design spaces meta-modeling and have instantiated it in order to provide direct support for early reasoning and trade-off analysis of self-adaptation aspects with the aid of a set of feedback control metrics. The proposed approach has been fully implemented in a supporting tool and a case study with a distributed industrial data acquisition service has been undertaken. Whilst preliminary experiences with the proposed approach indicate useful reasoning support when comparing alternative design solutions for self-adaptation, further investigation regarding scalability aspects and automatic handling of conflicting goals has been identified as future work.
Self-Adaptive SLA-Driven Capacity Management for Internet ServicesBruno Abrahao
This work considers the problem of hosting multiple third-party Internet services in a cost-effective manner so as to maximize a provider’s business objective. For this purpose, we
present a dynamic capacity management framework based on an optimization model, which links a cost model based on SLA
contracts with an analytical queuing-based performance model, in an attempt to adapt the platform to changing capacity needs in
real time. In addition, we propose a two-level SLA specification for different operation modes, namely, normal and surge, which allows for per-use service accounting with respect to requirements of throughput and tail distribution response time. The cost model proposed is based on penalties, incurred by the provider due
to SLA violation, and rewards, received when the service level expectations are exceeded. Finally, we evaluate approximations
for predicting the performance of the hosted services under two different scheduling disciplines, namely FCFS and processor
sharing. Through simulation, we assess the effectiveness of the proposed approach as well as the level of accuracy resulting from
the performance model approximations.
201209 An Introduction to Building Affective-Driven Self-Adaptive Software Javier Gonzalez-Sanchez
One important characteristic in modern software systems is self-
adaptation, the capability of monitoring and reacting to changes into the environment. A particular case of self-adaptation is affect-driven self- adaptation. Affect-driven self-adaptation involves using sensing devices to measure physiological signals of human affectivestate’s (emotions) changes, learning about the meaning of those changes, and then reacting (self-adapting) in consequence. Affect-driven self-adaptive systems take advantage of brain-computer interfaces, eye-tracking, face-based emotion recognition, and sensors to measure physiological signals.
Systems such as learning environments, health care systems, and videogames are able to take advantage of affect-driven self-adaptive capabilities. Today these capabilities are brittle, costly to change, difficult to reuse, and limited in scope. A software factory approach has been suggested to make feasible adding affective-driven self-adaptive capabilities either into new or existing systems. Software factories capture knowledge of how to produce applications that share common characteristics and make that knowledge available in the form of assets (patterns, model, framework, and tools) and systematically apply those assets to automate development reducing cost and time while improving product quality.
This talk provides a sneak peek of affective-driven self-adaptive capabilities and explores how a software factory approach is used to build affect-driven self-adaptive software.
Modernizing Testing as Apps Re-ArchitectDevOps.com
Applications are moving to cloud and containers to boost reliability and speed delivery to production. However, if we use the same old approaches to testing, we'll fail to achieve the benefits of cloud. But what do we really need to change? We know we need to automate tests, but how do we keep our automation assets from becoming obsolete? Automatically provisioning test environments seems close, but some parts of our applications are hard to move to cloud.
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld
VMworld 2013
Thirumalesh Reddy, VMware
Padmaja Vrudhula, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
Optimising Service Deployment and Infrastructure Resource ConfigurationRECAP Project
This is a presentation delivered by Alec Leckey (Intel) at the 2nd Data Centre Symposium held in conjunction with the National Conference on Cloud Computing and Commerce (http://2018.nc4.ie/) on April 10, 2018 in Dublin, Ireland.
Learn more about the RECAP project: https://recap-project.eu/
Install the Intel Landscaper: https://github.com/IntelLabsEurope/landscaper
How can we quickly tell what an application is about? How can we quickly tell what it does? How can we distinguish business concepts from architecture clutter? How can we quickly find the code we want to change? How can we instinctively know where to add code for new features? Purely looking at unit tests is either not possible or too painful. Looking at higher-level tests can take a long time and still not give us the answers we need. For years, we have all struggled to design and structure projects that reflect the business domain.
In this talk Sandro will be sharing how he designed the last application he worked on, twisting a few concepts from Domain-Driven Design, properly applying MVC, borrowing concepts from CQRS, and structuring packages in non-conventional ways. Sandro will also be touching on SOLID principles, Agile incremental design, modularisation, and testing. By iteratively modifying the project structure to better model the product requirements, he has come up with a design style that helps developers create maintainable and domain-oriented software.
I presented "Cloudsim & Green Cloud" in First National Workshop of Cloud Computing at Amirkabir University on 31st October and 1st November, 2012.
Enjoy it!
This topic introduces the need of a unique architecture style for Cloud Native application deployments. Further, the fitment of DevOps, usage of Microservices and the runtime of Cloud Native application (* as a Service) are covered in detail. The need of distributed computing in Cloud for Cloud Native applications is trivial to understand. Insights on the same are covered.
This presentation from the I Love APIs conference makes the case for why Node and Docker are great together for implementing Microservice architecture. It also provides an quick orientation for getting started with Docker Machine, Node, and Mongo with container linking and data volume containers.
At this year’s annual Design Automation Conference (DAC 2020), Rob Lalonde and Bill Bryce of Univa partnered with representatives from Google and Synopsys to discuss EDA in the Cloud and share best practices related to cloud migration.
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
Microservices, events, containers, and orchestrators are dominating our vernacular today. As operations teams adapt to support these technologies in production, cloud-native platforms like Pivotal Cloud Foundry and Kubernetes have quickly risen to serve as force multipliers of automation, productivity and value.
Apache Kafka® is providing developers a critically important component as they build and modernize applications to cloud-native architecture.
This talk will explore:
• Why cloud-native platforms and why run Apache Kafka on Kubernetes?
• What kind of workloads are best suited for this combination?
• Tips to determine the path forward for legacy monoliths in your application portfolio
• Demo: Running Apache Kafka as a Streaming Platform on Kubernetes
Similar to ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures (20)
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
RISE with SAP and Journey to the Intelligent Enterprise
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
1. ACTRESS: Domain-Specific Modeling
of Self-Adaptive Software
Architectures
SAC’14 - DADS 28.3.2014
Philippe Collet Robert B. France
Colorado State University
Computer Science Department
USA
Université Nice Sophia
Antipolis I3S - CNRS UMR 7271
France
University Lille 1 / LIFL
INRIA Lille
France
Filip Křikava
2. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
CONTEXT
Jeff Kephart - Autonomic Computing: The First Decade, ICAC’11 keynote
Electronic Retailer - Application Diagram
• Ever growing complexity of computing systems
• Taming this complexity by skilled IT professionals does not scale
• New operation modes are needed
3. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
TOWARDS SELF-ADAPTIVE SOFTWARE SYSTEMS
Monitoring Reconfiguration
Decision Making
sensors effectors
Target System
events actions
measures decisions
Feedback Control Loop (FCL)
Systems that adjust themselves in accordance with some higher-level
goals
• response time
• utilization • scheduling
• concurrency
policies
4. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Engineering of self-adaptive software systems is a challenge
Designing an adaptation
engine
Controller Target System
Transduc
er
+
-
=
mX
i=1
1
d
=
m
d
⇥(N) =
µ =
m
d
µ
d =
m
(N)µ
CHALLENGES
5. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Engineering of self-adaptive software systems is a challenge
Designing an adaptation
engine
Controller Target System
Transduc
er
+
-
=
mX
i=1
1
d
=
m
d
⇥(N) =
µ =
m
d
µ
d =
m
(N)µ
CHALLENGES
Integrating an adaptation
engine into a target system
API
LOGS
CONFIGURATIONS
COMMANDS
AOP
PROFILER
• Consistent monitoring across all sensors
• Coordination of adaptation action
6. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Engineering of self-adaptive software systems is a challenge
Designing an adaptation
engine
Controller Target System
Transduc
er
+
-
=
mX
i=1
1
d
=
m
d
⇥(N) =
µ =
m
d
µ
d =
m
(N)µ
CHALLENGES
Integrating an adaptation
engine into a target system
API
LOGS
CONFIGURATIONS
COMMANDS
AOP
PROFILER
• Consistent monitoring across all sensors
• Coordination of adaptation action
7. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Integrating an adaptation engine
into a target system
Adaptation Engine Target System
Controller Target System
Transduc
er
+
-
=
mX
i=1
1
d
=
m
d
⇥(N) =
µ =
m
d
µ
d =
m
(N)µ
API
LOGS
CONFIGURATIONS
COMMANDS
AOP
PROFILER
• Adhoc Implementations
• Extensive handcrafting of non-trivial code
• Cumbersome and error-prone
• Accidental complexities
CHALLENGES
8. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Integrating an adaptation engine
into a target system
Adaptation Engine Target System
Controller Target System
Transduc
er
+
-
=
mX
i=1
1
d
=
m
d
⇥(N) =
µ =
m
d
µ
d =
m
(N)µ
API
LOGS
CONFIGURATIONS
COMMANDS
AOP
PROFILER
• Reusing and adapting existing work
• Often target specific types of adaptation problems [Bertran’12]
• Require the use of certain adaptation mechanism [Garlan’04]
• Applicable to single domain [Rouvoy’08] or technology [Asadollahi’09]
• Do not support remoting or complex control schemes [Adamczyk’08, Gorton’06]
• Limiting their applicability
CHALLENGES
9. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Derived requirements for integrating self-adaptation into software systems
Generality
• Domain-agnostic
• Technology-agnostic
• Explicit FCLs, their process and interactions
• Verification support
Visibility
• Reusable FCL parts across adaptation scenarios
Reusability
• Remote distribution of FCL
Distribution
• Composition
• Reflection
Complex control
• Prototyping
• Automating
Tooling
REQUIREMENTS
10. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Monitoring Reconfiguration
Decision Making
sensors effectors
Target System
events actions
measures decisions
Controller Target System
Transduc
er
+
-
=
mX
i=1
1
d
=
m
d
⇥(N) =
µ =
m
d
µ
d =
m
(N)µ
API
LOGS
CONFIGURATIONS
COMMANDS
AOP
PROFILER
Generality Visibility Reusability
Distribution Complex control
Tooling
CONTRIBUTIONS
Feedback Control
Definition Language1
The ACTRESS Modeling
Environment2
Approach facilitating systematic integration of self-adaptive mechanisms
into software systems through feedback control loops.
11. 28.3.2014, SAC’14 - DADSACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
FCDL: Feedback Control Definition Language
1
12. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
FEEDBACK CONTROL DEFINITION LANGUAGE
1. Raise the level of abstraction
2. Fine-grained decomposition of FCL elements
3. Explicit interactions
4. Provide reflection and composition capabilities
5. Embed remoting
Monitoring Decision Making Reconfiguration
measures
events
decisions
actions
General Purpose
Language (GPL)Generality
Visibility
Reusability
Distribution
Complex control
13. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
1. Raise the level of abstraction
2. Fine-grained decomposition of FCL elements
3. Explicit interactions
4. Provide reflection capabilities
5. Embed remoting
Domain-Specific Modeling
FEEDBACK CONTROL DEFINITION LANGUAGE
14. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
1. Raise the level of abstraction
2. Fine-grained decomposition of FCL elements
3. Explicit interactions
4. Provide reflection capabilities
5. Embed remoting
Domain-Specific Modeling
• Feedback Control Loop
• Sequence of interconnected processes
• Inputs x State -> Output
• Reactive
• Concurrent
• Dynamic
Monitoring Reconfiguration
Decision Making
sensors effectorsevents actions
measures decisions
FEEDBACK CONTROL DEFINITION LANGUAGE
15. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
1. Raise the level of abstraction
2. Fine-grained decomposition of FCL elements
3. Explicit interactions
4. Provide reflection capabilities
5. Embed remoting
Domain-Specific Modeling
• Feedback Control Loop
• Sequence of interconnected processes
• Inputs x State -> Output
• Reactive
• Concurrent
• Dynamic
Monitoring Reconfiguration
Decision Making
sensors effectorsevents actions
measures decisions
• The Actor Model
• Message passing actor networks
• Message x State -> Message(s)
• Reactive
• Concurrent
• Dynamic
• Scalable
• Remoting through location
transparency
actor
actor
actor
FEEDBACK CONTROL DEFINITION LANGUAGE
16. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Monitoring Reconfiguration
Decision Making
sensors effectorsevents actions
measures decisions
Processor
in input
out output
Effector
in input
Sensor
out output
Target System
in input
Controller
in input
out output
Processor
out output
FEEDBACK CONTROL DEFINITION LANGUAGE - IN A NUTSHELL
Network of Adaptive Elements - actor-like entities
17. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Monitoring Reconfiguration
Decision Making
sensors effectorsevents actions
measures decisions
Processor
in input
out output
Effector
in input
Sensor
out output
Target System
in input
Controller
in input
out output
Processor
out output
in input
providedEffectorprovidedSensor
out output
FEEDBACK CONTROL DEFINITION LANGUAGE - IN A NUTSHELL
Network of Adaptive Elements - actor-like entities
18. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Idea: service time = fixed overhead + data-size dependent overhead
Abdelzaher et al., 1999, 2002
QoS management control of web servers by content delivery adaptation
Goal: maintain server load around some pre-set value
Prerequisite: preprocessed content (different quality and size)
ILLUSTRATION
19. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Idea: service time = fixed overhead + data-size dependent overhead
Abdelzaher et al., 1999, 2002
QoS management control of web servers by content delivery adaptation
Goal: maintain server load around some pre-set value
/1/photo.jpg
/2/photo.jpg
/photo.jpg
full quality
degraded quality
Prerequisite: preprocessed content (different quality and size)
ILLUSTRATION
20. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Idea: service time = fixed overhead + data-size dependent overhead
Abdelzaher et al., 1999, 2002
QoS management control of web servers by content delivery adaptation
Goal: maintain server load around some pre-set value
/1/photo.jpg
/2/photo.jpg
/photo.jpg
full quality
degraded quality
normal load
overload
Prerequisite: preprocessed content (different quality and size)
ILLUSTRATION
21. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Idea: service time = fixed overhead + data-size dependent overhead
Abdelzaher et al., 1999, 2002
QoS management control of web servers by content delivery adaptation
...
serve from
tree #2
serve from
tree #1
Rejection
Level
Minimum Content Full Content
Goal: maintain server load around some pre-set value
/1/photo.jpg
/2/photo.jpg
/photo.jpg
full quality
degraded quality
normal load
overload
Prerequisite: preprocessed content (different quality and size)
ILLUSTRATION
22. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Idea: service time = fixed overhead + data-size dependent overhead
Abdelzaher et al., 1999, 2002
QoS management control of web servers by content delivery adaptation
...
serve from
tree #2
serve from
tree #1
Rejection
Level
Minimum Content Full Content
Goal: maintain server load around some pre-set value
/1/photo.jpg
/2/photo.jpg
/photo.jpg
full quality
degraded quality
normal load
overload
Prerequisite: preprocessed content (different quality and size)
ILLUSTRATION
Distribution Complex control
Generality Visibility Reusability
Using FCDL
23. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ILLUSTRATION
Compute severity of adaptation (G)
Compute the requests rate (R), bandwidth (W) and utilization (U)
Compute the number of requests (r) and size of responses (w)1
2
3
24. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ILLUSTRATION
Compute the number of requests (r) and size of responses (w)1
accessLog
: FileTailer
out lines
file=/var/log/apache2/access.log
access_log
active sensor FileTailer {
push out port lines: String
!
property file: String
}
processor Accumulator {
push in port input: long
pull out port sum: long
}
processor AccessLogParser {
push in port lines: String
push out port size: int
push out port requests: int
}
Generality
Visibility
Reusability
requestCounter
: Accumulator
responseSizeCounter
: Accumulator
in input
out sum out sum
in lines
out sizeout requests
accessLogParser
: AccessLogParser
25. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ILLUSTRATION
Generality
Visibility
Reusability
access_log
active processor PeriodTrigger<T> {
pull in port input: T
push out port output: T
!
property initialPeriod = 10.seconds
}
requestCounter
: Accumulator
responseSizeCounter
: Accumulator
scheduler
: PeriodTrigger
loadMonitor
: LoadMonitor
in input
out sum out sum
in requests in size
out utilization
in input
out output
initialPeriod=10s
accessLog
: FileTailer
in lines
out lines
file=/var/log/apache2/access_log
out sizeout requests
accessLogParser
: AccessLogParser
Compute the requests rate (R), bandwidth (W) and utilization (U)2
26. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ILLUSTRATION
Generality
Visibility
Reusability
content_tree
access_log
utilController
: UtilizationController
requestCounter
: Accumulator
responseSizeCounter
: Accumulator
scheduler
: PeriodTrigger
loadMonitor
: LoadMonitor
in input
out sum out sum
in requests in size
out utilization
in input
out output
in utilization
out contentTree
initialPeriod=10s
adaptor
: ContentAdaptor
in contentTree
accessLog
: FileTailer
in lines
out lines
file=/var/log/apache2/access_log
out sizeout requests
accessLogParser
: AccessLogParser
k=?
U*=?
Compute severity of adaptation (G)3
27. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ILLUSTRATION
GeneralityVisibilityReusability
composite ApacheQOS {
!
feature accessLog = new FileTailer {
file = “/var/log/apache2/access_log”
}
!
feature accessLogParser = new AccessLogParser
feature requestCounter = new Accumulator
feature responseSizeCounter = new Accumulator
feature loadMonitor = new LoadMonitor
feature scheduler = new PeriodTrigger<Double>
feature utilController = new UtilizationController
feature adaptor = new ContentAdaptor
!
connect accessLog.lines to
accessLogParser.lines
connect accessLogParser.size to
responseSizeCounter.input
connect accessLogParser.requests to
requestsCounter.input
connect requestCounter.output to
loadMonitor.requests
connect responseSizeCounter.output to
loadMonitor.size
connect loadMonitor.utilization to
scheduler.input
connect scheduler.output to
utilController.utilization
connect utilController.contentTree to
adaptor.contentTree
}
Complete model of the first prototype
ApacheQOS
utilController
: UtilizationController
in input
requestCounter
: Accumulator
responseSizeCounter
: Accumulator
scheduler
: PeriodTrigger
loadMonitor
: LoadMonitor
in input
out sum out sum
in requests in size
out utilization
in input
out output
in utilization
out contentTree
system
layer
control
layer
initialPeriod=10s
adaptor
: ContentAdaptor
in contentTree
accessLog
: FileTailer
in lines
out lines
file=/var/log/apache2/access_log
out sizeout requests
accessLogParser
: AccessLogParser
k=?
U*=?
28. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
COMPOSITION
Generality
Visibility
Reusability
Hierarchical organization of Adaptive Elements using composites
ApacheQOS utilController
: UtilizationController
in input
requestCounter
: Accumulator
responseSizeCounter
: Accumulator
scheduler
: PeriodTrigger
loadMonitor
: LoadMonitor
in input
out sum out sum
in requests in size
out utilization
in input
out output
in utilization
out contentTree
out requests
out size
system
layer
control
layer
composite name
initialPeriod=10s
adaptor
: ContentAdaptor
outsize
in contentTree
out size
outrequests
out requests
incontentTree
port promotion
in contentTree
ApacheWebServer
server
: ApacheWebServer
accessLog
: FileTailer
accessLogParser
: AccessLogParser
in lines
out lines
file=/var/log/apache2/access_log
k=?
U*=?
composite ApacheWebServer {
!
property accessLogFile: String
feature accessLog = new FileTailer {
file = accessLogFile
}
!
feature accessLogParser = new AccessLogParser
feature adaptor = new ContentAdaptor
connect accessLog.lines to accessLogParser.lines
!
promote accessLogParser.size
promote accessLogParser.requests
promote adaptor.contentTree
!
}
29. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ApacheQOS
control
: QOSControl
in contentTree
apache
: ApacheWebServer
in requests
in size
out requests
out size
out contentTree
control
layer
system
layer
QOSControl
utilController
: UtilizationController
utilization
: UtilizationMonitor
out contentTree
scheduler
: PeriodTrigger
out utilization
in input out output
in utilization
out contentTreein requests in size
in requests in size
LighttpdQOS
control
: QOSControl
in contentTree
lighttpd
: LighttpdWebServer
in requests
in size
out requests
out size
out contentTree
control
layer
system
layer
QOSControl
utilController
: UtilizationController
utilization
: UtilizationMonitor
out contentTree
scheduler
: PeriodTrigger
out utilization
in input out output
in utilization
out contentTreein requests in size
in requests in size
COMPOSITION
Generality
Visibility
Reusability
30. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
REMOTE DISTRIBUTION
Remote distribution of Adaptive Elements
remote-main remote-apache
network
ApacheQOS
in contentTree
in requests
in size
out requests
out size
out contentTree
Apache.apache
endpoint=
akka.tcp://actress@remote-apache/user/Apache/apache
referenced feature
Apache
in contentTree
in requests
in size
out requests
out size
out contentTree
ApacheQOS.control
endpoint=akka.tcp://actress@remote-main/user/ApacheQOS/control
apache: ApacheWebServer
control
: QOSControl
composite feature
// deployed at remote-apache
composite Apache {
feature apache = new ApacheWebServer { ... }
feature control = ref ApacheQOS.control @ "akka://remote-main/user/ApacheQOS/control"
}
!
// deployed at host remote-main
composite ApacheQOS {
feature control = new QOSControl { ... }
feature apache = ref Apache.apache @ "akka://remote-apache/user/Apache/apache"
// ...
}
Distribution
Visibility
31. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
REFLECTION
Visibility
ApacheQOS
control
layer
sysLoad
: SystemLoad
meta-control
layer
periodController
: PeriodController
out output
in load out period
system
layer
sysLoadTrigger
: PeriodTrigger
in input
out output
in contentTree
apache
: ApacheWebServer
in requests
in size
out requests
out size
out contentTree
QOSControl
scheduler
: PeriodTrigger
in input out output
setPeriod
provided in setPeriod
... ...
provided effectorpromotion
provided in setPeriod
control
: QOSControl
active processor PeriodicTrigger<T> {
pull in port input: T
push out port output: T
!
provided effector setPeriod: Long
!
property initialPeriod = 10.seconds
}
!
composite QOSControl {
// ...
promote scheduler.setPeriod
// ...
}
Complexcontrol
32. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Visibility
Complexcontrol
ApacheQOS
control
layer
sysLoad
: SystemLoad
meta-control
layer
out output
in load out period
system
layer
in contentTree
apache
: ApacheWebServer
in requests
in size
out requests
out size
out contentTree
QOSControl
scheduler
: PeriodTrigger
in input out output
setPeriod
provided in setPeriod
... ...
provided effectorpromotion
provided in setPeriod
control
: QOSControl
periodControl
: AdaptiveMonitoring
REFLECTION - ADAPTIVE MONITORING
Reusability
33. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
INTERACTION CONTRACTS
in input
: Accumulator
out sum
• Activated on input push request
• Activated on sum pull request
34. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
INTERACTION CONTRACTS
in input
: Accumulator
out sumin reset
out output
• Activated on input push request
• Activated on reset push request
• Activated on input / reset request
• Activated on sum pull request
• Activated on input push request always pushing data on output
• Activated on reset push request always pushing data on output
• ....
35. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
INTERACTION CONTRACTS
in input
: Accumulator
out sumin reset
out output
• Behavior not explicitly stated in the architecture - Black Box
• Limits verification support
• Limits code-generation support
When it receives data on its input port, it pushes to
its output port the input value plus the sum of all
the input values it has received since the last time
the reset port was triggered, similarly, when pulled
on the sum port, it returns the sum of all the input
values since the last reset, and finally receiving
any data on its reset port, sets the current
accumulated value back to 0.
if (!input.isEmpty()) {
value += input.get
output.send(value)
} else if (!reset.isEmpty()) {
reset.get()
value = 0
} else if (!sum.isEmpty()) {
sum.send(value)
} else {
throw new IllegalStateException("Invalid execution")
}
36. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
INTERACTION CONTRACTS
in input
: Accumulator
out sumin reset
out output
• Describe allowed interactions among components
Visibility
• Originally developed by Cassou et al. for SCC systems
• Our extensions
• Elements with multiple output ports
• Multiple port connections
• Composites
• Composite interaction contract inference algorithm
• Optional contracts
• Completion verification algorithm
processor Accumulator {
push in port reset: int
push in port input: long
pull out port sum: long
push out port output: long
!
act onInput(input; ; output)
act onSum(sum; ; )
act onReset(reset; ; )
}
37. 28.3.2014, SAC’14 - DADSACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
The ACTRESS Modeling Environment
2
38. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Modeling
VerificationCode Generation
Tooling
• Reference implementation of FCDL based on Eclipse Modeling Framework
• Facilitate the use of FCDL
THE ACTRESS MODELING ENVIRONMENT
39. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ACTRESS - MODELING SUPPORT
controller UtilizationController {
// ...
!
// interaction contract
act activate(utilization; ; contentTree)
// beginning of Xbase implementation
implementation xbase {
var G = M
!
// interaction contract
act activate {
// computes the error
val E = targetUtilization - utilization
// computes new extend of adaptation
G = G + k * E
!
// correct bounds
if (G < 0) G = 0
if (G > M) G = M
// returns the result
G
}
}
• xFCDL (Extended FCDL)
• Textual DSL for authoring FCDL models
• Additionally supports
• Modularity
• Java interoperability
• Implementation specification
using Xbase
• Eclipse IDE support
utilController
: UtilizationController
in utilization
out contentTree
k=?
U*=?
40. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ACTRESS - CODE GENERATION SUPPORT
accessLogParser accessLog adaptor
apache control
requestCounter
responseSizeCounter
loadMonitor
utilization
scheduler utilController
ApacheQOS
ACTRESS Runtime
actor
actor with
event listener
composite
actor
containment
message
passing
ApacheQOS utilController
: UtilizationController
in input
requestCounter
: Accumulator
responseSizeCounter
: Accumulator
scheduler
: PeriodTrigger
loadMonitor
: LoadMonitor
in input
out sum out sum
in requests in size
out utilization
in input
out output
in utilization
out contentTree
out requests
out size
initialPeriod=10s
in contentTree
server
: ApacheWebServer
k=?
U*=?
Code generator
Model-to-Text
transformation
ACTRESS
Domain
Framework
FCDL Model
Executable System
• Xbase compiled to Java
• Skeleton implementation
41. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ACTRESS - CODE GENERATION SUPPORT - SKELETON IMPLEMENTATION
@SuppressWarnings("all")
public class UtilizationControllerAct extends AdaptiveElementAct {
!
// ...
!
protected double activate(final double utilization) {
// TODO: compute and output value for contentTree port
}
!
// ...
!
}
utilController
: UtilizationController
in utilization
out contentTree
k=?
U*=?
• Prescriptive
• Restrictive
Visibility
42. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ACTRESS - VERIFICATION SUPPORT • Architecture
• Consistency
• Determinacy
• Completeness
• Interaction contracts verification
@OCL(invDifferentSource="self.ports
->select(p | p.name = 'size' || p.name = 'requests') // select ports
->collect(p | p.connections) // select their connects
->collect(p | p.parent) // select owning instances
->asSet()->size() == 2 // there must be two different ones
")
processor LoadMonitor {
• User-defined structural constraints
• xFCDL OCL annotations
• User temporal constraints
• FCDL to PROMELA transformation
• SPIN model checker
⇤ ( accessLogParseractivate ! (⌃ utilControlleractivate))
FCDL Verification
• Model well-formedness
• Data-type compatibility
• Port connections
• Required properties
• and others
• Meta-model constraints
43. 28.3.2014, SAC’14 - DADSACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
Assessment and Summary
3
44. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ASSESSMENT
• Illustration case study - running example
• Additional case studies in the area of HTC computing
• HTCondor Local Job Submission Overload Control
• HTCondor Distributed Job Submission Overload Control
c 0
1
2
1 2
Overall implementation effort
Separation of concerns
45. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ASSESSMENT
Generality Visibility
Reusability
• Reused elements across scenarios
• Potentially any self-* property
• Abstraction is close to block diagrams from
control theory
• Control complex schemes through reflection
• FCDL is technology agnostic
• xFCDL with Xbase depends on Java
• ACTRESS runtime depends on Java
Distribution
Complex control
• Case Study 2 deployed on 10 Grid5000 hosts
• All case studies use hierarchical control • Eclipse based modeling environment
• Model to code synthesis
Tooling
• Explicit FCLs
• Explicit AE
• Explicit AE interactions
• Known concepts such as ports and composites
• Higher-level of abstraction using control theory
concepts
46. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
ASSESSMENT
Generality Visibility
Reusability
• Reused elements across scenarios
• Potentially any self-* property
• Abstraction is close to block diagrams from
control theory
• Control complex schemes through reflection
• FCDL is technology agnostic
• xFCDL with Xbase depends on Java
• ACTRESS runtime depends on Java
Distribution
Complex control
• Case Study 2 deployed on 10 Grid5000 hosts
• All case studies use hierarchical control • Eclipse based modeling environment
• Model to code synthesis
Tooling
• Explicit FCLs
• Explicit AE
• Explicit AE interactions
• Known concepts such as ports and composites
• Higher-level of abstraction using control theory
concepts
• Performance1
• ACTRESS runtime accounts for ~1.5MB
• AE accounts for 400 bytes
• 5000 messages accounts for 5% of CPU utilization
1
MacBook Pro 2.53 Ghz Intel i5, 8GB RAM, Java 1.70_17, Akka 2.2.0
47. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
SUMMARY
• Combining self-adaptive software systems with principles of MDE to provide
systematic and tooled approach for integrating control mechanisms into
software applications.
!
• A reference implementation and tools facilitating the language use including
modeling, code synthesis and verification support.
49. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
CASE STUDIES
HTCondor Client Host
schedd
DAGMan 1
DAGMan 2
DAGMan N
User Interface
Submit
workflows
...
Executes
HTCondor cluster
of worker nodes
Users
Spawns
Submitjobs
Case Study 1
Case Study 2
50. 28.3.2014, SAC’14 - DADS
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software
Architectures
CASE STUDIES
HTCondor Client Host
schedd
DAGMan 1
DAGMan 2
DAGMan N
User Interface
Submit
workflows
...
Executes
HTCondor cluster
of worker nodes
Users
Spawns
Submitjobs
Case Study 1
User Interface 1
User Interface 2
User Interface N
Executes
HTCondor cluster
of worker nodes
Users
Users
Users
Submit
workflows
Submit
jobs
...
Central schedd
Case Study 2