.NET Technology

basiliskcanoeSoftware and s/w Development

Nov 2, 2013 (4 years and 7 days ago)

100 views

.NET Technology

Introduction


Overview of .NET


What .NET means for Developers, Users
and Businesses


Two .NET Research Projects:


.NET Generics


AsmL



What Is .NET?


Initiative launched in 2002


Comprehensive family of products


Helps BUILD, MANAGE, USE and
EXPERIENCE Web Services


Web Service:


Reusable piece of code accessed directly by
another service or software application


Programs written in
any language

on
any
platform

.NET Platform

O’Reilly, 2002



Consists of 5 main components

.NET Building

Block Services

.NET Framework

.NET Enterprise
Servers

Operating system on servers, desktops and devices

Visual Studio .NET

Common Language Runtime (CLR):


Manages memory, security and language
integration


Features include s
trong type names, cross
language debugging, dynamic binding

.NET Framework

Two main components:

1. Common Language RunTime (CLR)

2. .NET Framework Class Library

.Net Framework (cont.)

.NET Framework Class Library



Supplies resources needed to build
applications


Unified classes


3 components:



ASP.NET (build Web applications/services)


Windows Forms (user interface development)


ADO.NET (help connect applications to
databases)

Summary of Benefits


Helps develop Windows applications


Reuse of existing code


Easy integration of languages


Same tools/skills to build for a wide range of
devices.


Facilitates deployment and maintenance
of software


Improved reliability, scalability,
performance and security

.NET Services for Consumers
and Businesses

Aim of .NET for Users

What does .NET mean for users?


Software for connecting people,
information, systems and devices.


Main Goal


A concept called “The .NET Experience”


Ongoing research

.NET User Experience


Provides a more personal experience for
the user by connecting web services


Example


household utility controls


Why is the .NET Experience unique?



Each device generates a different interface



Location
-
independent



Personalised

.NET Services

Future research: To create new services and
expand existing services, such as:


.NET Alerts


.NET MapPoint Web Service


.NET My Services


.NET Passport


.NET for Retail

.NET Passport (Any time, Any
place, on Any device)


What is .NET Passport?


Authentication service


Universal login


Deliver a more personal experience with user profile


What are the benefits?


For consumers (convenient and secure)


For businesses (adds value to all sites supporting Passport)


What is the future?


Stronger authentication forms


Streamline services


Interoperate with other authentication systems

.NET Generics

.NET Generics


What is it?


Allows a developer to write code without specifying
too many implementation details.


Generics
-

'Not Having a Brand Name‘


e.g. generic washing up liquid


Extension to the CLR's type system


e.g. GenericSortedList<T>


Serves similar purpose as templates in
C++.


Benefits of .NET Generics


Type Safety


Removes the need for implicit casting


Check type at compile time not run time.


Binary Code Reuse


SortedListOfStrings


Only for Strings


Performance


No casts


Clarity


Constraints

Future Development of .NET
Generics


Some support for .NET Generics is being
released as part Visual Studio 2005, but
limited



Future release aim to:


Support more languages


Make it possible to constrain operators.

AsmL:

Abstract State
Machine Language

AsmL
-

Abstract State Machine
Language


Specification language


Influenced by Z and VDM


Specifications are executable


Precise and unambiguous way to specify system


Can test/prove implementation satisfies
specification


Not implementation: non
-
determinism


Supports all .NET structuring mechanisms.

Abstract State Machines


Program is series of states


State represented by first order structure


Function describes movement between
states (atomic)





Model algorithms at natural level of
abstraction

S
1

-------
> S
2

------
> S
3
-----
> . . .
----
> S
n


f(S
1
)


f(S
2
)


f(S
3
)


f(S
n
-
1
)

Execution of Program

AsmL Specifications



Sorting a list A:






Non
-
deterministically chooses elements to
swap.


Specifies updates leading to next state.



class Model Swap()


Choose i in Indices(A), j in Indices(A)


where i < j and A(i) > A(j)


A(j) := A(i)


A(i) := A(j)

Benefits


Precise and unambiguous way to specify
system (safety critical system)


Allow teams to communicate design
decisions


Can execute specifications


Before commit to coding entire system can
answer fundamental questions


Verify implementation by running in
conjunction with specification

The Future of AsmL


Version of AsmL released 2004


Free download

http://research.microsoft.com/foundations/AsmL


MS plans to increase its use in internal
applications


Still investigating:


Automatic test
-
case generation of
specifications


Automatic verification of specifications using
theorem proving techniques

Summary

We have outlined:


What .NET is.


What .NET means for users, developers
and businesses.


The future hope of a ‘.NET Experience’


2 ongoing research projects on .NET.



Any Questions?