CAST ARCHITECTURE CHECKER

Even the most beautiful architecture
can be ruined by a single line of code.
Gartner Research
Architectural Challenges

Confidential

The integration of systems, applications into products
and services provides most of the differentiated value
in today's marketplace. Simultaneously integration
challenges represent the primary sources of
uncertainty, complexity, and cost of developing and
maintaining systems. The ability to monitor system
adherence to architecture is central to successful
system modifications and ensuring system integrity.
Architectural challenges:
•

Complexity - As systems evolve its complexity
increases unless work is done to maintain or
reduce it.

•

Ivory tower - Grand designs are thrust from above
with little implementation guidance.

•

Developer / Architect Disconnect - Developer’s
don’t understand the architecture and architects
don’t understand the code - and there’s no check
that implementation matches the design.

•

Big architecture upfront in an agile world - Trying
to do everything upfront when an evolutionary
approach is needed.

“There are two ways of
constructing a software
design: One way is to make
it so simple that there are
obviously no deficiencies,
and the other way is to make
it so complicated that there
are no obvious deficiencies.
The first method is far more
difficult.”
C.A.R. Hoare
CAST Confidential

2
Value of Visibility into Architecture
Protects design patterns from degradation
Developers lack of understanding of architectural
decisions and design patterns contributes to
architectural drift over time. Lack of visibility into
the implementation prevent objective assessment
of architecture state versus its intended design.

Confidential

Creates more secure systems
50% of security problems result from design flaws.
You cannot find design defects by staring at code higher-level architectural risk analysis and checks
are essential to building secure systems.
Reduces the impact of architectural defects
Architectural defects or multi-component code
Defects (MCD) require changes to multiple
components. Although they consist of less than
10% of known defects they require 20 times more
changes to remediate – accounting over 50% of all
remediation effort. Eliminating MCDs represents
the single greatest opportunity to reduce technical
debt.

“Most software today
is very much like an
Egyptian pyramid with
millions of bricks piled on
top of each other, with no
structural integrity, but
just done by brute force
and thousands of slaves.”

(Gary McGraw in Build Security In)

Alan Kay

Li, et al., ( 2011). Characteristics of multi-component defects and architectural hotspots: A large
system case study. Empirical Software Engineering, 16 (5), 667-702.

CAST Confidential

3
CAST Architecture Checker
CAST Architecture Checker allows you describe the
layers and dependencies of a system to enable an
automated verification of the implementation
against its design.
Through a visual interface you can describe the
architecture, system dependencies and define rules
that are used to verify the architecture.

Confidential

As part of the CAST Application Intelligence
Platform, Architecture Checker enhances
architectural analysis with code quality metrics and
application health scores along with the compliance
feedback of the actual applications construction.
Architecture conformance ensures that the system:



Adheres to the stated architectural principles
such as open source.



4

Adheres to the stated standards including syntax
and semantic rules specified.



CAST Confidential

Provides the required functionality.

Is implemented as designed and verifies code
reuse and frameworks.
Visually Define Critical Applications

Confidential

Access library of layers or
objects to describe your
application.

Drag and drop library components
to define application layers.

A Layer is a list of conditions generated from a CAST analysis. Drag and drop from
the Layer & Sets menu to define the various layers and their relationships.
CAST Confidential

5
Confidential

Define Application Layers and Dependencies

Define authorized or
forbidden dependencies

Depending on your requirement, you can describe an application by defining
authorized dependencies between layers or define forbidden dependencies.
CAST Confidential

6
Interactive Architecture Compliance Checking

The architectural description
becomes a CAST Quality Rule.

Confidential

The rule is used to verify the
application each time a CAST
analysis is performed.

Reports of rule compliance informs adoption of frameworks and reuse practices.
CAST Confidential

7
Confidential

Automated Compliance Against Design

Select the Red links to view a
list of violations. You can see
both the caller and the called
object as well the source code.

Frameworks have taken a huge place in IT
appl. Dev Still this not well mastered by IT
& SI teams, thus need for strong checks

End-to-end analysis of different languages, technologies and roles
is mandatory for objective and effective architectural analysis.
CAST Confidential

8
Automated Architectural Compliance
Visibility - IT leaders in large organizations must be
certain that the software architectural design is
being implemented and adhered to. But in an era
when more developers are deploying and coding
faster than ever, architectural reviews need to
happen at the speed of your development teams’
deployment.

Confidential

Define architectural guidelines at the beginning of
your project. Then perform consistent checks with
each new iteration to ensure compliance.

Avoid Risk – Catching architectural errors early
will reduce the cost and risk of outages in the
short term while reducing the maintenance
effort of the system over its lifespan.
Communicate – Documenting and sharing
architectural dependencies while including real
time feedback to development teams leads to
high quality and high performing systems.

“He that will not
apply new remedies
must expect new
evils; for time is the
greatest innovator. ”
Francis Bacon

CAST Confidential

9
About CAST

Confidential

CAST is a pioneer and world leader in Software
Analysis and Measurement, with unique
technology resulting from more than $100
million in R&D investment. CAST introduces
fact-based transparency into application
development and sourcing to transform it
into a management discipline. More than 250
companies across all industry sectors and
geographies rely on CAST to prevent business
disruption while reducing hard IT costs.
CAST is an integral part of software delivery
and maintenance at the world's leading IT
service providers such as IBM and Capgemini.
Founded in 1990, CAST is listed on NYSEEuronext (Euronext: CAS) and serves IT intensive
enterprises worldwide with a network of offices
in North America, Europe and India. For more
information, visit www.castsoftware.com
“Out of clutter
find simplicity.”
Albert Einstein
CAST Confidential

