Jean-Marie Favre is a software language archeologist and anthropologist who studies legacy software and existing software ecosystems. He works as a principal scientist at OneTreeTechnologies and is an assistant professor at the University of Grenoble. He has studied large software ecosystems with thousands of components and frameworks at companies like Dassault Systèmes. His work involves understanding the diversity and complexity of software languages, technologies, and their combinations over time.
How to calculate and interpret CPI as it is used in earned value analysis in project management. Download additional slides, videos, and resources at https://www.christiansonjs.com/
Signup for The Free-Range Technologist, a monthly newsletter filled with creative commons resources, useful apps, and lifehacks: https://mailchi.mp/f8f0219bc305/jscott
How to calculate and interpret SPI as it is used in earned value analysis in project management. Download additional slides, videos, and resources at https://www.christiansonjs.com/
Signup for The Free-Range Technologist, a monthly newsletter filled with creative commons resources, useful apps, and lifehacks: https://mailchi.mp/f8f0219bc305/jscott
What does the price of bananas have to do with your supply contract?
Many businesses use CPI in their contracts when PPI may be a more accurate index to measure the price fluctuations in a more relevant market, saving you millions.
CPI International Group Rich Picture
The above figure represents a brief description of the CPI International Group rich picture. According to Monk & Howard (1998) in their article Methods and Tools, they argued that the rich picture should represents primary stakeholders, their interrelations, their concerns as well as three very important components, structure process & concerns.
The CPI rich pictures illustrates most of the components referred to by Monk & Howard (1998) where it describes the business structure with its three main folds, pharmaceutical, education, and renewable energy. The rich picture also refers to the processes of import, export & registration in the pharmaceutical business where the core of the value creation process in this sector. It also draws a line for both the online and on campus corporate education model that used to support the group business worldwide and finally, the pictures illustrates the types of renewable energy installations & projects where the group is currently involved.
The rich picture also refers to the stakeholders of the CPI business worldwide including, agents, partners, governments, and clients. At the same time it defines the competition scale in business, particularly in the pharmaceutical and the energy markets. The rich picture also illustrates the continuos effect of the local and international policies and regulations in such highly regulated market.
References
Monk, A. & Howard, S. (1998) ‘Methods and tools, the rich picture: A tool for reasoning about work context’, Interactions, 5 (2), pp. 21-30, ACM [Online].
How to calculate and interpret CPI as it is used in earned value analysis in project management. Download additional slides, videos, and resources at https://www.christiansonjs.com/
Signup for The Free-Range Technologist, a monthly newsletter filled with creative commons resources, useful apps, and lifehacks: https://mailchi.mp/f8f0219bc305/jscott
How to calculate and interpret SPI as it is used in earned value analysis in project management. Download additional slides, videos, and resources at https://www.christiansonjs.com/
Signup for The Free-Range Technologist, a monthly newsletter filled with creative commons resources, useful apps, and lifehacks: https://mailchi.mp/f8f0219bc305/jscott
What does the price of bananas have to do with your supply contract?
Many businesses use CPI in their contracts when PPI may be a more accurate index to measure the price fluctuations in a more relevant market, saving you millions.
CPI International Group Rich Picture
The above figure represents a brief description of the CPI International Group rich picture. According to Monk & Howard (1998) in their article Methods and Tools, they argued that the rich picture should represents primary stakeholders, their interrelations, their concerns as well as three very important components, structure process & concerns.
The CPI rich pictures illustrates most of the components referred to by Monk & Howard (1998) where it describes the business structure with its three main folds, pharmaceutical, education, and renewable energy. The rich picture also refers to the processes of import, export & registration in the pharmaceutical business where the core of the value creation process in this sector. It also draws a line for both the online and on campus corporate education model that used to support the group business worldwide and finally, the pictures illustrates the types of renewable energy installations & projects where the group is currently involved.
The rich picture also refers to the stakeholders of the CPI business worldwide including, agents, partners, governments, and clients. At the same time it defines the competition scale in business, particularly in the pharmaceutical and the energy markets. The rich picture also illustrates the continuos effect of the local and international policies and regulations in such highly regulated market.
References
Monk, A. & Howard, S. (1998) ‘Methods and tools, the rich picture: A tool for reasoning about work context’, Interactions, 5 (2), pp. 21-30, ACM [Online].
Linux and Open Source in Math, Science and EngineeringPDE1D
Covers a brief history of Open Source Math, Science and Engineering Software on Linux. A look at the software tools currently available for mathematical analysis and plotting for math science and engineering. Presented at 2011 Ohio LinuxFest.
This presentation introduces Deep Learning (DL) concepts, such as neural neworks, backprop, activation functions, and Convolutional Neural Networks, followed by an Angular application that uses TypeScript in order to replicate the Tensorflow playground.
In Opera Software we use Perl extensively.
From internal systems to high traffic web sites and browser-integration services like Opera Link and Opera Unite.
Most of them are mission-critical systems, up and running 24x7.
Brains, Data, and Machine Intelligence (2014 04 14 London Meetup)Numenta
Jeff will discuss the Brains, Data, Machine Intelligence, Cortical Learning Algorithm he developed and the Numenta Platform for Intelligent Computing (NuPIC).
This presentation focuses on Deep Learning (DL) concepts, such as neural neworks, backprop, activation functions, and Convolutional Neural Networks, with a short introduction to D3, and followed by a TypeScript-based code sample that replicates the TensorFlow playground. Basic knowledge of matrices is helpful.
"A fast-paced introduction to Deep Learning (DL) concepts, such as neural networks, back propagation, activation functions, and CNNs. We'll also look at JavaScript-based toolkits (such as TensorFire and deeplearning.js) that leverage the power of WebGL. Basic knowledge of elementary calculus (e.g., derivatives) is recommended in order to derive the maximum benefit from this session.
Machine Learning is increasingly being used by organisations to move from analysis to prediction. How AWS and open source technology can help you to perform both Deep Learning and Machine Learning
This presentation focuses on Deep Learning (DL) concepts, such as neural neworks, backprop, activation functions, and Convolutional Neural Networks, with a short introduction to D3, and followed by a TypeScript-based code sample that replicates the TensorFlow playground. Basic knowledge of matrices is helpful.
How Deep Learning will change IoT to take us into new era of AI driven smart IoT devices with intelligence at the edge. Talk covers use cases and code details for running Tensorflow models on Intel Edison and Raspberry Pi. Slides from the talk given at Intel Iot With the Best 2017 conference
WRENCH enables novel avenues for scientific workflow use, research, development, and education. WRENCH capitalizes on recent and critical advances in the state of the art of distributed platform/application simulation. WRENCH builds on top of the open-source SimGrid simulation framework. SimGrid enables the simulation of large-scale distributed applications in a way that is accurate (via validated simulation models), scalable (low ratio of simulation time to simulated time, ability to run large simulations on a single computer with low compute, memory, and energy footprints), and expressive (ability to simulate arbitrary platform, application, and execution scenarios). WRENCH provides directly usable high-level simulation abstractions using SimGrid as a foundation. More information on https://wrench-project.org
In a nutshell, WRENCH makes it possible to:
- Prototype implementations of Workflow Management System (WMS) components and underlying algorithms;
- Quickly, scalably, and accurately simulate arbitrary workflow and platform scenarios for a simulated WMS implementation; and
- Run extensive experimental campaigns to conclusively compare workflow executions, platform architectures, and WMS algorithms and designs.
tl;dr - How will the everyday developer cope with Java 8’s Language changes?
Java 8 will ship with a powerful new abstraction - Lambda Expressions (aka Closures) and a completely retooled set of Collections libraries. In addition interfaces have changed through the addition of default and static methods. The ongoing debate as to whether Java should include such language changes has resulted in many vocal opinions being espoused. Sadly few of these opinions have been backed up by practical experimentation and experience. - Are these opinions just myths?
- What mistakes does a developer make?
- Can a ‘blue collar’ Java Developer cope with functional programming?
- Can we avoid these mistakes in future?
In London, we’ve been running a series of hackdays trying out Lambda Expressions as part of the Adopt-a-JSR program and have been recording and analysing the results. Huge topics of mailing list discussion have been almost entirely irrelevant problems to developers, and some issues which barely got any coverage at all have proved to be a consistent thorn in people’s side.
Dissecting State-of-the-Art Android Malware Using Static and Dynamic AnalysisCHOOSE
Steven Arzt — CHOOSE Talk — 2016-11-15
http://www.choose.s-i.ch/events/arzt-2016/
Android malware is getting more and more sophisticated. So-called "sleeper" applications only trigger their malicious behavior after a certain time has passed or event has happened, effectively evading many dynamic analysis techniques. Other techniques include integrity checks as well as detectors for emulators, rooted devices, and hooks. If any such sign is detected, the malware refrains from its actual malicious behavior. For countering static analyses, these apps apply code encryption, packers, and code obfuscators. Together, these features render most automated analyses ineffective, leaving a manual analysis as the only viable option — a very difficult and time-consuming undertaking.
To alleviate the problem, we propose CodeInspect, a new integrated reverse-engineering environment extending the Eclipse IDE and targeting sophisticated state-of-the-art malware apps for Android. CodeInspect not only features an interactive debugger that can work on the bytecode level, but also various static and dynamic analyses that support the human analyst. One can display data flows inside the app, check which permissions are used where in the code, what strings are computed or decrypted at runtime, which code is dynamically loaded and more. Reverse engineers can even add new Java source classes or projects into the application, which can then be called from the original app’s code. This is especially useful when implementing decryption methods which can be directly tested in place.
Continuous Architecting of Stream-Based SystemsCHOOSE
Pooyan Jamshidi CHOOSE Talk 2016-11-01
Big data architectures have been gaining momentum in recent years. For instance, Twitter uses stream processing frameworks like Storm to analyse billions of tweets per minute and learn the trending topics. However, architectures that process big data involve many different components interconnected via semantically different connectors making it a difficult task for software architects to refactor the initial designs. As an aid to designers and developers, we developed OSTIA (On-the-fly Static Topology Inference Analysis) that allows: (a) visualizing big data architectures for the purpose of design-time refactoring while maintaining constraints that would only be evaluated at later stages such as deployment and run-time; (b) detecting the occurrence of common anti-patterns across big data architectures; (c) exploiting software verification techniques on the elicited architectural models. In the lecture, OSTIA will be shown on three industrial-scale case studies.
See: http://www.choose.s-i.ch/events/jamshidi-2016/
More Related Content
Similar to Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies
Linux and Open Source in Math, Science and EngineeringPDE1D
Covers a brief history of Open Source Math, Science and Engineering Software on Linux. A look at the software tools currently available for mathematical analysis and plotting for math science and engineering. Presented at 2011 Ohio LinuxFest.
This presentation introduces Deep Learning (DL) concepts, such as neural neworks, backprop, activation functions, and Convolutional Neural Networks, followed by an Angular application that uses TypeScript in order to replicate the Tensorflow playground.
In Opera Software we use Perl extensively.
From internal systems to high traffic web sites and browser-integration services like Opera Link and Opera Unite.
Most of them are mission-critical systems, up and running 24x7.
Brains, Data, and Machine Intelligence (2014 04 14 London Meetup)Numenta
Jeff will discuss the Brains, Data, Machine Intelligence, Cortical Learning Algorithm he developed and the Numenta Platform for Intelligent Computing (NuPIC).
This presentation focuses on Deep Learning (DL) concepts, such as neural neworks, backprop, activation functions, and Convolutional Neural Networks, with a short introduction to D3, and followed by a TypeScript-based code sample that replicates the TensorFlow playground. Basic knowledge of matrices is helpful.
"A fast-paced introduction to Deep Learning (DL) concepts, such as neural networks, back propagation, activation functions, and CNNs. We'll also look at JavaScript-based toolkits (such as TensorFire and deeplearning.js) that leverage the power of WebGL. Basic knowledge of elementary calculus (e.g., derivatives) is recommended in order to derive the maximum benefit from this session.
Machine Learning is increasingly being used by organisations to move from analysis to prediction. How AWS and open source technology can help you to perform both Deep Learning and Machine Learning
This presentation focuses on Deep Learning (DL) concepts, such as neural neworks, backprop, activation functions, and Convolutional Neural Networks, with a short introduction to D3, and followed by a TypeScript-based code sample that replicates the TensorFlow playground. Basic knowledge of matrices is helpful.
How Deep Learning will change IoT to take us into new era of AI driven smart IoT devices with intelligence at the edge. Talk covers use cases and code details for running Tensorflow models on Intel Edison and Raspberry Pi. Slides from the talk given at Intel Iot With the Best 2017 conference
WRENCH enables novel avenues for scientific workflow use, research, development, and education. WRENCH capitalizes on recent and critical advances in the state of the art of distributed platform/application simulation. WRENCH builds on top of the open-source SimGrid simulation framework. SimGrid enables the simulation of large-scale distributed applications in a way that is accurate (via validated simulation models), scalable (low ratio of simulation time to simulated time, ability to run large simulations on a single computer with low compute, memory, and energy footprints), and expressive (ability to simulate arbitrary platform, application, and execution scenarios). WRENCH provides directly usable high-level simulation abstractions using SimGrid as a foundation. More information on https://wrench-project.org
In a nutshell, WRENCH makes it possible to:
- Prototype implementations of Workflow Management System (WMS) components and underlying algorithms;
- Quickly, scalably, and accurately simulate arbitrary workflow and platform scenarios for a simulated WMS implementation; and
- Run extensive experimental campaigns to conclusively compare workflow executions, platform architectures, and WMS algorithms and designs.
tl;dr - How will the everyday developer cope with Java 8’s Language changes?
Java 8 will ship with a powerful new abstraction - Lambda Expressions (aka Closures) and a completely retooled set of Collections libraries. In addition interfaces have changed through the addition of default and static methods. The ongoing debate as to whether Java should include such language changes has resulted in many vocal opinions being espoused. Sadly few of these opinions have been backed up by practical experimentation and experience. - Are these opinions just myths?
- What mistakes does a developer make?
- Can a ‘blue collar’ Java Developer cope with functional programming?
- Can we avoid these mistakes in future?
In London, we’ve been running a series of hackdays trying out Lambda Expressions as part of the Adopt-a-JSR program and have been recording and analysing the results. Huge topics of mailing list discussion have been almost entirely irrelevant problems to developers, and some issues which barely got any coverage at all have proved to be a consistent thorn in people’s side.
Similar to Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies (20)
Dissecting State-of-the-Art Android Malware Using Static and Dynamic AnalysisCHOOSE
Steven Arzt — CHOOSE Talk — 2016-11-15
http://www.choose.s-i.ch/events/arzt-2016/
Android malware is getting more and more sophisticated. So-called "sleeper" applications only trigger their malicious behavior after a certain time has passed or event has happened, effectively evading many dynamic analysis techniques. Other techniques include integrity checks as well as detectors for emulators, rooted devices, and hooks. If any such sign is detected, the malware refrains from its actual malicious behavior. For countering static analyses, these apps apply code encryption, packers, and code obfuscators. Together, these features render most automated analyses ineffective, leaving a manual analysis as the only viable option — a very difficult and time-consuming undertaking.
To alleviate the problem, we propose CodeInspect, a new integrated reverse-engineering environment extending the Eclipse IDE and targeting sophisticated state-of-the-art malware apps for Android. CodeInspect not only features an interactive debugger that can work on the bytecode level, but also various static and dynamic analyses that support the human analyst. One can display data flows inside the app, check which permissions are used where in the code, what strings are computed or decrypted at runtime, which code is dynamically loaded and more. Reverse engineers can even add new Java source classes or projects into the application, which can then be called from the original app’s code. This is especially useful when implementing decryption methods which can be directly tested in place.
Continuous Architecting of Stream-Based SystemsCHOOSE
Pooyan Jamshidi CHOOSE Talk 2016-11-01
Big data architectures have been gaining momentum in recent years. For instance, Twitter uses stream processing frameworks like Storm to analyse billions of tweets per minute and learn the trending topics. However, architectures that process big data involve many different components interconnected via semantically different connectors making it a difficult task for software architects to refactor the initial designs. As an aid to designers and developers, we developed OSTIA (On-the-fly Static Topology Inference Analysis) that allows: (a) visualizing big data architectures for the purpose of design-time refactoring while maintaining constraints that would only be evaluated at later stages such as deployment and run-time; (b) detecting the occurrence of common anti-patterns across big data architectures; (c) exploiting software verification techniques on the elicited architectural models. In the lecture, OSTIA will be shown on three industrial-scale case studies.
See: http://www.choose.s-i.ch/events/jamshidi-2016/
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Choose'10: Jean-Marie Favre - Domain and Technique Specific Languages – A Journey through the Ages, Languages and Technologies
1. Jean-Marie Favre
Software Language Archeologist
Software Anthropologist
Principal Scientist at OneTreeTechnologies
Assistant Professor at the University of Grenoble
2. Domain
and
Techniques
Specific
Languages
A
Journey
through
the
Ages,
Languages
and
Technologies
Jean-Marie Favre
Software Language Archeologist
Software Anthropologist
Principal Scientist at OneTreeTechnologies
Assistant Professor at the University of Grenoble
3. Personal
Background
So#ware
Evolu-on
in
the
Large
Software Archeology
Study of legacy
to (re)discover information about software
Software Anthropology
Study of existing
in particular through consciencous participation
software artefacts
software ecosystems
4. One of the largest software companies in Europe
70
000+
C++
classes
3
000+
DLLs
8
000+
components
800+
frameworks
xxx
soluIons“
…
Dassault
Systèmes
Software eco-system
Software artefacts
1200+
“soOware
engineers”
Many
fields
of
experIse
ConsorIums
of
companies
(boeing
+…)
5. Group of model-driven companies
Large
soOware
products
TransacIonal
systems
Decision
making
systems
All
kind
of
technologies
OneTree
Software eco-system
Software artefacts
From
business
to
IT
Many
fields
of
experIse
IBM
partnerships
European
insItuIons
/
Governments
/
Banking
/
7. We
are
smart
since Stone Age
when we have problems
we invent new technologies
8. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
MySQL
ArgoUML
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
We
have
a
problem
Today
9. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
• Languages
Technologies
• Diversity
• Complexity
• Combina-ons
• Founda-ons
• Global
View
Main
Issues
10. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
Prolog
OMG
QVT
Ralf
Teneo
EXPRESS-G
Language
is
the
raw
material
of
so2ware
engineering,
rather
as
water
is
the
raw
material
for
hydraulic
engineering.
…
Robin Milner,Turing Award
in Turing, Computing and Communication
11. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
TENEO
Antlr
SQL DDL
Prolog
OMG
QVT
ArgoUML
Ralf
TCS
ER
EXPRESS-G
ER
The
difference
is
that
water
is
rather
well
understood
by
physical
science;
but
so2ware
as
a
raw
material
–
is
s4ll
not
scien4fically
understood.
Robin Milner,Turing Award
in Turing, Computing and Communication
12. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
Antlr
Prolog
OMG
QVT
ArgoUML
TCS
ER
EXPRESS-G
Language
is
the
raw
material
of
so2ware
engineering.
So2ware
as
a
raw
material
–
is
s4ll
not
scien4fically
understood.
Robin Milner,Turing Award
in Turing, Computing and Communication
13. First Order Logics
EMF
SQL
TENEO
Java
XSD
DOM
Antlr
OWL
UML
XMI
Ecore
SQL DDL
XLST
Saxon
Hibernate
Awk
Json
Yacc
JAXP
Rest
OWL
RDF
ATOM
SparQL
XSLT
DTD
BNF
XSD
OCL
Prolog
grep
MOF
OMG
QVT
jDOM
Rose
Protégé
XQuery
ODM
XMLSpy
JPA
JAXB
JDBC
ODBC
ArgoUML
Description Logic
Jena
Jena
Relational Algebra
TXL
VLDB
EMF.gen
ORACLE
TCS
XText
Teneo
Jersey
GWT
Sesame
Stratego
XPATH
JeanBeans
UTF8
ASCII
RDFa
RDF(S)
RDFS
CFG
LALR
ER
xerces
xalan
saxon
sax
sed
XSD
JMI
JMF
SBVR
BPEL
BPMN
EXPRESS-G
ER
InfoSet
LALR
Automata
Petri nets
Fuzzy Logics
Relational Calculus
regexpr
regexpr
Automata
Lambda calculus
Pi Calculus
Set Theory
Modal logic
Teneo
Caml
CSP
C++
XSLT
OCL
MySQL
Stratego
CFG
xalan
EXPRESS-G
Emerging
Topics
• So#ware
Languages
• So#ware
Linguis-cs
• So#ware
Language
Engineering
14. OUT
LINE
Part I
The
SoOware
Language
Jungle
Part II
History
of
Language
Technologies
Part III
3-‐steps
Towards
Civilized
InformaIcs
Part IV
On
the
Need
of
Domain
Specific
Languages
16. The
SoOware
Language
Jungle
• Programming
Languages
(e.g.
Java)
• SpecificaIon
Languages
(Z)
• Requirement
Languages
(SBVR)
• Modeling
Languages
(UML)
• Architecture
DescripIon
Languages
(Wright)
• FormaIng
Languages
(LaTeX)
• ScripIng
Languages
(ksh)
• Business
Process
Languages
(BPEL)
• Visual
Languages
(Gang)
• Domain
Specific
Languages
(Excel
)
• Model
TransformaIon
Languages
(ATL)
• Program
TransformaIon
Languages
(Stratego)
• Document
TransformaIon
Languages
(XSLT)
• MathemaIcal
Languages
(MathemaIca)
• Chemistry
Languages
(Smiley)
• Feature
Languages
(FODA)
• Meta-‐language
(BNF)
• Web
Service
Languages
(WSDL)
• Deployment
Languages
(Nix)
• RewriIng
languages
(Tom)
• Build
Languages
(Make)
• Pagern
Languages
• EducaIon
Modeling
Languages
• Rule
Languages
• ConfiguraIon
languages
• Markup
Languages
(HTML)
• Media
Languages
(Flash)
• Query
Languages
(SQL)
• ….
42. (1) Paleolitics
(2) Neolithics
(3) Civilisation
(1) Paleo-informatics
(2) Neo-informatics
(3) Civilized informatics
Ancient World
Social Structures
5-10
10-100
1000-100000
People
Caves
Settlements
Villages
Cities
Kingdoms
Empires
Hunters
Software World
Social Structures
1-5
10-100
1000-10000???
Programmers
People
In-house
development
Early software
contractors
Software
companies
Software
ecosystems
Software
parterships
Teachers
Lawyers
Soldiers
…
Cattlemen
Farmers
Bakers
Metalworkers
Carpenters
…
…
Designers
Testers
Architects
Analysts
…
…
Domain
experts
Standardiz.
bodies
Language
Engineers
…
Separa-ons
of
ac-vi-es
Structura-on
of
ac-vi-es
Inven-on
of
the
wheel
Inven-on
of
internet
WriJen
Languages
So#ware
Languages
47. Coping
with
Knowledge
AccumulaIon
(1) Brain
Specialization
(2) Language
Specialization
2y
=
ax+c
«By
relieving
the
brain
of
all
unnecessary
work,
a
good
nota4on
sets
it
free
to
concentrate
on
more
advanced
problems,
and
in
effect
increases
the
mental
power
of
the
race
»
Whitehead,
A.N.
An
IntroducCon
to
MathemaCcs,
1911
48. Rethorical
MathemaIcs
«By
relieving
the
brain
of
all
unnecessary
work,
a
good
nota4on
sets
it
free
to
concentrate
on
more
advanced
problems,
and
in
effect
increases
the
mental
power
of
the
race
»
Whitehead,
A.N.
An
IntroducCon
to
MathemaCcs,
1911
49. Sciences
⇒
Languages
(1) Brain
Specialization
(2) Language
Specialization
2y
=
ax+c
«By
we
cannot
improve
the
language
of
any
science
without,
at
the
same
4me,
improving
the
science
itself;
neither
can
we,
on
the
other
hand,
improve
a
science,
without
improving
the
language
or
nomenclature
which
belongs
to
it
»
Antoine
Lavoisier,
1787