In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation ofcross-cutting concerns. It does so by adding behavior to existing code (an advice) without modifying the code, instead separately specifying which code is modified via a "pointcut" specification, such as "log all function calls when the function's name begins with 'set'". This allows behaviors that are not central to the business logic (such as logging) to be added to a program without cluttering the code of core functions.
AOP includes programming methods and tools that support the modularization of concerns at the level of the source code, while aspect-oriented software development refers to a whole engineering discipline.
Aspect-oriented programming entails breaking down program logic into cohesive areas of functionality (so-called concerns). Nearly all programming paradigms support some level of grouping and encapsulation
of concerns into separate, independent entities by providing
abstractions (e.g., functions, procedures, modules, classes, methods)
that can be used for implementing, abstracting, and composing these
concerns. Some concerns "cut across" multiple abstractions in a program,
and defy these forms of implementation. These concerns are called cross-cutting concerns or horizontal concerns.
Logging exemplifies a cross-cutting concern because a logging strategy must affect every logged part of the system. Logging thereby crosscuts all logged classes and methods.
All AOP implementations have some cross-cutting expressions that
encapsulate each concern in one place. The difference between
implementations lies in the power, safety, and usability of the
constructs provided. For example, interceptors that specify the methods
to express a limited form of cross-cutting, without much support for
type-safety or debugging. AspectJ has a number of such expressions and encapsulates them in a special class, called an aspect. For example, an aspect can alter the behavior of the base code (the non-aspect part of a program) by applying advice (additional behavior) at various join points (points in a program) specified in a quantification or query called a pointcut
(that detects whether a given join point matches). An aspect can also
make binary-compatible structural changes to other classes, such as
adding members or parents.
Gregor Kiczales and colleagues at Xerox PARC developed the explicit concept of AOP and followed this with the AspectJ AOP extension to Java. IBM's research team pursued a tool approach over a language design approach and in 2001 proposed Hyper/J and the Concern Manipulation Environment, which have not seen wide use.
Typically, an aspect is scattered or tangled
as code, making it harder to understand and maintain. It is scattered
by the function (such as logging) being spread over a number of
unrelated functions that might use its function, possibly in
entirely unrelated systems or written in different languages. Thus,
changing logging can require modifying all affected modules. Aspects
become tangled not only with the mainline function of the systems in
which they are expressed but also with each other. Changing one concern
thus entails understanding all the tangled concerns or having some means
by which the effect of changes can be inferred.
For example, consider a banking application with a conceptually
very simple method for transferring an amount from one account to
another:
However, this transfer method overlooks certain considerations that a
deployed application would require, such as verifying that the current
user is authorized to perform this operation, encapsulating database transactions to prevent accidental data loss, and logging the operation for diagnostic purposes.
A version with all those new concerns might look like this:
voidtransfer(AccountfromAcc,AccounttoAcc,intamount,Useruser,Loggerlogger,Databasedatabase)throwsException{logger.info("Transferring money...");if(!isUserAuthorised(user,fromAcc)){logger.info("User has no permission.");thrownewUnauthorisedUserException();}if(fromAcc.getBalance()<amount){logger.info("Insufficient funds.");thrownewInsufficientFundsException();}fromAcc.withdraw(amount);toAcc.deposit(amount);database.commitChanges();// Atomic operation.logger.info("Transaction successful.");}
In this example, other interests have become tangled with the basic functionality (sometimes called the business logic concern). Transactions, security, and logging all exemplify cross-cutting concerns.
Now consider what would happen if we suddenly need to change the
security considerations for the application. In the program's current
version, security-related operations appear scattered across numerous methods, and such a change would require major effort.
AOP tries to solve this problem by allowing the programmer to express cross-cutting concerns in stand-alone modules called aspects. Aspects can contain advice (code joined to specified points in the program) and inter-type declarations
(structural members added to other classes). For example, a security
module can include advice that performs a security check before
accessing a bank account. The pointcut defines the times (join points)
when one can access a bank account, and the code in the advice body
defines how the security check is implemented. That way, both the check
and the places can be maintained in one place. Further, a good pointcut
can anticipate later program changes, so if another developer creates a
new method to access the bank account, the advice will apply to the new
method when it executes.
So for the example above implementing logging in an aspect:
aspectLogger{voidBank.transfer(AccountfromAcc,AccounttoAcc,intamount,Useruser,Loggerlogger){logger.info("Transferring money...");}voidBank.getMoneyBack(Useruser,inttransactionId,Loggerlogger){logger.info("User requested money back.");}// Other crosscutting code.}
One can think of AOP as a debugging tool or a user-level tool. Advice
should be reserved for cases in which one cannot get the function
changed (user level) or do not want to change the function in production code (debugging).
Join point models
The advice-related component of an aspect-oriented language defines a join point model (JPM). A JPM defines three things:
When the advice can run. These are called join points
because they are points in a running program where additional behavior
can be usefully joined. A join point needs to be addressable and
understandable by an ordinary programmer to be useful. It should also be
stable across inconsequential program changes to maintain aspect
stability. Many AOP implementations support method executions and field
references as join points.
A way to specify (or quantify) join points, called pointcuts.
Pointcuts determine whether a given join point matches. Most useful
pointcut languages use a syntax like the base language (for example, AspectJ uses Java signatures) and allow reuse through naming and combination.
A means of specifying code to run at a join point. AspectJ calls this advice,
and can run it before, after, and around join points. Some
implementations also support defining a method in an aspect on another
class.
Join-point models can be compared based on the join points exposed,
how join points are specified, the operations permitted at the join
points, and the structural enhancements that can be expressed.
The join points in AspectJ include method or constructor
call or execution, the initialization of a class or object, field read
and write access, and exception handlers. They do not include loops,
super calls, throws clauses, or multiple statements.
Pointcuts are specified by combinations of primitive pointcut designators (PCDs).
"Kinded" PCDs match a particular kind of join point (e.g., method
execution) and often take a Java-like signature as input. One such
pointcut looks like this:
execution(*set*(*))
This pointcut matches a method-execution join point, if the method name starts with "set" and there is exactly one argument of any type.
"Dynamic" PCDs check runtime types and bind variables. For example,
this(Point)
This pointcut matches when the currently executing object is an instance of class Point. Note that the unqualified name of a class can be used via Java's normal type lookup.
"Scope" PCDs limit the lexical scope of the join point. For example:
within(com.company.*)
This pointcut matches any join point in any type in the com.company package. The * is one form of the wildcards that can be used to match many things with one signature.
Pointcuts can be composed and named for reuse. For example:
This pointcut matches a method-execution join point, if the method name starts with "set" and this is an instance of type Point in the com.company package. It can be referred to using the name "set()".
Advice
specifies to run at (before, after, or around) a join point (specified
with a pointcut) certain code (specified like code in a method). The AOP
runtime invokes Advice automatically when the pointcut matches the join
point. For example:
after():set(){Display.update();}
This effectively specifies: "if the set() pointcut matches the join point, run the code Display.update() after the join point completes."
Other potential join point models
There
are other kinds of JPMs. All advice languages can be defined in terms
of their JPM. For example, a hypothetical aspect language for UML may have the following JPM:
The means of affect at these points are a visualization of all the matched join points.
Inter-type declarations
Inter-type declarations provide a way to express cross-cutting concerns affecting the structure of modules. Also known as open classes and extension methods,
this enables programmers to declare in one place members or parents of
another class, typically to combine all the code related to a concern in
one aspect. For example, if a programmer implemented the cross-cutting
display-update concern using visitors, an inter-type declaration using
the visitor pattern might look like this in AspectJ:
aspectDisplayUpdate{voidPoint.acceptVisitor(Visitorv){v.visit(this);}// other crosscutting code...}
This code snippet adds the acceptVisitor method to the Point class.
Any structural additions are required to be compatible with the
original class, so that clients of the existing class continue to
operate, unless the AOP implementation can expect to control all clients
at all times.
Implementation
AOP programs can affect other programs in two different ways, depending on the underlying languages and environments:
a combined program is produced, valid in the original language
and indistinguishable from an ordinary program to the ultimate
interpreter
the ultimate interpreter or environment is updated to understand and implement AOP features.
The difficulty of changing environments means most implementations produce compatible combination programs through a type of program transformation known as weaving. An aspect weaver
reads the aspect-oriented code and generates appropriate
object-oriented code with the aspects integrated. The same AOP language
can be implemented through a variety of weaving methods, so the
semantics of a language should never be understood in terms of the
weaving implementation. Only the speed of an implementation and its ease
of deployment are affected by the method of combination used.
Systems can implement source-level weaving using preprocessors (as C++ was implemented originally in CFront)
that require access to program source files. However, Java's
well-defined binary form enables bytecode weavers to work with any Java
program in .class-file form. Bytecode weavers can be deployed during the
build process or, if the weave model is per-class, during class
loading. AspectJ
started with source-level weaving in 2001, delivered a per-class
bytecode weaver in 2002, and offered advanced load-time support after
the integration of AspectWerkz in 2005.
Any solution that combines programs at runtime must provide views
that segregate them properly to maintain the programmer's segregated
model. Java's bytecode support for multiple source files enables any
debugger to step through a properly woven .class file in a source
editor. However, some third-party decompilers cannot process woven code
because they expect code produced by Javac rather than all supported
bytecode forms (see also § Criticism, below).
Deploy-time weaving offers another approach. This basically implies post-processing, but rather than patching the generated code, this weaving approach subclasses
existing classes so that the modifications are introduced by
method-overriding. The existing classes remain untouched, even at
runtime, and all existing tools, such as debuggers and profilers, can be
used during development. A similar approach has already proven itself
in the implementation of many Java EE application servers, such as IBM's WebSphere.
Terminology
Standard terminology used in Aspect-oriented programming may include:
Even though most classes in an object-oriented model will perform a
single, specific function, they often share common, secondary
requirements with other classes. For example, we may want to add logging
to classes within the data-access layer and also to classes in the UI
layer whenever a thread enters or exits a method. Further concerns can
be related to security such as access control or information flow control.
Even though each class has a very different primary functionality, the
code needed to perform the secondary functionality is often identical.
This is the additional code that you want to apply to your existing
model. In our example, this is the logging code that we want to apply
whenever the thread enters or exits a method.:
This refers to the point of execution in the application at which
cross-cutting concern needs to be applied. In our example, a pointcut is
reached when the thread enters a method, and another pointcut is
reached when the thread exits the method.
The combination of the pointcut and the advice is termed an aspect. In
the example above, we add a logging aspect to our application by
defining a pointcut and giving the correct advice.
Comparison to other programming paradigms
Aspects emerged from object-oriented programming and reflective programming. AOP languages have functionality similar to, but more restricted than, metaobject protocols. Aspects relate closely to programming concepts like subjects, mixins, and delegation. Other ways to use aspect-oriented programming paradigms include Composition Filters and the hyperslices
approach. Since at least the 1970s, developers have been using forms of
interception and dispatch-patching that resemble some of the
implementation methods for AOP, but these never had the semantics that
the cross-cutting specifications provide in one place.
Designers have considered alternative ways to achieve separation of code, such as C#'s
partial types, but such approaches lack a quantification mechanism that
allows reaching several join points of the code with one declarative
statement.
Though it may seem unrelated, in testing, the use of mocks or
stubs requires the use of AOP techniques, such as around advice. Here
the collaborating objects are for the purpose of the test, a
cross-cutting concern. Thus, the various Mock Object frameworks provide
these features. For example, a process invokes a service to get a
balance amount. In the test of the process, it is unimportant where the
amount comes from, but only that the process uses the balance according
to the requirements.
Adoption issues
Programmers need to be able to read and understand code to prevent errors.
Even with proper education, understanding cross-cutting concerns can be
difficult without proper support for visualizing both static structure
and the dynamic flow of a program.
Starting in 2002, AspectJ began to provide IDE plug-ins to support the
visualizing of cross-cutting concerns. Those features, as well as aspect
code assist and refactoring, are now common.
Given the power of AOP, making a logical mistake in expressing
cross-cutting can lead to widespread program failure. Conversely,
another programmer may change the join points in a program, such as by
renaming or moving methods, in ways that the aspect writer did not
anticipate and with unforeseen consequences.
One advantage of modularizing cross-cutting concerns is enabling one
programmer to easily affect the entire system. As a result, such
problems manifest as a conflict over responsibility between two or more
developers for a given failure. AOP can expedite solving these problems,
as only the aspect must be changed. Without AOP, the corresponding
problems can be much more spread out.
Criticism
The
most basic criticism of the effect of AOP is that control flow is
obscured, and that it is not only worse than the much-maligned GOTO statement, but is closely analogous to the joke COME FROM statement. The obliviousness of application,
which is fundamental to many definitions of AOP (the code in question
has no indication that an advice will be applied, which is specified
instead in the pointcut), means that the advice is not visible, in
contrast to an explicit method call. For example, compare the COME FROM program:
5INPUTX10PRINT'Result is :'15PRINTX20COMEFROM1025X=X*X30RETURN
Indeed, the pointcut may depend on runtime condition and thus not be
statically deterministic. This can be mitigated but not solved by static
analysis and IDE support showing which advices potentially match.
General criticisms are that AOP purports to improve "both
modularity and the structure of code", but some counter that it instead
undermines these goals and impedes "independent development and
understandability of programs".
Specifically, quantification by pointcuts breaks modularity: "one must,
in general, have whole-program knowledge to reason about the dynamic
execution of an aspect-oriented program."
Further, while its goals (modularizing cross-cutting concerns) are well
understood, its actual definition is unclear and not clearly
distinguished from other well-established techniques. Cross-cutting concerns potentially cross-cut each other, requiring some resolution mechanism, such as ordering. Indeed, aspects can apply to themselves, leading to problems such as the liar paradox.
Technical criticisms include that the quantification of pointcuts
(defining where advices are executed) is "extremely sensitive to
changes in the program", which is known as the fragile pointcut problem.
The problems with pointcuts are deemed intractable. If one replaces the
quantification of pointcuts with explicit annotations, one obtains attribute-oriented programming
instead, which is simply an explicit subroutine call and suffers the
identical problem of scattering, which AOP was designed to solve.
An impact event is a collision between astronomical objects causing measurable effects. Impact events have been found to regularly occur in planetary systems, though the most frequent involve asteroids, comets or meteoroids and have minimal effect. When large objects impact terrestrial planets such as the Earth,
there can be significant physical and biospheric consequences, as the
impacting body is usually traveling at several kilometres a second (a
minimum of 11.2 km/s (7.0 mi/s) for an Earth impacting body), though atmospheres mitigate many surface impacts through atmospheric entry. Impact craters and structures are dominant landforms on many of the Solar System's solid objects and present the strongest empirical evidence for their frequency and scale.
Throughout recorded history, hundreds of Earth impacts (and exploding bolides)
have been reported, with some occurrences causing deaths, injuries,
property damage, or other significant localised consequences. One of the best-known recorded events in modern times was the Tunguska event, which occurred in Siberia, Russia, in 1908. The 2013 Chelyabinsk meteor
event is the only known such incident in modern times to result in
numerous injuries. Its meteor is the largest recorded object to have
encountered the Earth since the Tunguska event. The Comet Shoemaker–Levy 9
impact provided the first direct observation of an extraterrestrial
collision of Solar System objects, when the comet broke apart and
collided with Jupiter in July 1994. An extrasolar impact was observed in
2013, when a massive terrestrial planet impact was detected around the
star ID8 in the star cluster NGC 2547 by NASA's Spitzer Space Telescope and confirmed by ground observations. Impact events have been a plot and background element in science fiction.
In April 2018, the B612 Foundation reported: "It's 100 percent certain we'll be hit [by a devastating asteroid], but we're not 100 percent certain when." Also in 2018, physicist Stephen Hawking considered in his final book Brief Answers to the Big Questions that an asteroid collision was the biggest threat to the planet. In June 2018, the US National Science and Technology Council
warned that America is unprepared for an asteroid impact event, and has
developed and released the "National Near-Earth Object Preparedness
Strategy Action Plan" to better prepare. According to expert testimony in the United States Congress in 2013, NASA would require at least five years of preparation before a mission to intercept an asteroid could be launched. On 26 September 2022, the Double Asteroid Redirection Test
demonstrated the deflection of an asteroid. It was the first such
experiment to be carried out by humankind and was considered to be
highly successful. The orbital period of the target body was changed by
32 minutes. The criterion for success was a change of more than 73
seconds.
Frequency of small asteroids roughly 1 to 20 m in diameter impacting Earth's atmosphere.
Small objects frequently collide with Earth. There is an inverse relationship
between the size of the object and the frequency of such events. The
lunar cratering record shows that the frequency of impacts decreases as
approximately the cube of the resulting crater's diameter, which is on average proportional to the diameter of the impactor. Asteroids with a 1 km (0.62 mi) diameter strike Earth every 500,000 years on average. Large collisions – with 5 km (3 mi) objects – happen approximately once every twenty million years.
The last known impact of an object of 10 km (6 mi) or more in diameter
was at the Cretaceous–Paleogene extinction event 66 million years ago.
The energy released by an impactor depends on diameter, density, velocity, and angle.
The diameter of most near-Earth asteroids that have not been studied by
radar or infrared can generally only be estimated within about a factor
of two, by basing it on the asteroid's brightness. The density is
generally assumed, because the diameter and mass, from which density can
be calculated, are also generally estimated. Due to Earth's escape velocity, the minimum impact velocity is 11 km/s with asteroid impacts averaging around 17 km/s on the Earth. The most probable impact angle is 45 degrees.
Impact conditions such as asteroid size and speed, but also
density and impact angle determine the kinetic energy released in an
impact event. The more energy is released, the more damage is likely to
occur on the ground due to the environmental effects triggered by the
impact. Such effects can be shock waves, heat radiation, the formation
of craters with associated earthquakes, and tsunamis if bodies of water
are hit. Human populations are vulnerable to these effects if they live
within the affected zone. Large seiche waves
arising from earthquakes and large-scale deposit of debris can also
occur within minutes of impact, thousands of kilometres from impact.
Stony asteroids with a diameter of 4 m (13 ft) enter Earth's atmosphere about once a year. Asteroids with a diameter of 7 m enter the atmosphere about every 5 years with as much kinetic energy as the atomic bomb dropped on Hiroshima (approximately 16 kilotonnes of TNT), but the air burst is reduced to just 5 kilotonnes. These ordinarily explode in the upper atmosphere and most or all of the solids are vaporized.
However, asteroids with a diameter of 20 m (66 ft), and which strike
Earth approximately twice every century, produce more powerful
airbursts. The 2013 Chelyabinsk meteor was estimated to be about 20 m in
diameter with an airburst of around 500 kt, an explosion 30 times the
Hiroshima bomb impact. Much larger objects may impact the solid earth
and create a crater.
Based on ρ = 2600 kg/m3; v = 17 km/s; and an angle of 45°
Objects with a diameter less than 1 m (3.3 ft) are called meteoroids
and seldom make it to the ground to become meteorites. An estimated 500
meteorites reach the surface each year, but only 5 or 6 of these
typically create a weather radar signature with a strewn field large enough to be recovered and be made known to scientists.
The late Eugene Shoemaker of the U.S. Geological Survey estimated the rate of Earth impacts, concluding that an event about the size of the nuclear weapon that destroyed Hiroshima occurs about once a year.[citation needed]
Such events would seem to be spectacularly obvious, but they generally
go unnoticed for a number of reasons: the majority of the Earth's
surface is covered by water; a good portion of the land surface is
uninhabited; and the explosions generally occur at relatively high
altitude, resulting in a huge flash and thunderclap but no real damage.
Although no human is known to have been killed directly by an impact, over 1000 people were injured by the Chelyabinsk meteor airburst event over Russia in 2013. In 2005 it was estimated that the chance of a single person born today dying due to an impact is around 1 in 200,000. The two to four-metre-sized asteroids 2008 TC3, 2014 AA, 2018 LA, 2019 MO, 2022 EB5, and the suspected artificial satellite WT1190F are the only known objects to be detected before impacting the Earth.
Geological significance
Impacts have had, during the history of the Earth, a significant geological and climatic influence.
The Moon's existence is widely attributed to a huge impact early in Earth's history. Impact events earlier in the history of Earth
have been credited with creative as well as destructive events; it has
been proposed that impacting comets delivered the Earth's water, and
some have suggested that the origins of life
may have been influenced by impacting objects by bringing organic
chemicals or lifeforms to the Earth's surface, a theory known as exogenesis.
These modified views of Earth's history did not emerge until
relatively recently, chiefly due to a lack of direct observations and
the difficulty in recognizing the signs of an Earth impact because of
erosion and weathering. Large-scale terrestrial impacts of the sort that
produced the Barringer Crater, locally known as Meteor Crater, east of Flagstaff, Arizona, are rare. Instead, it was widely thought that cratering was the result of volcanism:
the Barringer Crater, for example, was ascribed to a prehistoric
volcanic explosion (not an unreasonable hypothesis, given that the
volcanic San Francisco Peaks stand only 48 km or 30 mi to the west). Similarly, the craters on the surface of the Moon were ascribed to volcanism.
It was not until 1903–1905 that the Barringer Crater was
correctly identified as an impact crater, and it was not until as
recently as 1963 that research by Eugene Merle Shoemaker conclusively proved this hypothesis. The findings of late 20th-century space exploration
and the work of scientists such as Shoemaker demonstrated that impact
cratering was by far the most widespread geological process at work on
the Solar System's solid bodies. Every surveyed solid body in the Solar
System was found to be cratered, and there was no reason to believe that
the Earth had somehow escaped bombardment from space. In the last few
decades of the 20th century, a large number of highly modified impact
craters began to be identified. The first direct observation of a major
impact event occurred in 1994: the collision of the comet Shoemaker-Levy 9 with Jupiter.
Based on crater formation rates determined from the Earth's closest celestial partner, the Moon, astrogeologists
have determined that during the last 600 million years, the Earth has
been struck by 60 objects of a diameter of 5 km (3 mi) or more.
The smallest of these impactors would leave a crater almost 100 km
(60 mi) across. Only three confirmed craters from that time period with
that size or greater have been found: Chicxulub, Popigai, and Manicouagan, and all three have been suspected of being linked to extinction events though only Chicxulub, the largest of the three, has been consistently considered. The impact that caused Mistastin crater generated temperatures exceeding 2,370 °C, the highest known to have occurred on the surface of the Earth.
Besides the direct effect of asteroid impacts on a planet's
surface topography, global climate and life, recent studies have shown
that several consecutive impacts might have an effect on the dynamo mechanism at a planet's core responsible for maintaining the magnetic field of the planet, and may have contributed to Mars' lack of current magnetic field. An impact event may cause a mantle plume (volcanism) at the antipodal point of the impact. The Chicxulub impact may have increased volcanism at mid-ocean ridges and has been proposed to have triggered flood basalt volcanism at the Deccan Traps.
While numerous impact craters have been confirmed on land or in the shallow seas over continental shelves, no impact craters in the deep ocean have been widely accepted by the scientific community.
Impacts of projectiles as large as one km in diameter are generally
thought to explode before reaching the sea floor, but it is unknown what
would happen if a much larger impactor struck the deep ocean. The lack
of a crater, however, does not mean that an ocean impact would not have
dangerous implications for humanity. Some scholars have argued that an
impact event in an ocean or sea may create a megatsunami, which can cause destruction both at sea and on land along the coast, but this is disputed. The Eltanin impact into the Pacific Ocean 2.5 Mya is thought to involve an object about 1 to 4 kilometres (0.62 to 2.49 mi) across but remains craterless.
Biospheric effects
The
effect of impact events on the biosphere has been the subject of
scientific debate. Several theories of impact-related mass extinction
have been developed. In the past 500 million years there have been five
generally accepted major mass extinctions that on average extinguished
half of all species. One of the largest mass extinctions to have affected life on Earth was the Permian-Triassic, which ended the Permian period 250 million years ago and killed off 90 percent of all species; life on Earth took 30 million years to recover.
The cause of the Permian-Triassic extinction is still a matter of
debate; the age and origin of proposed impact craters, i.e. the Bedout High structure, hypothesized to be associated with it are still controversial. The last such mass extinction led to the demise of the non-avian dinosaurs and coincided with a large meteorite
impact; this is the Cretaceous–Paleogene extinction event (also known
as the K–T or K–Pg extinction event), which occurred 66 million years
ago. There is no definitive evidence of impacts leading to the three
other major mass extinctions.
In 1980, physicist Luis Alvarez; his son, geologist Walter Alvarez; and nuclear chemists Frank Asaro and Helen V. Michael from the University of California, Berkeley discovered unusually high concentrations of iridium in a specific layer of rock strata
in the Earth's crust. Iridium is an element that is rare on Earth but
relatively abundant in many meteorites. From the amount and distribution
of iridium present in the 65-million-year-old "iridium layer", the
Alvarez team later estimated that an asteroid of 10 to 14 km (6 to 9 mi)
must have collided with Earth. This iridium layer at the Cretaceous–Paleogene boundary has been found worldwide at 100 different sites. Multidirectionally shocked quartz (coesite), which is normally associated with large impact events or atomic bomb explosions, has also been found in the same layer at more than 30 sites. Soot and ash at levels tens of thousands times normal levels were found with the above.
Anomalies in chromium isotopic ratios found within the K-T boundary layer strongly support the impact theory.
Chromium isotopic ratios are homogeneous within the earth, and
therefore these isotopic anomalies exclude a volcanic origin, which has
also been proposed as a cause for the iridium enrichment. Further, the
chromium isotopic ratios measured in the K-T boundary are similar to the
chromium isotopic ratios found in carbonaceous chondrites.
Thus a probable candidate for the impactor is a carbonaceous asteroid,
but a comet is also possible because comets are assumed to consist of
material similar to carbonaceous chondrites.
Probably the most convincing evidence for a worldwide catastrophe was the discovery of the crater which has since been named Chicxulub Crater.
This crater is centered on the Yucatán Peninsula of Mexico and was
discovered by Tony Camargo and Glen Penfield while working as geophysicists for the Mexican oil company PEMEX.
What they reported as a circular feature later turned out to be a
crater estimated to be 180 km (110 mi) in diameter. This convinced the
vast majority of scientists that this extinction resulted from a point
event that is most probably an extraterrestrial impact and not from
increased volcanism and climate change (which would spread its main
effect over a much longer time period).
Although there is now general agreement that there was a huge
impact at the end of the Cretaceous that led to the iridium enrichment
of the K-T boundary layer, remnants have been found of other, smaller
impacts, some nearing half the size of the Chicxulub crater, which did
not result in any mass extinctions, and there is no clear linkage
between an impact and any other incident of mass extinction.
Paleontologists David M. Raup and Jack Sepkoski
have proposed that an excess of extinction events occurs roughly every
26 million years (though many are relatively minor). This led physicist Richard A. Muller to suggest that these extinctions could be due to a hypothetical companion star to the Sun called Nemesis periodically disrupting the orbits of comets in the Oort cloud, leading to a large increase in the number of comets reaching the inner Solar System where they might hit Earth. Physicist Adrian Melott and paleontologist Richard Bambach
have more recently verified the Raup and Sepkoski finding, but argue
that it is not consistent with the characteristics expected of a
Nemesis-style periodicity.
An impact event is commonly seen as a scenario that would bring about the end of civilization. In 2000, Discover magazine published a list of 20 possible sudden doomsday scenarios with an impact event listed as the most likely to occur.
A joint Pew Research Center/Smithsonian
survey from April 21 to 26, 2010 found that 31 percent of Americans
believed that an asteroid will collide with Earth by 2050. A majority
(61 percent) disagreed.
Earth impacts
In the early history of the Earth (about four billion years ago),
bolide impacts were almost certainly common since the Solar System
contained far more discrete bodies than at present. Such impacts could
have included strikes by asteroids hundreds of kilometres in diameter,
with explosions so powerful that they vaporized all the Earth's oceans.
It was not until this heavy bombardment slackened that life appears to
have begun to evolve on Earth.
Precambrian
The leading theory of the Moon's origin is the giant impact theory, which postulates that Earth was once hit by a planetoid
the size of Mars; such a theory is able to explain the size and
composition of the Moon, something not done by other theories of lunar
formation.
According to the theory of the Late Heavy Bombardment,
there should have been 22,000 or more impact craters with diameters
>20 km (12 mi), about 40 impact basins with diameters about 1,000 km
(620 mi), and several impact basins with diameters about 5,000 km
(3,100 mi). However, hundreds of millions of years of deformation at the
Earth's crust pose significant challenges to conclusively identifying
impacts from this period. Only two pieces of pristine lithosphere are
believed to remain from this era: Kaapvaal Craton (in contemporary South Africa) and Pilbara Craton
(in contemporary Western Australia) to search within which may
potentially reveal evidence in the form of physical craters. Other
methods may be used to identify impacts from this period, for example,
indirect gravitational or magnetic analysis of the mantle, but may prove
inconclusive.
In 2021, evidence for a probable impact 3.46 billion-years ago at
Pilbara Craton has been found in the form of a 150 kilometres (93 mi)
crater created by the impact of a 10 kilometres (6.2 mi) asteroid (named
"The Apex Asteroid") into the sea at a depth of 2.5 kilometres (1.6 mi)
(near the site of Marble Bar, Western Australia). The event caused global tsunamis. It is also coincidental to some of the earliest evidence of life on Earth, fossilized Stromatolites.
Evidence of a massive impact, (named S2; "S" for Spherule), in South Africa near a geological formation known as the Barberton Greenstone Belt
was uncovered by scientists in 2014. They estimated the impact occurred
at Kaapvaal Craton (South Africa) about 3.26 billion years ago and that
the impactor was approximately 37–58 kilometers (23–36 miles) wide. The
crater from this event, if it still exists, has not yet been found.
The Maniitsoq structure, dated to around 3 billion years old (3 Ga), was once thought to be the result of an impact; however, follow-up studies have not confirmed its nature as an impact structure. The Maniitsoq structure is not recognised as an impact structure by the Earth Impact Database.
In 2020, scientists discovered the world's oldest confirmed impact crater, the Yarrabubba crater, caused by an impact that occurred in Yilgarn Craton (what is now Western Australia), dated at more than 2.2 billion years ago with the impactor estimated to be around 7 kilometres (4.3 mi) wide. It is believed that, at this time, the Earth was mostly or completely frozen, commonly called the Huronian glaciation.
The Vredefort impact event, which occurred around 2 billion years ago in Kaapvaal Craton (what is now South Africa),
caused the largest verified crater, a multi-ringed structure 160–300 km
(100–200 mi) across, forming from an impactor approximately 10–15 km
(6.2–9.3 mi) in diameter.
The Sudbury impact event occurred on the Nuna supercontinent (now Canada) from a bolide approximately 10–15 km (6.2–9.3 mi) in diameter approximately 1.849 billion years ago. Debris from the event would have been scattered across the globe.
Paleozoic and Mesozoic
Two 10-kilometre sized asteroids are now believed to have struck Australia between 360 and 300 million years ago at the Western Warburton and East Warburton Basins, creating a 400-kilometre impact zone. According to evidence found in 2015, it is the largest ever recorded. A third, possible impact was also identified in 2015 to the north, on the upper Diamantina River,
also believed to have been caused by an asteroid 10 km across about 300
million years ago, but further studies are needed to establish that
this crustal anomaly was indeed the result of an impact event.
The prehistoric Chicxulub impact,
66 million years ago, believed to be the cause of the
Cretaceous–Paleogene extinction event, was caused by an asteroid
estimated to be about 10 kilometres (6.2 mi) wide.
Paleogene
Analysis of the Hiawatha Glacier
reveals the presence of a 31 km wide impact crater dated at 58 million
years of age, less than 10 million years after the Cretaceous–Paleogene
extinction event, scientists believe that the impactor was a metallic
asteroid with a diameter in the order of 1.5 kilometres (0.9 mi). The
impact would have had global effects.
Artifacts recovered with tektites from the 803,000-year-old Australasian strewnfield event in Asia link a Homo erectus population to a significant meteorite impact and its aftermath. Significant examples of Pleistocene impacts include the Lonar crater lake
in India, approximately 52,000 years old (though a study published in
2010 gives a much greater age), which now has a flourishing
semi-tropical jungle around it.
The Rio Cuarto craters
in Argentina were produced approximately 10,000 years ago, at the
beginning of the Holocene. If proved to be impact craters, they would be
the first impact of the Holocene.
The Campo del Cielo ("Field of Heaven") refers to an area bordering Argentina's Chaco Province
where a group of iron meteorites were found, estimated as dating to
4,000–5,000 years ago. It first came to attention of Spanish authorities
in 1576; in 2015, police arrested four alleged smugglers trying to
steal more than a tonne of protected meteorites. The Henbury craters in Australia (~5,000 years old) and Kaali craters in Estonia (~2,700 years old) were apparently produced by objects that broke up before impact.
Whitecourt crater
in Alberta, Canada is estimated to be between 1,080 and 1,130 years
old. The crater is approximately 36 m (118 ft) in diameter and 9 m
(30 ft) deep, is heavily forested and was discovered in 2007 when a
metal detector revealed fragments of meteoric iron scattered around the
area.
A Chinese record states that 10,000 people were killed in the 1490 Qingyang event
with the deaths caused by a hail of "falling stones"; some astronomers
hypothesize that this may describe an actual meteorite fall, although
they find the number of deaths implausible.
Kamil Crater, discovered from Google Earth image review in Egypt,
45 m (148 ft) in diameter and 10 m (33 ft) deep, is thought to have
been formed less than 3,500 years ago in a then-unpopulated region of
western Egypt. It was found February 19, 2009 by V. de Michelle on a
Google Earth image of the East Uweinat Desert, Egypt.
20th-century impacts
One of the best-known recorded impacts in modern times was the Tunguska event, which occurred in Siberia, Russia, in 1908.
This incident involved an explosion that was probably caused by the
airburst of an asteroid or comet 5 to 10 km (3.1 to 6.2 mi) above the
Earth's surface, felling an estimated 80 million trees over 2,150 km2 (830 sq mi).
In February 1947, another large bolide impacted the Earth in the Sikhote-Alin Mountains, Primorye, Soviet Union. It was during daytime hours and was witnessed by many people, which allowed V. G. Fesenkov,
then chairman of the meteorite committee of the USSR Academy of
Science, to estimate the meteoroid's orbit before it encountered the
Earth. Sikhote-Alin is a massive fall with the overall size of the meteoroid
estimated at 90,000 kg (200,000 lb). A more recent estimate by Tsvetkov
(and others) puts the mass at around 100,000 kg (220,000 lb). It was an iron meteorite belonging to the chemical group IIAB and with a coarse octahedrite structure. More than 70 tonnes (metric tons) of material survived the collision.
A case of a human injured by a space rock occurred on November 30, 1954, in Sylacauga, Alabama.
There a 4 kg (8.8 lb) stone chondrite crashed through a roof and hit
Ann Hodges in her living room after it bounced off her radio. She was
badly bruised by the fragments. Several persons have since claimed to have been struck by "meteorites" but no verifiable meteorites have resulted.
A small number of meteorite falls have been observed with automated cameras and recovered following calculation of the impact point. The first was the Příbram meteorite, which fell in Czechoslovakia (now the Czech Republic) in 1959.
In this case, two cameras used to photograph meteors captured images of
the fireball. The images were used both to determine the location of
the stones on the ground and, more significantly, to calculate for the
first time an accurate orbit for a recovered meteorite.
Following the Příbram fall, other nations established automated observing programs aimed at studying infalling meteorites. One of these was the Prairie Meteorite Network, operated by the Smithsonian Astrophysical Observatory
from 1963 to 1975 in the midwestern U.S. This program also observed a
meteorite fall, the "Lost City" chondrite, allowing its recovery and a
calculation of its orbit.
Another program in Canada, the Meteorite Observation and Recovery
Project, ran from 1971 to 1985. It too recovered a single meteorite,
"Innisfree", in 1977.
Finally, observations by the European Fireball Network, a descendant of
the original Czech program that recovered Příbram, led to the discovery
and orbit calculations for the Neuschwanstein meteorite in 2002.
On August 10, 1972, a meteor which became known as the 1972 Great Daylight Fireball was witnessed by many people as it moved north over the Rocky Mountains from the U.S. Southwest to Canada. It was filmed by a tourist at the Grand Teton National Park in Wyoming with an 8-mm color movie camera.
In size range the object was roughly between a car and a house, and
while it could have ended its life in a Hiroshima-sized blast, there was
never any explosion. Analysis of the trajectory indicated that it never
came much lower than 58 km (36 mi) off the ground, and the conclusion
was that it had grazed Earth's atmosphere for about 100 seconds, then
skipped back out of the atmosphere to return to its orbit around the
Sun.
Many impact events occur without being observed by anyone on the ground. Between 1975 and 1992, American missile early warning satellites picked up 136 major explosions in the upper atmosphere. In the November 21, 2002, edition of the journal Nature,
Peter Brown of the University of Western Ontario reported on his study
of U.S. early warning satellite records for the preceding eight years.
He identified 300 flashes caused by 1 to 10 m (3 to 33 ft) meteors in
that time period and estimated the rate of Tunguska-sized events as once
in 400 years. Eugene Shoemaker
estimated that an event of such magnitude occurs about once every 300
years, though more recent analyses have suggested he may have
overestimated by an order of magnitude.
In the dark morning hours of January 18, 2000, a fireball exploded over the city of Whitehorse, Yukon Territory
at an altitude of about 26 km (16 mi), lighting up the night like day.
The meteor that produced the fireball was estimated to be about 4.6 m
(15 ft) in diameter, with a weight of 180 tonnes. This blast was also
featured on the Science Channel series Killer Asteroids, with several witness reports from residents in Atlin, British Columbia.
On 7 June 2006, a meteor was observed striking Reisadalen in Nordreisa municipality in Troms County, Norway. Although initial witness reports stated that the resultant fireball was equivalent to the Hiroshima nuclear explosion, scientific analysis places the force of the blast at anywhere from 100 to 500 tonnes TNT equivalent, around three percent of Hiroshima's yield.
On 15 September 2007, a chondritic meteor crashed near the village of Carancas in southeastern Peru near Lake Titicaca,
leaving a water-filled hole and spewing gases across the surrounding
area. Many residents became ill, apparently from the noxious gases
shortly after the impact.
On 7 October 2008, an approximately 4 m asteroid labeled 2008 TC3
was tracked for 20 hours as it approached Earth and as it fell through
the atmosphere and impacted in Sudan. This was the first time an object
was detected before it reached the atmosphere and hundreds of pieces of
the meteorite were recovered from the Nubian Desert.
On 15 February 2013, an asteroid entered Earth's atmosphere over Russia as a fireball and exploded above the city of Chelyabinsk during its passage through the Ural Mountains region at 09:13 YEKT (03:13 UTC). The object's air burst occurred at an altitude between 30 and 50 km (19 and 31 mi) above the ground,
and about 1,500 people were injured, mainly by broken window glass
shattered by the shock wave. Two were reported in serious condition;
however, there were no fatalities.
Initially some 3,000 buildings in six cities across the region were
reported damaged due to the explosion's shock wave, a figure which rose
to over 7,200 in the following weeks. The Chelyabinsk meteor was estimated to have caused over $30 million in damage. It is the largest recorded object to have encountered the Earth since the 1908 Tunguska event.
The meteor is estimated to have an initial diameter of 17–20 metres and
a mass of roughly 10,000 tonnes. On 16 October 2013, a team from Ural
Federal University led by Victor Grokhovsky recovered a large fragment
of the meteor from the bottom of Russia's Lake Chebarkul, about 80 km
west of the city.
On 1 January 2014, a 3 m (10 ft) asteroid, 2014 AA, was discovered by the Mount Lemmon Survey
and observed over the next hour, and was soon found to be on a
collision course with Earth. The exact location was uncertain,
constrained to a line between Panama, the central Atlantic Ocean, The Gambia,
and Ethiopia. Around roughly the time expected (2 January 3:06 UTC) an
infrasound burst was detected near the center of the impact range, in
the middle of the Atlantic Ocean. This marks the second time a natural object was identified prior to impacting earth after 2008 TC3.
Nearly two years later, on October 3, WT1190F was detected orbiting Earth on a highly eccentric orbit, taking it from well within the Geocentric satellite ring
to nearly twice the orbit of the Moon. It was estimated to be perturbed
by the Moon onto a collision course with Earth on November 13. With
over a month of observations, as well as precovery observations found
dating back to 2009, it was found to be far less dense than a natural
asteroid should be, suggesting that it was most likely an unidentified
artificial satellite. As predicted, it fell over Sri Lanka
at 6:18 UTC (11:48 local time). The sky in the region was very
overcast, so only an airborne observation team was able to successfully
observe it falling above the clouds. It is now thought to be a remnant
of the Lunar Prospector mission in 1998, and is the third time any previously unknown object – natural or artificial – was identified prior to impact.
On 22 January 2018, an object, A106fgF, was discovered by the Asteroid Terrestrial-impact Last Alert System (ATLAS) and identified as having a small chance of impacting Earth later that day.
As it was very dim, and only identified hours before its approach, no
more than the initial 4 observations covering a 39-minute period were
made of the object. It is unknown if it impacted Earth or not, but no
fireball was detected in either infrared or infrasound, so if it did, it
would have been very small, and likely near the eastern end of its
potential impact area – in the western Pacific Ocean.
On 2 June 2018, the Mount Lemmon Survey detected 2018 LA
(ZLAF9B2), a small 2–5 m asteroid which further observations soon found
had an 85% chance of impacting Earth. Soon after the impact, a fireball
report from Botswana arrived to the American Meteor Society.
Further observations with ATLAS extended the observation arc from 1
hour to 4 hours and confirmed that the asteroid orbit indeed impacted
Earth in southern Africa, fully closing the loop with the fireball
report and making this the third natural object confirmed to impact
Earth, and the second on land after 2008 TC3.
On 8 March 2019, NASA announced the detection of a large airburst that occurred on 18 December 2018 at 11:48 local time off the eastern coast of the Kamchatka Peninsula. The Kamchatka superbolide
is estimated to have had a mass of roughly 1600 t, and a diameter of 9
to 14 m depending on its density, making it the third largest asteroid
to impact Earth since 1900, after the Chelyabinsk meteor and the
Tunguska event. The fireball exploded in an airburst 25.6 kilometres
(15.9 mi) above Earth's surface.
2019 MO, an approximately 4 m asteroid, was detected by ATLAS a few hours before it impacted the Caribbean Sea near Puerto Rico in June 2019.
In 2023, a small meteorite is believed to have crashed through
the roof of a home in Trenton, New Jersey. The metallic rock was
approximately 4 inches by 6 inches and weighed 4 pounds. The item was
seized by police and tested for radioactivity.
The object was later confirmed to be a meteorite by scientists at The
College of New Jersey, as well as meteorite expert Jerry Delaney, who
previously worked at Rutgers University and the American Museum of
Natural History.
In the late 20th and early 21st century scientists put in place measures to detect Near Earth objects, and predict the dates and times of asteroids impacting Earth, along with the locations at which they will impact. The International Astronomical UnionMinor Planet Center (MPC) is the global clearing house for information on asteroid orbits. NASA's Sentry System continually scans the MPC catalog of known asteroids, analyzing their orbits for any possible future impacts. Currently none are predicted (the single highest probability impact currently listed is ~7 m asteroid 2010 RF12, which is due to pass earth in September 2095 with only a 5% predicted chance of impacting).
Currently prediction is mainly based on cataloging asteroids years before they are due to impact. This works well for larger asteroids (> 1 km across) as they are easily seen from a long distance. Over 95% of them are already known and their orbits
have been measured, so any future impacts can be predicted long before
they are on their final approach to Earth. Smaller objects are too faint
to observe except when they come very close and so most cannot be
observed before their final approach. Current mechanisms for detecting
asteroids on final approach rely on wide-field ground based telescopes,
such as the ATLAS system. However, current telescopes only cover part
of the Earth and even more importantly cannot detect asteroids on the
day-side of the planet, which is why so few of the smaller asteroids
that commonly impact Earth are detected during the few hours that they
would be visible.
So far only four impact events have been successfully predicted, all
from innocuous 2–5 m diameter asteroids and detected a few hours in
advance.
Ground based telescopes can only detect objects approaching on the night-side of the planet, away from the Sun. Roughly half of impacts occur on the day-side of the planet.
In April 2018, the B612 Foundation reported "It's 100 per cent certain we’ll be hit [by a devastating asteroid], but we're not 100 per cent certain when." Also in 2018, physicistStephen Hawking, in his final book Brief Answers to the Big Questions, considered an asteroid collision to be the biggest threat to the planet. In June 2018, the US National Science and Technology Council warned that America is unprepared for an asteroid impact event, and has developed and released the "National Near-Earth Object Preparedness Strategy Action Plan" to better prepare. According to expert testimony in the United States Congress in 2013, NASA would require at least five years of preparation to launch a mission to intercept an asteroid. The preferred method is to deflect rather than disrupt an asteroid.
Impact craters provide evidence of past impacts on other planets in
the Solar System, including possible interplanetary terrestrial impacts.
Without carbon dating, other points of reference are used to estimate
the timing of these impact events. Mars provides some significant
evidence of possible interplanetary collisions. The North Polar Basin
on Mars is speculated by some to be evidence for a planet-sized impact
on the surface of Mars between 3.8 and 3.9 billion years ago, while Utopia Planitia is the largest confirmed impact and Hellas Planitia is the largest visible crater in the Solar System. The Moon provides similar evidence of massive impacts, with the South Pole–Aitken basin being the biggest. Mercury's Caloris Basin is another example of a crater formed by a massive impact event. Rheasilvia on Vesta
is an example of a crater formed by an impact capable of, based on
ratio of impact to size, severely deforming a planetary-mass object.
Impact craters on the moons of Saturn such as Engelier and Gerin on Iapetus, Mamaldi on Rhea and Odysseus on Tethys and Herschel on Mimas form significant surface features. Models developed in 2018 to explain the unusual spin of Uranus support a long-held theory that this was caused by an oblique collision with a massive object twice the size of Earth.
Jupiter is the most massive planet in the Solar System, and because of its large mass it has a vast sphere of gravitational influence, the region of space where an asteroid capture can take place under favorable conditions.
Jupiter is able to capture comets
in orbit around the Sun with a certain frequency. In general, these
comets travel some revolutions around the planet following unstable
orbits as highly elliptical and perturbable by solar gravity. While some
of them eventually recover a heliocentric orbit, others crash on the planet or, more rarely, on its satellites.
In addition to the mass factor, its relative proximity to the
inner solar system allows Jupiter to influence the distribution of minor
bodies there. For a long time it was believed that these
characteristics led the gas giant to expel from the system or to attract
most of the wandering objects in its vicinity and, consequently, to
determine a reduction in the number of potentially dangerous objects for
the Earth. Subsequent dynamic studies have shown that in reality the
situation is more complex: the presence of Jupiter, in fact, tends to
reduce the frequency of impact on the Earth of objects coming from the Oort cloud, while it increases it in the case of asteroids and short period comets.
For this reason Jupiter is the planet of the Solar System
characterized by the highest frequency of impacts, which justifies its
reputation as the "sweeper" or "cosmic vacuum cleaner" of the Solar
System.
2009 studies suggest an impact frequency of one every 50–350 years, for
an object of 0.5–1 km in diameter; impacts with smaller objects would
occur more frequently. Another study estimated that comets 0.3 km
(0.19 mi) in diameter impact the planet once in approximately 500 years
and those 1.6 km (0.99 mi) in diameter do so just once in every 6,000
years.
The 2009 impact event happened on July 19 when a new black spot about the size of Earth was discovered in Jupiter's southern hemisphere by amateur astronomerAnthony Wesley. Thermal infrared analysis showed it was warm and spectroscopic methods detected ammonia. JPL
scientists confirmed that there was another impact event on Jupiter,
probably involving a small undiscovered comet or other icy body. The impactor is estimated to have been about 200–500 meters in diameter.
Later minor impacts were observed by amateur astronomers in 2010, 2012, 2016, and 2017; one impact was observed by Juno in 2020.
In 1998, two comets were observed plunging toward the Sun
in close succession. The first of these was on June 1 and the second
the next day. A video of this, followed by a dramatic ejection of solar
gas (unrelated to the impacts), can be found at the NASA website. Both of these comets evaporated before coming into contact with the surface of the Sun. According to a theory by NASA Jet Propulsion Laboratory scientist Zdeněk Sekanina, the latest impactor to actually make contact with the Sun was the "supercomet" Howard-Koomen-Michels on August 30, 1979. (See also sungrazer.)
In 2010, between January and May, Hubble's Wide Field Camera 3 took images of an unusual X shape originated in the aftermath of the collision between asteroid P/2010 A2 with a smaller asteroid.
Around March 27, 2012, based on evidence, there were signs of an impact on Mars. Images from the Mars Reconnaissance Orbiter
provide compelling evidence of the largest impact observed to date on
Mars in the form of fresh craters, the largest measuring 48.5 by 43.5
meters. It is estimated to be caused by an impactor 3 to 5 meters long.
On March 19, 2013, an impact occurred on the Moon that was
visible from Earth, when a boulder-sized 30 cm meteoroid slammed into
the lunar surface at 90,000 km/h (25 km/s; 56,000 mph) creating a
20-meter crater. NASA has actively monitored lunar impacts since 2005, tracking hundreds of candidate events.
On 18 September 2021 an impact event on Mars formed a cluster of
craters, the largest being 130m in diameter. On 24 December 2021 an
impact created a 150m-wide crater. Debris was ejected up to 35 km (19
miles) from the impact site.
Extrasolar impacts
Collisions between galaxies, or galaxy mergers,
have been observed directly by space telescopes such as Hubble and
Spitzer. However, collisions in planetary systems including stellar collisions, while long speculated, have only recently begun to be observed directly.
In 2013, an impact between minor planets was detected around the
star NGC 2547 ID 8 by Spitzer and confirmed by ground observations.
Computer modelling suggests that the impact involved large asteroids or protoplanets similar to the events believed to have led to the formation of terrestrial planets like the Earth.