10

CAST Architecture Checker

  • 1.
    CAST ARCHITECTURE CHECKER Eventhe most beautiful architecture can be ruined by a single line of code. Gartner Research
  • 2.
    Architectural Challenges Confidential The integrationof systems, applications into products and services provides most of the differentiated value in today's marketplace. Simultaneously integration challenges represent the primary sources of uncertainty, complexity, and cost of developing and maintaining systems. The ability to monitor system adherence to architecture is central to successful system modifications and ensuring system integrity. Architectural challenges: • Complexity - As systems evolve its complexity increases unless work is done to maintain or reduce it. • Ivory tower - Grand designs are thrust from above with little implementation guidance. • Developer / Architect Disconnect - Developer’s don’t understand the architecture and architects don’t understand the code - and there’s no check that implementation matches the design. • Big architecture upfront in an agile world - Trying to do everything upfront when an evolutionary approach is needed. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” C.A.R. Hoare CAST Confidential 2
  • 3.
    Value of Visibilityinto Architecture Protects design patterns from degradation Developers lack of understanding of architectural decisions and design patterns contributes to architectural drift over time. Lack of visibility into the implementation prevent objective assessment of architecture state versus its intended design. Confidential Creates more secure systems 50% of security problems result from design flaws. You cannot find design defects by staring at code higher-level architectural risk analysis and checks are essential to building secure systems. Reduces the impact of architectural defects Architectural defects or multi-component code Defects (MCD) require changes to multiple components. Although they consist of less than 10% of known defects they require 20 times more changes to remediate – accounting over 50% of all remediation effort. Eliminating MCDs represents the single greatest opportunity to reduce technical debt. “Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.” (Gary McGraw in Build Security In) Alan Kay Li, et al., ( 2011). Characteristics of multi-component defects and architectural hotspots: A large system case study. Empirical Software Engineering, 16 (5), 667-702. CAST Confidential 3
  • 4.
    CAST Architecture Checker CASTArchitecture Checker allows you describe the layers and dependencies of a system to enable an automated verification of the implementation against its design. Through a visual interface you can describe the architecture, system dependencies and define rules that are used to verify the architecture. Confidential As part of the CAST Application Intelligence Platform, Architecture Checker enhances architectural analysis with code quality metrics and application health scores along with the compliance feedback of the actual applications construction. Architecture conformance ensures that the system:   Adheres to the stated architectural principles such as open source.  4 Adheres to the stated standards including syntax and semantic rules specified.  CAST Confidential Provides the required functionality. Is implemented as designed and verifies code reuse and frameworks.
  • 5.
    Visually Define CriticalApplications Confidential Access library of layers or objects to describe your application. Drag and drop library components to define application layers. A Layer is a list of conditions generated from a CAST analysis. Drag and drop from the Layer & Sets menu to define the various layers and their relationships. CAST Confidential 5
  • 6.
    Confidential Define Application Layersand Dependencies Define authorized or forbidden dependencies Depending on your requirement, you can describe an application by defining authorized dependencies between layers or define forbidden dependencies. CAST Confidential 6
  • 7.
    Interactive Architecture ComplianceChecking The architectural description becomes a CAST Quality Rule. Confidential The rule is used to verify the application each time a CAST analysis is performed. Reports of rule compliance informs adoption of frameworks and reuse practices. CAST Confidential 7
  • 8.
    Confidential Automated Compliance AgainstDesign Select the Red links to view a list of violations. You can see both the caller and the called object as well the source code. Frameworks have taken a huge place in IT appl. Dev Still this not well mastered by IT & SI teams, thus need for strong checks End-to-end analysis of different languages, technologies and roles is mandatory for objective and effective architectural analysis. CAST Confidential 8
  • 9.
    Automated Architectural Compliance Visibility- IT leaders in large organizations must be certain that the software architectural design is being implemented and adhered to. But in an era when more developers are deploying and coding faster than ever, architectural reviews need to happen at the speed of your development teams’ deployment. Confidential Define architectural guidelines at the beginning of your project. Then perform consistent checks with each new iteration to ensure compliance. Avoid Risk – Catching architectural errors early will reduce the cost and risk of outages in the short term while reducing the maintenance effort of the system over its lifespan. Communicate – Documenting and sharing architectural dependencies while including real time feedback to development teams leads to high quality and high performing systems. “He that will not apply new remedies must expect new evils; for time is the greatest innovator. ” Francis Bacon CAST Confidential 9
  • 10.
    About CAST Confidential CAST isa pioneer and world leader in Software Analysis and Measurement, with unique technology resulting from more than $100 million in R&D investment. CAST introduces fact-based transparency into application development and sourcing to transform it into a management discipline. More than 250 companies across all industry sectors and geographies rely on CAST to prevent business disruption while reducing hard IT costs. CAST is an integral part of software delivery and maintenance at the world's leading IT service providers such as IBM and Capgemini. Founded in 1990, CAST is listed on NYSEEuronext (Euronext: CAS) and serves IT intensive enterprises worldwide with a network of offices in North America, Europe and India. For more information, visit www.castsoftware.com “Out of clutter find simplicity.” Albert Einstein CAST Confidential 10

Editor's Notes

  • #3 I getyour point but i have the impression thatyou are advocating for a retro engineering tool