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 OReilly, 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 strong 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
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
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 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 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 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.